On this page

Wire monitors industry developments for every topic in your site. It searches the web, evaluates each article for relevance, synthesizes findings into executive summaries, integrates updates into existing pages, and publishes weekly market reports as blog posts. The entire pipeline runs with one command per step, and every aspect of the research focus and editorial voice is configurable through natural language.

How News Gathering Works

python -m wire.chief news products

For each page in the topic, Wire runs a web search for recent developments. Each result goes through a junior-senior evaluation pattern, a deliberate architectural choice borrowed from how newsrooms actually work.

Why Junior-Senior, Not Single-Pass

A single AI call processing 20 articles at once produces worse results than individual evaluation followed by synthesis. Three reasons:

  1. Context contamination. When the AI sees 20 articles simultaneously, it blends facts across sources. A funding round from Company A leaks into Company B's summary. Junior-senior prevents this because each junior evaluation is isolated.
  2. Source classification accuracy. Each article needs classification as vendor-origin (press release, company blog) or third-party (analyst report, news outlet). This classification affects how much weight the information carries. A single-pass system cannot maintain source discipline across 20 articles.
  3. Cost efficiency through early filtering. Junior evaluations that return nothing (irrelevant articles) prevent those articles from consuming tokens in the synthesis pass. With typical relevance rates of 30-40%, this saves 60-70% of synthesis tokens.

Junior evaluation. The AI reads each article and decides: is this relevant to the page? If yes, it extracts bulleted key facts, classifies the source (vendor-origin vs third-party), and scores relevance. If no, it returns nothing. Each article is one AI call. Evaluations run in parallel via ThreadPoolExecutor.

Senior synthesis. All relevant junior reports for a page are combined into a single executive summary. The senior sees all evaluations together and produces a coherent news update that captures the full picture, not just individual articles.

The output is saved as a pending news file alongside the page (docs/products/acme/2026-03-10.md). It waits there until you run refine.

News Freshness by Topic

Different topics need different update frequencies. A vendor page in a fast-moving market needs monthly checks. A reference guide needs updates every four months.

Wire reads freshness intervals from your site config:

# wire.yml
extra:
  wire:
    refresh_days:
      products: 21       # Check every 3 weeks
      capabilities: 60   # Every 2 months
      guides: 120         # Every 4 months
      comparisons: 0      # Never (auto-generated)

The audit command flags pages that have not been updated within their freshness window. The news command respects these intervals and skips topics set to 0.

Tracker Files

When a news search finds nothing relevant, Wire saves a tracker file instead of an empty result. The tracker records that a search was performed, so Wire does not repeat it unnecessarily.

When refine runs, it detects tracker-only pages and skips the API call. No cost for empty news cycles. The tracker still archives so Wire knows when the last search happened.

Integrating News into Pages

python -m wire.chief refine products

Refine reads all pending news files for each page, feeds them to the AI alongside the current content and search data, and produces an updated version. The AI sees editorial rules that prevent it from removing existing content, breaking internal links, or creating source concentration.

After integration, news files move to news/ in the page directory. Wire never re-processes archived news.

What Refine Actually Does

Refine is not a simple append. For each page with pending news, Wire builds a complete context for the AI:

  1. Current page content. The full markdown of the existing page.
  2. Pending news files. All unarchived news summaries from the junior-senior evaluation.
  3. Search data from Google Search Console. Which queries bring users to this page, what positions they rank at, and which keywords represent opportunities (position 4-30 with high impressions).
  4. Source diversity analysis. If the page over-cites a single domain, Wire flags this and provides URLs of primary sources from the news files to swap in.
  5. Internal link context. The site directory showing all other pages, so the AI can add relevant cross-links.

The AI then rewrites the page, preserving the existing structure while weaving in new developments. It follows strict rules: delete generic filler ("In today's rapidly evolving landscape..."), incorporate temporal context ("As of March 2026..."), and format source memory as structured entries so future runs can trace where every fact came from.

Save-Then-Archive Safety

Refine always saves the updated page first, then archives the news files. If the save succeeds but archiving fails, the news files remain available for retry. This ordering prevents data loss. Re-processing the same news is harmless (the page already contains the information); losing an update is not.

Discovery Auto-Regeneration

When refine changes a page's H2 headings and a steps.md already exists, Wire automatically regenerates the discovery reading layer. Wire captures the H2 anchor IDs before the AI call and compares them after. If any changed, a new steps file is generated. Pages without an existing steps.md are not affected. Wire does not create discovery steps from scratch during refine.

What Happens with Empty Searches

When all news files for a page are tracker-only (the search found nothing relevant), Wire archives them without calling the AI. No cost for empty news cycles. The tracker still records that a search happened, so Wire knows when the last check was and does not repeat it prematurely.

Weekly Market Intelligence Reports

Wire produces Gartner-quality market reports from accumulated news across all topics. This is a three-phase map-reduce pipeline.

python -m wire.chief newsweek --from 2026-03-03 --to 2026-03-10

Phase 1: Extract and Rate. Wire batches all news files from the date range and sends them to the AI in groups. Each article gets a newsworthiness rating (1-5 stars). Only three-star and above items pass to the next phase. This costs a few dollars for 20 batches.

Phase 2: Synthesize. All curated extracts, trending search keywords, and the full site directory go into a single AI call. The output is a thematic market report organized by strategic significance, not by date or source. Cost: under a dollar.

Phase 3: Review. An optional editorial pass verifies internal links, tightens prose, and ensures the report matches the site's editorial voice. Skippable with --skip-review.

Resynth mode. If you want to iterate on the synthesis prompt without re-running extraction, use --resynth. It loads cached Phase 1 extracts and re-runs only Phases 2-3. Saves time and money during prompt development.

python -m wire.chief newsweek --resynth --skip-review

Total cost for a full report: a few dollars. Output goes to docs/news/YYYY-MM-DD-news/index.md. See pricing.

How Newsweek Connects Topics

The weekly report is not a collection of per-page summaries. It is a cross-topic synthesis that treats your entire site as a beat. If your site covers SEO, content strategy, and AI marketing, the report identifies where developments in one area affect the others.

Phase 2 receives the full site directory (every topic and every page), trending search keywords from Google Search Console, and the previous week's report. The AI uses this context to write a blog post that links back to relevant pages across your site. The result reads like a weekly column written by someone who understands all the topics you cover and sees the connections between them.

Previous reports influence tone and structure. If last week's report opened with a market shift, the AI continues that thread rather than repeating the setup. This creates editorial consistency across weeks.

The Auto-Generated News Page

When docs/news/ contains published reports, Wire automatically generates a listing page at /news/. Each article appears with its title, the first 120 characters of its opening paragraph, the author name, and the publish date. The listing includes NewsArticle JSON-LD for search engine discovery.

No configuration needed. The newsweek pipeline writes the article, and the build system makes it visible. The news section also auto-appends to your site navigation as the last item.

The Star Rating System

Phase 1 rates every article on a five-point scale:

  • Five stars: market-moving (M&A, $50M+ funding, regulatory changes)
  • Four stars: significant (new product with specifications, major partnership)
  • Three stars: notable (interesting with data or quotes) - this is the minimum threshold
  • Two stars: routine (minor update, small partnership)
  • One star: noise (marketing fluff, old news, no facts)

Only three-star and above items pass to Phase 2. This filtering typically removes 40-60% of articles, keeping the synthesis focused on developments that actually matter.

Configuring Research and Editorial Style

Wire's research focus and writing voice are fully configurable through natural language. You write what you want the assistant to research and how the editor should write, and Wire encodes these instructions into every AI call.

The Styleguide

Every AI call in Wire starts with the styleguide (_style.md). This is a natural language document that defines your site's editorial rules: how to write titles, when to use lists vs. prose, how to cite sources, what tone to use, and what to avoid.

Wire ships a default styleguide with opinionated rules (title length 51-55 characters, inline citations not footnotes, no marketing filler). To customize it, create your own _style.md in your project's prompts directory. Your version replaces Wire's defaults entirely.

The styleguide is prepended to every prompt, not injected into a placeholder. This means editorial rules execute first and frame everything that follows.

Configuring What Gets Researched

News search is guided by three signals that you control indirectly through your content:

  1. High-opportunity keywords. Wire reads your Google Search Console data and identifies queries where you rank at positions 4-30 with high impressions. These represent topics users search for but your page does not yet fully address. The news search specifically looks for articles related to these keywords.
  2. Source gaps. If a page over-cites a single domain, Wire directs the search toward articles from different sources. The concentrated domain's anchor texts become search queries, but the search excludes that domain.
  3. Topic scope. Each page has a topic and slug that define what the AI searches for. A page at docs/vendors/acme/ gets searches about Acme specifically.

You do not write search queries. Wire generates them from your content's real-world search performance and source profile.

Configuring How Content is Written

The refine prompt encodes editorial rules that control how new information integrates into existing pages:

  • Source memory format. Every fact gets a structured citation: "YYYY-MM [category: subject | publication] KEY FACT (url)". Categories are topic-specific (person, market, partner, product, funding, benchmark, research).
  • Filler detection. The AI deletes generic opening paragraphs, AI-generated bullet list patterns, and marketing language. It replaces them with specific claims backed by data.
  • Temporal context. New developments get date attribution ("As of March 2026, ...") so readers know when facts were current.
  • Source diversity enforcement. If the page has concentrated sources, the AI is instructed to cite primary sources from the news files rather than adding more links to the dominant domain.

These rules come from the styleguide and the content update prompt. To change how your content reads, modify your styleguide. To change the structural rules, override content_update.md in your prompts directory.

Per-Topic Customization

Each topic can have its own prompt that adds topic-specific instructions. Place a file at docs/{topic}/_prompt.md and Wire prepends it after the styleguide. This lets you give different instructions for different sections of your site: formal tone for research articles, conversational for guides, data-heavy for vendor comparisons.

Source Diversity

Content that cites only one or two external sources looks thin to both readers and search engines. Reboot Online's controlled experiment demonstrated that pages with outbound links to authoritative sources rank measurably higher than identical pages without them. But linking to the same domain repeatedly is worse than not linking at all. It signals lazy research or paid placement.

Wire tracks which external domains your pages cite. The detection uses a dual threshold to avoid false positives:

  • Volume + proportion: More than 3 links AND more than 20% share from one domain. This catches real concentration without flagging pages that cite a primary source twice alongside 15 other sources.
  • Dominance: More than 40% share from one domain with at least 5 total links. This catches cases where one domain dominates even with moderate link counts.

The news pipeline uses source gaps to guide its search. If a page has concentrated sources, Wire specifically looks for articles from different domains. The refine prompt warns the AI against creating new concentration from the news it integrates. This is a real problem, since LLMs tend to cite whatever sources appear in their training data most frequently.

The audit system reports source concentration in its HEALTH section and lists affected pages in ACTION.

Content Freshness and NavBoost

Google's leaked API revealed that content freshness feeds into NavBoost through bylineDate and syntacticDate signals. Pages with stale dates get lower freshness scores, which compound with click-through rate signals. When a user sees "Updated: 2024" on a result about 2026 developments, they skip it, and that skip feeds back into NavBoost as a negative signal.

Wire's news pipeline directly addresses this feedback loop. Regular news integration updates the page's date signals. The refine step preserves the page's existing content while adding recent developments, so the page stays current without losing the depth that earned its ranking in the first place.

Siege Media's research found that the average page-one result was updated every 2 years. Wire's default intervals (21 days for vendors, 60 for capabilities, 120 for guides) are more aggressive because the pipeline is automated; the marginal cost of checking for news is near zero.

Cost Comparison: Wire vs. Human Analysts

Competitive intelligence is traditionally expensive. A dedicated market analyst costs $60,000-$90,000 annually. An outsourced competitive intelligence service runs $2,000-$5,000 per month. Industry analyst reports from Gartner, Forrester, or IDC cost $2,000-$10,000 per report.

Wire replaces the gathering-and-synthesis phase of competitive intelligence at a fraction of the cost:

Component Human analyst Wire
News gathering (per topic) 4-8 hours/week minimal tokens per run
Article evaluation 30-60 min per article minimal tokens per article
Weekly synthesis report 8-16 hours a few dollars per report
Source diversity monitoring Manual, inconsistent Automated, every run
Keyword-aligned prioritization Not available Built-in from search data

The total cost for Wire's full news pipeline (gathering news across all topics, evaluating relevance, synthesizing weekly reports) is a fraction of a single freelance article per week for a site with 100+ pages across 5 topics. See pricing. A human analyst producing equivalent output would cost $1,500-$3,000 per week.

Wire does not replace the analyst's judgment on strategic implications. It replaces the 80% of their time spent finding, reading, and summarizing articles. The analyst (or the site operator) reviews Wire's output and makes strategic decisions. This is the junior-senior pattern applied to the entire workflow: Wire does the junior work, the human does the senior work.

The Journalism Research Behind Wire

Wire's news pipeline encodes findings from three German journalism research publications. These are not theoretical. They are based on observed behavior of working journalists.

The Verification Gap

The LfM-Band 60 study is Germany's largest observational study of journalistic research behavior: 235 journalists observed, 30,057 action steps coded, 1,952 hours of observation, plus a survey of 601 journalists and a search experiment with 48 journalists.

The study found that journalists spend 43% of their workday on research, split into topic discovery (40.8%), expansion research (51.3%), and verification (7.9%). Source checking (verifying who said something and whether they are credible) accounts for just 0.9% of all research actions.

Wire's junior-senior pattern addresses this verification gap structurally. Each junior evaluation is isolated: one article, one AI call. The junior must classify the source (vendor-origin vs. third-party) and assess relevance before any synthesis happens. This forces a verification step that the LfM study found journalists almost never perform.

Depth Beats Breadth

The LfM study included a search experiment with 48 journalists. The most successful journalists used a "depth" strategy: fewer, better-targeted queries with fewer pages visited. The least successful used a "breadth" strategy: many queries, many pages clicked, but unfocused.

Wire's analyze_article() function implements the depth approach. Rather than skimming headlines from 50 sources, it reads and evaluates each article fully. The junior evaluation extracts specific facts, classifies the source, and scores relevance, producing structured intelligence from fewer, deeper reads.

The PR Problem

Thomas Leif's Trainingshandbuch Recherche states that two-thirds of journalistic material comes from PR sources or interest groups. Wire's vendor-origin vs. third-party classification in ArticleEvaluation directly implements this distinction. When the junior evaluator identifies an article as vendor-origin (company blog, press release), the senior synthesis weights it differently than independent coverage.

The Trainingshandbuch also emphasizes source transparency: "Es genugt nicht, die Quellen befragt zu haben. Soweit moglich, sollte man sie auch offen legen und nennen." (It is not enough to have consulted sources. As far as possible, one must disclose and name them.) This principle is encoded in Wire's styleguide as the external citation requirement: every page must cite its sources with inline links.

Googleisierung and Source Diversity

The LfM study documented that Google's 90.4% market share among journalists creates homogeneous sourcing. All researchers find the same sources through the same search engine. The study calls this "Selbstreferentialitat" (self-referentiality): journalism referencing journalism rather than original sources.

Wire's source diversity detection counters this by tracking which external domains your pages cite and directing new searches toward underrepresented sources when concentration is detected. The source gap information flows into the news_search.md prompt, telling the AI to find diverse sources for flagged topics.

Methodology as Code

The Trainingshandbuch argues that research methodology is "Handwerk und Haltung" (craft and attitude), both learnable, neither requiring talent. Wire takes this literally by encoding methodology into prompts and pipelines. The junior-senior pattern, source classification, diversity detection, and citation requirements are not features. They are the methodology itself, running as code instead of relying on individual discipline.

See the Capabilities overview for all Wire features.