Reporter

Composes /reports

Takes findings + run-archive context, splices into editorial templates, writes data/reports/{slug}.json snapshots that drive every /reports page. Composes prose + viz + sourcing.

Triggered by orchestrator + nightly cron at 02:00 UTCscheduled

What this agent actually does, step by step.

  1. 01

    Receives (slug, findings[], template) — or runs autonomously on cron

  2. 02

    Pulls relevant runs from app/lib/run-archive when adjacent insights exist

  3. 03

    Generates JSON snapshot: hero_stats, sections (prose+viz), sources, method_footer

  4. 04

    Writes data/reports/{slug}.json — read by app/reports/[slug]/page.tsx

  5. 05

    Uses inline-SVG viz from app/components/viz/ (no chart deps)

Inputs & outputs.

Inputs

  • · slug: string
  • · findings: AnalystResult[]
  • · template?: string

Outputs

  • · data/reports/{slug}.json
  • · AgentEnvelope { composed_at, run_archive_hashes, sections_count }

Where this agent lives in the codebase.

app/lib/specialists.ts

Live TS implementation — reporter()

app/components/viz/

Inline-SVG viz library

Last 0 runs that touched this agent.

auto-refresh 60s

No recent runs touched Reporter yet.