| name | desk-review |
| description | Fork-path decoupled review flow (pipeline.44). Picks up unreviewed /deep-dispatch artifacts (~2 at a time), runs the EIC read + reviewer floor (ADR-0012 recalibrated), packages passing artifacts into the dispatch .txt format contract, and hands to /post-publish --type dispatch. Same lanes as the edition path, decoupled cadence. |
| version | 1.0 |
| updated | "2026-07-11T00:00:00.000Z" |
| tags | ["media","pipeline-44","fork","review","active"] |
| effort | medium |
| disable-model-invocation | true |
| argument-hint | <desk|all> [cycle-number] |
| related_skills | ["deep-dispatch","post-publish"] |
| sources | ["docs/research/2026-07-11-desk-slice-fork.md โ the one-doc (fork design; review decoupled per Mike-direct S313)","docs/adr/0012-autonomous-deep-dispatch-write-edition.md โ the recalibrated floor this flow applies"] |
/desk-review โ Decoupled Review Flow (fork path)
The Principle
Production and review are separate flows on the fork (Mike-direct S313): /deep-dispatch ends at artifacts-on-disk; this skill reviews and publishes them on its own cadence. Same floor as the edition path โ nothing about autonomy weakened verification โ but it works ~2 artifacts at a time instead of 9 at once, which is where the review gets easier and more effective.
The recalibrated floor (ADR-0012): catch modern-Oakland civic invention + specific-fact errors (vote math, program scope, dates). Do NOT police journalistic reach, real-entity sports comps, or angle. Bug-is-event: an engine anomaly covered as an event is correct journalism, not an error to flag.
Usage
/desk-review <desk|all> [cycle-number] โ batches of โค2 artifacts. Input: rows in output/production_log_c{XX}.md ## /deep-dispatch with status complete and no ## /desk-review verdict yet.
Pass A โ EIC read (Mags)
A real read, not a scan. Per artifact:
- Lane + slice fit โ is this the desk's LANE? Does it write a storyline from the slice (or a defensible seam between slice storylines)?
- Names โ every citizen against canon (MCP
lookup_citizen for any name you don't recognize); names not traceable to the slice, sourcing, or canon are hallucination flags.
- Quotes โ check attributed quotes against
output/voices/voices_c{XX}_{desk}.json FIRST (verbatim or front/back-trim; paraphrase-then-attribute of a supplied line is fabrication), reconciled sourcing second.
- REAL ASKS โ any claimed interview/query/"did not respond" must trace to a supplied line or recorded no-response in the run materials. A performed query that never occurred is cut or rewritten as plain absence.
- Specific facts โ vote math (all 9, totals proven), program scope/districts, dates, dollars โ spot-check against
world_summary_c{XX} first, MCP second.
- Craft screens โ calendar dates (cycles only; day-of-week OK), engine language (none), voice match to the journalist.
Fix what's fixable, cut what's broken. Log the read per artifact.
Pass B โ Reviewer floor
Launch rhea-morgan on the batch (sourcing verification โ her lane, recalibrated per ADR-0012: verify specifics, don't strangle reach; the floor rules are already wired in docs/media/story_evaluation.md + her RULES). Record her findings per artifact. The heavier lanes (cycle-review reasoning, Mara result validity, capability, arbiter) run on this same decoupled cadence when invoked โ same process as the edition path, just not inside production. Findings route back: fixable โ fix and note; fabrication/canon-break โ artifact fails.