From dfb6212b92f4b313a188bda510cd808a4747df0c Mon Sep 17 00:00:00 2001 From: Lee Overy Date: Sun, 26 Jul 2026 20:53:25 +0100 Subject: [PATCH] fix(prose-tests): the verdict names only the model the record names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deliberately breaking a skill to prove the harness catches it turned up something else. The orchestrator returned "first walk claude-sonnet-5, escalated rerun claude-opus-5 (asserter: claude-sonnet-5 both times)". The asserter was not on Sonnet. Every asserter transcript from that run is claude-opus-5, with zero tool calls, exactly as contracted; the Sonnet agents were the orchestrators, which are Sonnet by design. Nor could the orchestrator have known either way — the only model in the record comes off the walker's SubagentStop line, and no agent's own model appears anywhere it can read. So a slot that exists to carry a fact carried a guess, in the one field whose entire purpose is catching a run that silently used the wrong model. The MODEL line now states the walking model and nothing else. The break itself was caught cleanly and reverted uncommitted: calls_in_order failed naming the exact defect while calls_include passed, which is the gap ordering was added for; engine_before_write reported N/A rather than a green tick; and the escalation ran for the first time, Opus reproducing the Sonnet failure into a confirmed finding. Co-Authored-By: Claude Opus 5 --- .claude/agents/prose-orchestrator.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.claude/agents/prose-orchestrator.md b/.claude/agents/prose-orchestrator.md index f38e81fad..95511d0c9 100644 --- a/.claude/agents/prose-orchestrator.md +++ b/.claude/agents/prose-orchestrator.md @@ -100,8 +100,11 @@ Return exactly this and nothing else: ``` CASE: -MODEL: +MODEL: VERDICT: PASS | FAIL | FLAKY | INVALID | HARNESS ERROR CHECKS: