Seven specialists. One coherent loop.

Each specialist owns one job: planning, statistical reasoning, narrative synthesis, disambiguation, self-critique, dataset discovery, local-mirror ingestion. The orchestrator routes between them, the critic verifies, the doom-loop guard catches cycles. Every run is auditable end-to-end.

The orchestrator routes, the specialists deliver.

Watch a real run — orchestrator dispatches to data_analyst (in parallel), critic reviews, replans on the missing-window flag, then reporter composes the final answer with citation.

Agentic flow

How a question becomes a sourced answer.

?User question

router · decomposer

Orchestrator

~0.6s

SoQL · Socrata exec

Data Analyst

~1.2s

verify · grounding

Critic

~0.4s

prose · data viz

Reporter

~0.9s

provenance lock

Citation step

~0.1s
Sourced answercited · replayable
Orchestrator0.00s

reason: parsing · domain=permits geo=78704 window=2024-Q4

Typical cycle · 7.3s · 0–3 re-plan loops

Each one with a job, not a vibe.

Orchestrator

Reasons over the question, builds the plan, decides which specialist owns each step. Hosts the doom-loop guard and the critic-revision loop.Plans & dispatches · On every /q request

See activity →

Data Analyst

Owns analytical SoQL — deltas, percentiles, top-N with ties broken, year-over-year. Returns findings + viz spec + confidence + caveats.Statistical reasoning · Triggered by orchestrator

See activity →

Reporter

Takes findings, splices into long-form templates, writes data/reports/{slug}.json snapshots that drive every /reports page.Composes /reports · Triggered by orchestrator + nightly cron

See activity →

Support

Handles vague queries ("south austin"), answers TXLookup-meta questions, returns chip-set follow-ups when the user needs to clarify scope.Disambiguates & helps · Triggered by orchestrator

See activity →

Critic

Grades the plan and the synthesized answer on groundedness, scope match, citation quality. On reject (approve=false), forces a single corrective revision.Self-correction · After every plan + every answer

See activity →

Dataset Scout

Scans Austin / Dallas / SA / Houston / TX state Socrata portals for new or refreshed datasets. Files GitHub issues for human curation.Grows the corpus · Every 6 hours

See activity →

Ingestor

Pulls deltas from each catalog dataset into a SQLite cache. Enables cross-dataset SQL JOINs that Socrata's SoQL can't express. Source pill (cache vs live) on every tool envelope.Local cache curator · Every 6 hours

See activity →

Recent agent runs, replayable end-to-end.

10 runs

  • 07:49 PM

    Top 5 outliers in crime reports this year render this to a Miro board

    14 events · fdj4-gpfu

    Replay →
  • 07:49 PM

    Show austin crash report data trend over the last 24 months by quarter render this to a Miro board

    26 events · y2wy-tgr5

    Replay →
  • 07:49 PM

    How does 311 volume in flood-prone zips compare to the last year? render this to a Miro board

    18 events · xwdj-i9he

    Replay →
  • 07:48 PM

    Top 10 state agencies by total 2024 expenditures render this to a Miro board

    13 events · 2zpi-yjjs

    Replay →
  • 07:48 PM

    How do food inspection failures this year compare to last year? render this to a Miro board

    11 events · ecmv-9xxi

    Replay →
  • 07:48 PM

    Where do permits and code violations both spike together this year by zip? render this to a Miro board

    20 events · 6wtj-zbtb

    Replay →
  • 08:26 PM

    Top 5 outliers in dallas police active calls this year

    18 events · 9fxf-t2tr

    Replay →
  • 08:26 PM

    Join dallas police active calls with code violations by zip for the same period

    24 events · 6wtj-zbtb

    Replay →
  • 08:25 PM

    Show dallas police active calls trend over the last 24 months by quarter

    23 events · 9fxf-t2tr

    Replay →
  • 08:25 PM

    Compare dallas police active calls between this zip and the next-most-active zip

    18 events · no citation

    Replay →