Architecture review · 2026-07-09
One operator runs a fleet of autonomous coding agents. The harness decides what agents may do, what leaves the machine, what the human sees, and what the system remembers. Four frontier models reviewed the whole design; this document is the adjudicated synthesis, the weak points, and the process to follow.
Companion page:
The cockpit, as we believe it →
the operator view, the evidence surfaces, and the six card kinds rendered
with real Grok-4.5 output from this build's decisions.
Workbench proposals:
four competing surface sets, rendered →
the Sol/Grok/Fable/Fugu selections from the full catalog, each mocked by Grok 4.5 with real build data.
The harness is five subsystems around one human. FleetOS governs what a dispatched agent is allowed to claim and change. StarGate governs everything that leaves the machine. The cockpit renders decisions to the operator as generated HTML cards. The memory layer (KAPATI wiki, replay corpus, calibration) is supposed to make past failures preflight future dispatches. The constellation is the routed model fleet doing the work.
"Constellation" is not a pile of models; it is a tiered routing structure with one chokepoint. Frontier-class judgment sits at the top and is scarce; execution capacity is subscription quota that expires at every reset; bulk capacity is per-call API. Work flows down as tightly-scoped briefs, results flow up as condensed deltas, and every byte that leaves the machine passes StarGate regardless of tier.
Two structural facts the review leaned on: frontier ≠ interchangeable. The scorecard (§15) measures the tiers doing different jobs well — Grok structures, Sol designs mechanisms, Fable holds coherence, Fugu finds exploits; the bulk tier never judges and the judges never do rows. And quota is a perishable resource: subscription tokens burn to dust at each reset, so routing pushes load to the least-used lane while Fable-class judgment stays reserved for decisions only it can make.
| Area | What lives there | State |
|---|---|---|
| Dispatch governance | Briefs with exact paths + file ownership; StarGate governed dispatch; idempotency dedup; lane profiles; per-session hook arming | LIVE |
| Mutation control | Scope guard, diff budget, IAL budget, terminal-state grammar, materiality validation, deny-floor settings | LIVE |
| Egress control | StarGate authority + runtime jail; tamper-evident registry; driver contracts + proofs; control-plane CLI launches; egress detector | LIVE |
| Verification | Independent re-runs (tsc/vitest/pytest) regardless of agent claims; git-diff checks; EXECUTED flips only on observed audit rows | LIVE |
| Operator surface | Cockpit queue, folds + fold-cap, hash-chain + suspect mode, break-glass tray; model-in-the-middle card generator (verdict strip, kind-aware surfaces) | PARTIAL |
| Completion gating | Homer done-claim gate (CL ≥ 0.85, external SaaS); receipt lines in final answers | MEASURING |
| Memory / learning | KAPATI wiki (schema, gated writes, tag-match hydration); replay + calibration; wisdom mining; Ring 6 activation gates | OPEN END |
| Model routing | Fable control plane; Codex/Kilo/DeepSeek executors; Grok generator + divergent finder; Fugu binding judge; 5 Claude lanes; fusion rule | LIVE |
| External review | CodeRabbit, cloud multi-agent review, security scanners — currently outside the loop entirely | UNWIRED |
Sol supplied the honest currency: reliability-per-token and operator-minutes-per-decision, counting only a component's marginal catch after cheaper gates already fired. Adjudicated ledger:
| Component | What it buys the process | Economic ruling |
|---|---|---|
| Independent re-runs + git-diff verification | Kills self-report trust; ended the "stalled-but-complete" and "scoped-green, suite-red" defect classes | PAYS |
| Terminal grammar + materiality + scope/diff/IAL | Malformed packets and scope creep die before they cost operator minutes | PAYS |
| StarGate kernel (jail, idempotency, registry) | One answer to "what left the machine and why"; double-submit safe (saved the multi-nohup incident); $20.78 governed build proved the loop | PAYS |
| Typed route failover + attempt ledger | Deletes daily 429 triage; creates the denominators every other evaluation needs | BUILD NEXT |
| Card generator (96/96 soak) | The operator face — decision-complete cards in 20s; but context is still hand-assembled | WIRE IT |
| Homer completion gate | Gates the done-claim narrative; catches premature-done class — unique-catch rate unmeasured | MEASURING |
| KAPATI wiki + hydration | Mechanically works; too thin and disjoint from real doctrine to change outcomes yet | PROBATION |
| Claim registry + taxonomy + indexer | The shared ontology joining tasks ↔ files ↔ evidence ↔ cards; value realizes when cards + wiki go live | ENABLER |
| Wisdom classifier + Ring 6 (hard gating) | No return while corpus is thin; run learning in shadow, defer authority | DEFER |
| Dual wiki judges / serving agent / semantic RAG | Governance minutes exceed corpus value at 5 pages; destroys attribution | DO NOT FUND |
Context for every ruling: the constellation costs ≈ $2k/month across 7 subscriptions. Anything that cuts operator wall-clock or rework by even a few percent dominates its own cost. The scarce currencies are the operator's minutes and trust — not dollars.
| Fight | Detail | Resolution (adjudicated) |
|---|---|---|
| Preventive jail vs fail-open observer | StarGate denies ungoverned egress; FleetOS observer registration fails open — dual philosophy | No new gate. Non-observation means the audit row never reads observed, and existing EXECUTED law already blocks (Fable). StarGate's typed receipt is the sole egress truth; observation is telemetry (Sol). |
| Optimistic render vs blocking CL gate | Render-as-truth everywhere; numeric probability gate at completion | Placement fix: the done-gate sits agent-side, pre-packet — it gates the agent's right to stop, never a render, never an operator card (Fable). |
| Wiki-as-doctrine vs disjoint corpora | Binding doctrine lives in CLAUDE.md + agent-harness prose across 3 repos; the hydration hook reads none of it | Mirror binding doctrine into schema'd pages (or teach the hook both bodies). This, not page count, is the real KAPATI build item. |
| Regex ban vs the harness's own matchers | Failure-marker classifier condemned; materiality "placeholder-genre" validator praised — same phrase-match class over free text | Both go to the structured-fields standard. Raw text is retained as provenance-scoped evidence, never a control signal (Sol). |
| "Failures are corpus" vs S2-only post-mortems | Grok's severity filter would drop failure evidence | Every failure enters the raw corpus; deterministic rollup; only replicated root causes graduate to doctrine pages (Sol + standing never-drop doctrine). |
| 8-second read: binding but unmeasured | The cockpit's core constraint has no instrumentation | Time-to-resolve per card kind becomes the cockpit KPI (Fable). A binding number with no measurement is a vibe. |
Fable named eight standing instances; the worst five by weekly pain:
See it rather than read it: the cockpit companion page renders this loop as a live mock — bands, folds, tray, and the real generated cards.
Panel consensus on the law: a card must pose a decision the machine cannot render. Confirmation of machine-checkable facts never reaches the human. Every auto-resolution appends a hash-chained resolution row (rule id + version + evidence hashes) to the log the cockpit already verifies — auditable forever, interrupting never.
succeeded + independent re-run green + budgets respected + no falsified premise) → checkpoint commit, no card. 429s ride the failover chain; test flakes get one retry then a second executor before any card exists.Sol's refinement, adopted: the defensible unit is the layer, not the bundled product. Keep what encodes doctrine, authorizes action, owns a trust boundary, or holds calibration history. Cede commodity capability with portable outputs and compliant egress. Absorb useful mechanisms whose vendor authority or corpus capture is unacceptable.
| Layer | Ruling | Boundary line |
|---|---|---|
| Broker schema · severity · materiality · terminal grammar | KEEP | Defines what may block execution or consume operator attention |
| StarGate authority · jail · idempotency · registry | KEEP | The egress trust boundary; provider SDKs + capacity are cedeable, authorization truth is not |
| Independent verification | KEEP | Never cede "is it true" |
| Card contract · assembler · premise gates · frame | KEEP | Generated HTML stays untrusted presentation; frame owns every action; inference is cedeable (Grok today, swappable) |
| Claim registry · surface taxonomy · calibration history | KEEP | The proprietary ontology + truth data |
| KAPATI schema · promotion · staleness rules | KEEP | Page anatomy is doctrine; storage/search primitives are commodity |
| Model routing doctrine · fusion rules | KEEP | Economic policy; individual vendor models are replaceable line items |
| Raw model capacity · LLM inference · UI frameworks · parsing libs | CEDE | Commodity; zero-retention + no-credentials egress contract applies |
| External review engines (CodeRabbit, scanners, cloud review) | CEDE | Engines stay vendor tools; the finding envelope + disposition is absorbed (§12) |
| Homer | KEEP + ABSORB | Kept in path while measured (operator ruling, §09); done-ledger mirror absorbed as doctrine entailment |
| Failure-marker classifier | ABSORB (rewrite) | Typed sidecar lifecycle channel; free text demoted to evidence |
| Fleet CLI surface | ABSORB | One FleetOS API projection; the CLI presents policy, never reimplements it |
| Dual wiki judges · serving agent · semantic RAG (at 5 pages) | DO NOT FUND | Destroys attribution; governance theater below ~50 active pages |
The panel split three ways — and the operator overruled the frame all three argued inside.
homer_check (required anyway
for card-gen egress; kills contract-not-control), (2) fail-open on outage (kills the SPOF —
a beta SaaS never stalls the fleet), (3) the local done_ledger mirror of every check (kills
unowned corpus). Placement per Fable: agent-side, pre-packet; blocks send agents back to work, never mint
operator cards; labels machine-derived only. Per Fugu's circularity finding, the measurement is run as a
directional dossier, not an automatic tripwire. If the scrubber + fail-open + ledger cannot be
delivered, Fugu's DROP verdict takes over by default. Ask the vendor about controlled-tenant execution at
beta exit. Sample so far: allows at CL 0.89 / 0.90, zero blocks.
Verified today: the slice works — index builds 5/5 clean; a
['state_transition','cross_service'] task pulls exactly the right 3 pages. And it is a
tag-match over 5 pages, manually written, disjoint from the real doctrine corpus.
The panel's write-path design quietly assumed the human signature is the reliability ceiling. The operator challenged that assumption and asked for the numbers. Here they are:
| Fact | Number | Source |
|---|---|---|
| Delivered human code, industry average | 15–50 defects / KLOC | McConnell, Code Complete |
| Human design/code inspections catch | ~55–60% of defects | inspection literature (unit testing ~25–30%, integration ~45%) |
| Evidence-based careful review rate | ≤200 LOC/hour finds ~2/3 of defects; faster review collapses detection | Kemerer & Paulk, PSP review study |
| Vigilance decrement on monitoring tasks | ~15% detection drop within 30 min; error rate rises with time-on-task | Pattyn 2008; Al-Shargie 2019 review |
| The operator's actual load | 8–10M tokens/day triaged; self-measured 70–85% comprehension at speed-reading pace | operator, this review |
| → implied review-rate multiple | 8h of evidence-based careful review ≈ 25–40k tokens — the operator runs at ~200–400× that rate | derived |
| Frontier-model hallucination, GROUNDED tasks (judge content against cited evidence — the wiki-judge task) | <2% for top models | Vectara HHEM leaderboard, 2026 |
| Frontier-model hallucination, open-ended recall | much worse and benchmark-dependent: o1 16%, o3 33% (OpenAI system card); legal queries 69–88% (Stanford RegLab); 22–94% across 26 models (Stanford AI Index 2026) | — |
| Are two models' errors independent? No. | When two LLMs both err, they give the same wrong answer ~60% of the time (HELM data); correlation is strongest within the same provider/architecture family; LLM judges inflate scores of models similar to themselves | arXiv 2506.07962, ICML (Correlated Errors in LLMs) |
| Does cross-family redundancy help? Yes, ~4–5×. | N-version study on LLM code: joint failure ~2% overall, ~0.44% for heterogeneous (cross-family) pairs — independence fails, heterogeneity helps | arXiv 2607.02808 |
| Model-vs-model consistency | LLM judges agree with each other more than human experts agree with each other | medRxiv 2025 (human evaluators vs LLM-as-judge) |
active and hydrates.
The operator sees only judge disagreements, S1/clinical/egress surfaces, and scope questions —
his read volume goes down, not up. The deterministic safety net — evidence-resolver, page-ID
attribution, auto-suspect, retraction propagation — is built as the async wave: it demotes bad pages
and answers "who did I mislead," gating continued hydration (the action), never publication (the
render). Serving agent stays rejected (it can invent doctrine); cold semantic RAG stays rejected (unauditable
recall) — those verdicts were about attribution, and they stand.
The panel's original convergence, kept for the record:
raw_incident → draft → candidate → active → suspect → retracted. Pages land as non-hydrating candidate. The operator's promote is a scope decision, not a truth audit — "publish for surfaces X (triggers T), root cause auto-bound to [gate G, diff D]?" — an honest 8-second read, because the resolver already did the fact-binding (Fugu's fix for the constraint-F violation Fable flagged). Auto-publish, later, only on evidence-green + contradiction-free + replay-confirmed; self-assigned confidence is never a promote gate.suspect; a source-artifact hash change auto-demotes and queues re-derivation (doctrine tied to real code change); and on any demotion the citation log emits falsified_assumption against every card and dispatch that already consumed the page. "Who did I already mislead?" is mandatory (Fugu).suspect. Hydrated wiki content is provenance-tagged DOCTRINE, delimited as advisory — and may never occupy the card verdict-strip slots.Unanimous: single logical egress authority + preventive enforcement is the right shape. Sol alone downgraded confidence (3–4, not 5): "a service API alone is not a jail" — and seven infra defects found during the proving build measure immaturity as much as they prove operability. The hardening list:
| Gap | Fix (adjudicated) | Source |
|---|---|---|
| 429 triage is human | Route contracts per dispatch: role class, acceptable models, eligible lanes, quota class, deadline, attempt limit, spend ceiling. Circuit breakers per failure domain; honor Retry-After; reconcile via provider request-id before any retry; executor failure ≠ infra failure (never silently swap models); reserve control-plane capacity so bulk cannot starve Fable lanes. Terminal: route_exhausted. | Sol ⊃ Grok |
| Lane state lives in prose | Live lane availability becomes machine state the failover chain reads; doctrine files stop carrying volatile runtime status. | Fable |
| Bare-phrase failure classifier — the one UNSOUND-today boundary | Fugu sharpened the whole panel: an agent-emittable status enum is just a cleaner marker phrase — the FP-3× bug with better formatting, and weaponizable (emit the enum that maps to the gate-skipping state). Gate decisions derive ONLY from trusted-side emitters: StarGate response codes, orchestrator-observed process exits, control-plane exit classes, independent gate results — nonce-bound lifecycle records on a sidecar channel with outcome_unknown pending reconciliation. Agent self-report — text or enum — informs review, never gates. Raw transcripts/stdout/git-logs retained as provenance-scoped evidence; the broker's materiality matcher goes to the same standard. | Fugu ⊃ Sol + Fable |
| Jail depth | Sol and Fugu converge: OS/network-level outbound denial beneath agent processes so StarGate is the only egress route; credentials unavailable to agents; restart-surviving queue + attempt ledger; negative tests (direct sockets, daemon death, duplicate submission, restart reconciliation). Fugu's tell: the static direct-egress detector's existence is evidence of runtime-bypassable paths — convert it into a runtime deny, and verify observer-coverage == jail-coverage. Hash-chain needs an anchor outside agent write authority. And a jail is also routed around by doctrine: the wiki evidence-resolver is a security control, not hygiene. | Sol + Fugu |
| EXECUTED observes invocation, not effect | An audit row proves the call was dispatched, not that the side effect happened (a soft-fail/no-op or deduped retry still writes a row). Split executed:dispatched vs executed:effect_confirmed where externally checkable. Load-bearing twice over: it also gates safe failover — you cannot re-dispatch side-effectful work you cannot confirm executed. | Fugu (TB5) |
| Failover privilege + idempotency hazards | Lanes carry profiles (deny-floor, IAL, tool contracts, control-plane authority): failover only to equal-or-lower privilege + identical tool contract; never route control-plane ↔ executor. Split logical_dispatch_id from attempt_id (key-reuse silently drops the retry; new-key double-executes); effect-reconciliation required before re-dispatching side-effectful work. | Fugu (TB12) |
| One shared pre-egress scrubber | All machine-leaving context — Homer checks, card-gen context, external-review payloads — routes through one mandatory local scrubber at the StarGate chokepoint. The error path is the highest-risk, least-hooked content (PostToolUse never fires on errors, and error output carries the most secrets) — scrub at the chokepoint, not via hooks that miss errors. | Fugu |
| Observer fail-open | No new promotion gate. StarGate's typed attempt receipt is the sole egress truth; FleetOS observation is telemetry; an unobserved action simply never yields an observed audit row, and existing EXECUTED law blocks. | Fable + Sol vs Grok |
| Attribution | Per-attempt economics rolled up to dispatch/task/surface: route, lane, provider request-id, failure class, retry index, tokens, quota units, usage_source=estimated|unavailable (never fabricate missing telemetry). Loop-units + IAL remain the governing budget; dollars stay observability + the >$5 gate. | Sol |
| Multi-machine | Not yet. Add host_id, grant_id, policy_version to the event schema now; if the fleet spreads, one logical policy authority + one enforcement point per host. | All |
Unanimous, and it settles the CodeRabbit question: engines stay vendor tools; the finding envelope and disposition are absorbed. They are probability engines that do not know the terminal grammar, the premises, or the surfaces — putting their prose in-loop manufactures packet spam and makes the operator the merger.
auth · egress · secrets · payments); CodeRabbit / cloud review on demand or on push-to-main candidates only; always via StarGate egress.ExternalFinding{source, severity_mapped, surfaces[], evidence_ref, premise_candidate?, fingerprint}. Machine-checkable findings become proof-queries in the Action-Bound path — a failure is a falsified_assumption packet, not vendor prose. Unmappable findings are quarantined, not dropped (Sol, upholding never-drop).| Question | Grok (lead) | Sol | Fable | Adjudication |
|---|---|---|---|---|
| Build first | Card assembler + hook (conf 5) | Typed attempt/outcome ledger — cards are a "subsidized demo" | Cards, but 96/96 does not transfer: mandatory re-soak on machine context | Fugu's sequencing wins: trust-boundary fixes (W0) and wiki write-guards (W1) come first — the assembler is a new trust crossing into the operator's belief, not the closing of a proven path. Then assembler and ledger/failover run in parallel under the product/infra boundary. |
| Homer | Drop from default; measure 2–4 weeks | Drop blocking now; shadow-only; don't build a scorer | Relocate agent-side; done-ledger is doctrine-forced; machine labels only | The one open Fugu-vs-operator conflict, recorded in §09: operator keeps it in path (cost excluded by ruling); Fugu's DROP convictions (SPOF, contract-not-control egress, unowned corpus) are answered by mandatory mitigations (fail-open, shared scrubber, local ledger) — if those slip, DROP takes over by default. Measurement is directional (Fugu's circularity finding), labels machine-derived (Fable). |
| Corpus growth | Auto post-mortems for S2+ only | Every failure raw; replicated causes graduate | Promote card must be doctrine-adoption, digest band | Sol + Fable. S2-filtering violates never-drop; rollup keeps spam out of pages without losing evidence. |
| Wiki judges (revised 2026-07-09) | One judge; operator promotes | No LLM judges yet; deterministic rollup | One downgrade-only judge; operator = scope only | Operator overrules the whole panel on the human-gate assumption, and the data backs him (§10 facts): the fatigued-human signature at 200–400× careful-review rate is the weakest link, not the strongest. Two cross-family judges auto-publish; the operator sees only splits, S1 surfaces, and scope; the deterministic net (resolver, attribution, retraction) runs async as demotion. The panel's attribution mechanisms survive; its sequencing and its human-as-ceiling premise do not. |
| Free-text ban | Ban free-text markers outright | WRONG as stated — raw text stays as evidence; fix is a trusted control channel | Extends to the broker's own materiality matcher | Sol's mechanism + Fable's scope. Control = typed sidecar; evidence = retained raw text. |
| Observer fail-open | New rule: non-observation blocks promotion | Receipt is authoritative; observation is telemetry | Reuse EXECUTED-observed law; a new gate = new interrupts | Fable + Sol. No new gate; the existing law already encodes the block. |
| Queue order | Severity-first | — | Perishability → severity → age; salience never sorts | Fable. Severity-first starves fresh burning decisions behind stale important ones. |
| C23 / Ring 6 | Defer until density | Defer authority, run learning in shadow now — shadow hydration is how density evidence gets created | Couple deferral to the post-mortem engine explicitly | Sol + Fable. Shadow recipe hydration starts now; hard gating stays dark. |
| StarGate confidence | Right shape, C=5 | C=3–4: the jail needs OS-level depth + negative tests | — | Shape settled (Fugu concurs, contingent): C=5 on shape, C=3 on completeness — the concurrence holds only with runtime-enforced jail coverage and a non-poisonable wiki. Sol + Fugu hardening list adopted (§11). |
Every place agent-generated content crosses into a trusted role. One boundary is UNSOUND today; the poisoned-doctrine chain (TB1→TB6→TB3) escalates to UNSOUND the moment the assembler wires without guards. Named as sound and not the problem: default-deny unattributed callers, hash-chain suspect mode, idempotency dedup, CAS envelope hashing, and the card's active-content contract.
| # | Crossing | Verdict | The exploit / the fix |
|---|---|---|---|
| TB4 | Terminal-state markers parsed from agent output | UNSOUND | FP'd 3× already; weaponizable — an agent emits the marker (or post-M4, the enum) mapping to the gate-skipping state. Fix: trusted-side emitters only (§11). |
| TB1 | Wiki page → dispatch hydration | NEEDS-GUARD | "Egress check flaky, skip on retry" with triggers=[egress] hydrates every egress task — a soft jail bypass by doctrine. Becomes UNSOUND when auto-post-mortem ships without the evidence-resolver. |
| TB3/TB6 | Assembler + generated card → operator belief | NEEDS-GUARD | Escaping stops XSS, not misframe: a stale page claiming low blast radius puts "worst-risk: low" in the strip; the operator approves an S1 push in 8 seconds. Fix: strip machine-computed from the envelope, premise-marked (integrity ≠ truth), wiki barred from the strip, adversarial assembler soak. |
| TB5 | EXECUTED flips on observed audit row | NEEDS-GUARD | The row observes the invocation, not the effect — a no-op or deduped retry still writes one. Split dispatched / effect_confirmed; also the precondition for safe failover. |
| TB7/TB9 | Context egress to card-gen model / Homer vendor | NEEDS-GUARD | Zero-retention is contract-not-control; error output carries unscrubbed secrets on the least-hooked path. Fix: one mandatory local pre-egress scrubber at the chokepoint. Note: the Sonnet second opinion checks hallucination, not poisoning — both models read the same poison. |
| TB11 | External finding → proof-query | NEEDS-GUARD | evidence_ref proves the tool said it, not that it is true — a scanner echoing a code comment could gate a clean push. Findings seed a locally-run check; your re-derivation proves the premise. |
| TB12 | Lane failover → higher-privilege lane | NEEDS-GUARD | A 429'd executor failing over into a control-plane-adjacent lane silently elevates. Equal-or-lower privilege, identical tool contract, never control-plane ↔ executor. |
| TB13 | Observer coverage vs jail coverage | NEEDS-GUARD | Any path the observer sees that the jail does not intercept is an ungoverned confidentiality hole; the static detector's existence is the tell. Runtime-enforce coverage equality. |
| TB2 | Generated card → operator (active content) | SOUND | No scripts / handlers / forms, HTML-escape, frame owns actions — 96/96 held. The well-formed boundary. |
Fugu's structural addenda, adopted: envelope integrity ≠ envelope truth (CAS proves no-tamper, not correctness — strip numbers derived upstream get premise marks, proven vs pending); card-trust erosion is a real failure mode under optimistic render (the action gate fires later, but the operator's belief — and his trust in cards — is already spent, and F's own "or he defaults back to terminals" prices that); and the sequencing constraint: the assembler must not wire before the wiki write-guards exist.
Re-sequenced 2026-07-09 after the operator's doctrine correction (functionality first, derive value, checks async — the panel's guards-before-value order inverted the binding rule and is reversed). W1 ships the value loop now; W2 fixes plumbing that has already bitten; W3 layers the deterministic safety net onto the live loop as async action-gates. Every step is a governed dispatch with independent verification; nothing below adds a new operator duty.
| # | Step | Owner lane | Done means |
|---|---|---|---|
| W1a | Two-source context assembler + packet-arrival hook — session slice + app/wiki slice per packet; generator fires on landing; deterministic fallback card; machine-context re-soak at the 96/96 bar | cockpit agent | packet → card with zero human assembly, at soak parity |
| W1b | Two-judge wiki auto-publish pipeline — post-mortem extractor drafts from failures; TWO cross-family judges, different-lens prompts (evidence-entailment lens + trigger-scope/blast lens; never same-family, per the correlation data); agreement → active, hydrating; disagreement → operator card; hydration logging + page-ID stamping from day one | FleetOS agent | a real failure becomes a hydrating page with no hand-writing; operator sees only splits and scope |
| W2a | Trusted-side emitter classifier — gate decisions only from StarGate codes / orchestrator-observed exits / independent gate results; agent text and agent-emitted enums demoted to advisory (TB4 — already bit us 3×, this is a repair, not a guard) | StarGate agent | no gating input is agent-controllable; FP-3× class impossible by construction |
| W2b | Typed attempt/outcome ledger + route failover — sidecar lifecycle channel, outcome_unknown, per-attempt attribution; route contracts, circuit breakers, equal-or-lower-privilege failover, logical_dispatch_id/attempt_id split, effect-reconciliation before re-dispatch, executed:dispatched vs effect_confirmed, lane state as machine state, route_exhausted | StarGate agent | a full mid-day 429 storm resolves with zero operator touches and zero double-executes |
| W3 | Async safety net on the live loop — shared pre-egress scrubber at the StarGate chokepoint (all machine-leaving context, error paths included — the binding secrets rule); evidence-resolver as a background demotion trigger (unresolvable claims demote to suspect, never block publication); auto-suspect on failure-over-representation; retraction propagation ("who did I mislead"); adversarial soak (poisoned transcript, stale pages, secret-bearing errors); premise marks on strip numbers | StarGate + cockpit agents | bad pages demote themselves; no unscrubbed context leaves; wrong-page detection is free |
| W4 | Done-ledger + Homer instrumentation — agent-side placement, fail-open on outage, machine-derived labels, local mirror of every check; the measurement dossier is directional per Fugu's circularity finding | FleetOS agent | Homer's keep-in-path conditions (scrubber · fail-open · owned ledger) all hold; conviction criteria readable from the ledger |
| W5 | KAPATI corpus close — doctrine mirroring (disjoint-corpora fix), single-source taxonomy across repos, replay-confirmed auto-publish tightening | FleetOS agent | hydration reads what actually governs; taxonomy has one source of truth |
| W6 | External-finding normalizer — envelope, findings seed locally-run checks (never vendor-trusted premises), quarantine lane; scanners auto on high-IAL surfaces | FleetOS agent | a CodeRabbit finding lands as a locally-proven proof-query or a typed packet, never prose |
| W7 | Instrumentation — time-to-resolve per card kind (the 8-second KPI), hydration/citation recall, shadow recipe hydration (C23 learning, dark) with auto-retrigger thresholds | cockpit agent | the cockpit KPI reports; C23 has an owner and a wake-up condition, not a vibe |
Milestone consults: at W1 close (value loop live) and W3 close (safety net live), the constellation (Sol · Fable · Fugu) re-convenes on the updated package — per the operator's standing instruction that milestones call the advisors.
Method and bias disclosure. Each model's output is scored against what survived: adopted into the final rulings, refined by a peer, convicted by a peer, or reversed by the operator's data-backed correction. The synthesis judge (Claude Fable 5, this session) shares a family with one contestant — per the correlated-errors literature that biases judgment, so every claim below is a traceable outcome count, not a quality impression. Roles differ: the lead drafts and gets attacked; advisors attack with the lead's map in hand. Read scores role-adjusted.
| Model (role) | Adopted | Convicted / reversed | Wall-clock | Unique load-bearing finds |
|---|---|---|---|---|
| Grok 4.5 lead reviewer, high reasoning |
3 clean + 4 direction-right / mechanism-replaced | 1 fully (M5) + mechanism convictions on M4, M6 | ~6 min · 27KB | The central thesis ("a pipeline with open ends"), the cede/keep/absorb skeleton (adopted nearly wholesale), the attackable milestone-summary format that made the whole panel work. Its value-first instinct on wiring the cards (M1, conf 5) was convicted by Fugu — then vindicated by the operator's reversal. |
| GPT 5.6 Sol advisor: architecture + economics, ultra |
~7 mechanisms, most of any advisor | 2 overruled by operator (Homer shadow-only; ledger-before-cards priority); ~3 of its 5 "WRONG" verdicts were overreach | ~25 min · 17.5KB | Layer-not-product unit of analysis; the entire failover mechanism suite (route contracts, circuit breakers, reconcile-before-retry, executor≠infra); raw-text-retained-as-evidence; only model to catch that S2-filtering violated never-drop; jail skepticism (C=3–4) later validated by Fugu's independent convergence. |
| Claude Fable 5 advisor: operator loop + doctrine, lane 5 |
~9, highest adoption count (family-bias caveat applies; each traceable) | 1 major: the anti-two-judges argument ("three signatures") — rhetorically strong, empirically unexamined, demolished by the operator's facts | ~20 min · 19KB | The disjoint-corpora finding (deepest structural insight of the review — nobody else saw it); agent-side Homer placement that dissolved the optimistic-render contradiction rather than picking a side; done-ledger as doctrine entailment; machine-derived labels; perishability-first queue; caught the lead contradicting itself (materiality matcher vs marker classifier). |
| Fugu Ultra adversary: trust boundaries, binding judge |
~8, incl. the two highest-severity finds | 3, all on one axis: safety-over-velocity (M1-after-M5 sequencing reversed; Homer DROP overruled with its mitigations kept; pre-publication gating moved async) | ~40 min · 30KB · paid | TB4 — the review's only UNSOUND-today exploit (agent-emitted enums are still marker phrases; overturned both the lead's and Sol's fixes); TB5 invocation≠effect (nobody else saw it; gates safe failover); envelope integrity ≠ truth; fusion-checks-hallucination-not-poisoning — the one caveat that survived the operator's reversal intact; convicted everyone's Homer measurement as circular. |