How a briefing is made
Every Copilot Revolution briefing passes through a five-stage editorial pipeline. Each stage is a separate agent with a narrow role, a strict information diet, and one job. No agent approves its own output. Human review happens at configurable gates.
Scout
What's worth covering?
- Inbound triage Newsletters, RSS, Signal Tower, Scott's pitches
- Duplicate detection Semantic match against last N briefings
- Sufficiency check Can the Archivist fill the gaps, or does Scott need to?
- Angle & tags Proposed headline, category, canonical tags
- Fast, cheap, high-volume Sonnet-class model; ~30 seconds per pitch
Archivist
What's actually true?
- Primary sources Company blogs, docs, filings, GitHub releases
- ≥2 source minimum Auto-fetches corroboration when pitch is single-source
- Quote extraction Verbatim excerpts with context + citation
- Contradictions flagged Two sources disagree? Writer gets both
- Opus-class + web tools Parallel fetches, paywall fallbacks, ~5 min budget
Writer
How do we say it?
- Briefing in house voice Editorial tone, no hype, no framework slop
- Reads the brief only Zero web access — firewall against drift
- Style-guide grounded Last 10 briefings loaded as voice examples
- Attribution baked in Every claim tied to a brief entry
- Flags its own gaps Kicks back to Archivist if the brief came up short
Editor
Is it good enough?
- Structural pass Does it flow? Does it argue? Does it land?
- Line & copy pass Sentence-level prose, style-guide compliance
- Fact-check pass Every claim traced back to the brief
- Voice similarity score Embedding match vs. last 10 published pieces
- Kickback authority Can reject to Writer; can escalate a kill to Scott
Desk
Ship it.
- Slug & numbering Deterministic from title; monotonic issue number
- Frontmatter & metadata Canonical tags, reading time, sources, related
- Preflight checks Links resolve, no dead tags, schema validates
- LinkedIn cross-post 2,800-char teaser, hashtags from canonical tags
- Publish mechanics Commit, deploy, ping sitemap, queue newsletter blast
Scott is the editor-in-chief, not a participant in the pipeline. He reviews at three configurable gates:
Everything that runs around the pipeline — intake, automation, delivery.
Signal Tower · Pitch Builder ↗
Scott's intake surface. Browse items, learnings, creators, opportunities; upload a doc or paste a URL; ship as a pitch to the Scout.
Listmonk · Newsletter ↗
Self-hosted mailing-list. Double opt-in, CR-branded welcome email, campaign templates. Resend as the SMTP relay.
Daily publish cron
launchd job fires at 8:00 AM Pacific. Syncs pitches from Signal Tower, picks the oldest ready briefing, builds the site, deploys, and pings Scott with the URL.
Pitch-ideas fallback
Queue empty? The Scout proposes five timely briefing angles anti-duped against the last 10 published. Scott replies with a number; the pipeline kicks off.
Orchestrator service
Move the pipeline off the coordinator. Real state machine, resumable runs, per-stage cost + usage.
Auto-deploy
Every push to main builds and deploys. No more manual rsync.
Campaign auto-draft
On publish, the Desk drafts a Listmonk campaign from the briefing. Scott reviews and hits send.
Editorial dashboard
Single page: queue depth, stages in-flight, pipeline failures, this week's briefings, subscriber growth.
Edit-pattern learning
Diff published vs. Draft v2. Persist the corrections. Feed them forward as few-shot examples.