◇ Pipeline · how the workforce runs
One picture. End to end.
Every content piece flows through these 8 stages. HITL gates (gold borders, ◍ lock glyph) are mandatory operator approvals enforced in code, not in agent prompts. The loop arrow at the bottom closes the cycle — engagement signals from published posts seed the next research cycle.
What each stage does
Click any stage to jump to its operator surface
① Niche ·
agent: operatorPick which of the 18 niches the next piece serves. Each niche carries audience, primary platform, RPM range, affiliate stack, and headline DNA.
- inputs
- canon/VIRAL_NICHES_LAUNCH.md strategy doc
- outputs
- niche.slug → seeds the brief
② Research ·
agent: system + ClaudePulls top YouTube videos for the topic, classifies their comments (appreciation / suggestion / criticism / gap), and synthesizes a gap brief — what the audience asked for and didn’t get.
- inputs
- Topic · Region · Platform
- outputs
- gap_brief → ideate seed
③ Ideate ·
agent: agent:brainstormCapture raw idea OR consume a research gap. Agent expands into 5–7 concept directions. You pick one (manual mode) or auto-flow takes the top concept.
- inputs
- raw text / link / transcript / gap brief
- outputs
- idea → concept(s)
④ Brief ·
agent: systemAuto-composes a fully-formed agent brief from the concept + niche metadata: audience, platform, brand vibe, cadence context, sample headlines, affiliate opportunities, deliverable instructions.
- inputs
- concept · niche metadata
- outputs
- brief row → drafting
⑤ Draft ·
agent: agent:claude / agent:geminiLLM call against the routed provider (Claude Sonnet for brand-critical, Gemini for bulk). Returns markdown long-form / channel-native social / video script / newsletter copy.
- inputs
- system prompt + brief.prompt_text
- outputs
- draft v1 (status: pending_hitl)
⑥ HITL gate ·
HITL gate ◍agent: operatorMANDATORY review. Approve (with optional notes) / Reject (with reason) / Regenerate (creates v2). The two-step confirm + audit log entry = code-level gate, not an agent prompt.
- inputs
- draft v1+
- outputs
- status → approved | rejected | regenerated
⑦ Adapt ·
agent: agent:claude / agent:geminiOne approved source draft → nine channel-native variants (LinkedIn post, X thread, YouTube script, Newsletter pull-quote, Blog post, Image-gen prompt, Hero image, 15s clip, 60s voiceover). Each adaptation gets ITS OWN HITL preview card.
- inputs
- approved source draft + target channel
- outputs
- adapted draft (status: pending_hitl AGAIN)
⑧ Distribute ·
HITL gate ◍agent: system (postWithGuards)Passes through 4 security guards (HITL gate → token refresh → rate limit → audit log), then calls the per-platform adapter (LinkedIn / X / YouTube / Instagram / Facebook / TikTok).
- inputs
- approved adapted draft + channel connection (OAuth)
- outputs
- published_url + audit log entry
✦ THE STANDING RULES (every stage honors these)
- HITL on every public asset — gates 6 and 8 are mandatory; nothing ships without you reading the rendered text.
- Per-agent daily cost ceiling — Studio Writer $8 / Social $3 / Video $10 / Newsletter $3 = ~$24/day max workforce burn.
- PII-safe audit log — every state transition logged to
agent_action_logwith whitelisted metadata (never post content). - Tokens encrypted at rest — AES-256-GCM via
TOKEN_ENCRYPTION_KEYfor every OAuth channel connection. - Persona discipline — clients never see internal agent codenames; public assets are signed by Director personas (per canon).