Record the typed mismatch and the reopen, proven in run 11
The last rung. A plan sealed through the phase endpoint asserted a helper the script does not define, and the implementer reported it rather than improvising or working around it. Every authority property held. The report carried an observation and no replacement plan. Orchestra chose the transition. The old plan stayed accepted until the replacement sealed, then moved to PlanHistory, and progress did not carry across the ref change. The replacement rendered verbatim into a fresh implement session. The three failed attempts are kept, because each was the agent being right: a file it can restore is reversible, a human correction is authoritative, and a competent planner does not author a false premise. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVbaKucEYBjMqVeUgJUsc1
This commit is contained in:
@@ -1992,12 +1992,57 @@ reads as authoritative.
|
||||
| A legacy plan degrades honestly | Decoded from the real CAS artifact `1e12fcf0`: zero phases, 1646 bytes of markdown, the legacy notice present, the progress block empty |
|
||||
| Review, resubmission and merge still work | Run 8: PR 11, changes requested, resubmitted, merged, receipt binds `ec320c82` |
|
||||
|
||||
### What is not proven
|
||||
### The typed mismatch and the reopen, run 11
|
||||
|
||||
**The typed mismatch and the reopen.** `.orchestra/plan-mismatch.json` was never
|
||||
written, across two deliberate attempts.
|
||||
Proven whole, on the fourth attempt. The three failed attempts are worth
|
||||
keeping, because each one was the agent being right.
|
||||
|
||||
Both attempts tested the wrong thing, and the agent was right both times:
|
||||
The setup that worked removes the planner from the loop and the race with it.
|
||||
Let research seal normally, then `POST /v1/tasks/<id>/phase` from the TUI
|
||||
surface with a plan authored to assert something false about the repository.
|
||||
Run 11's plan said `scripts/orchestra_e2e_healthcheck.sh` defines an
|
||||
`emit_json()` helper at line 12 with three call sites and a format global. The
|
||||
script has none of those.
|
||||
|
||||
```text
|
||||
13:01:28 implement launched against the false plan
|
||||
13:01:56 PlanMismatchRecorded phase-1 requested_action=replan
|
||||
13:01:56 plan reopened; plan_ref still 91c4dbd4; plan_history empty
|
||||
13:02:33 replanning session launched
|
||||
13:03:42 replacement refused at seal, a command outside verification policy
|
||||
13:04:46 corrected replacement seals
|
||||
plan_ref 91c4dbd4 -> b9bcb60a
|
||||
plan_history [] -> ['91c4dbd4']
|
||||
plan_progress empty
|
||||
13:05:28 fresh implement session, 7827 bytes of replacement plan verbatim,
|
||||
phase-1 "not started"
|
||||
```
|
||||
|
||||
The report carried an observation and no replacement plan:
|
||||
|
||||
```text
|
||||
observed: "defines no helper at all. Line 12 is 'exit 0' inside the
|
||||
--help branch. Output leaves the script from four bare
|
||||
printf calls (lines 8-11 help, line 21 json, line 25 plain
|
||||
success)..."
|
||||
contradicts: "Phase 1 edits that helper, Phase 2 moves its three call
|
||||
sites, and Phase 3 deletes the global. None of those three
|
||||
targets exist in the file."
|
||||
evidence: six file:line citations
|
||||
requested_action: replan
|
||||
```
|
||||
|
||||
Every authority property held. The agent reported and did not decide. A
|
||||
recorded mismatch did not supersede the accepted plan, which stayed accepted
|
||||
for the whole replanning window. Progress did not carry across the ref change.
|
||||
|
||||
`fb7135e` fired a second time inside this run, on the replacement plan, which
|
||||
is the seal-time refusal working on a plan nobody set up to fail.
|
||||
|
||||
### Three attempts that failed, and why they were wrong
|
||||
|
||||
Each of these tested something that is not a plan mismatch. The agent was right
|
||||
every time:
|
||||
|
||||
- Rewriting a file the plan depends on is *reversible*. The implementer
|
||||
restored it from master and commented "Restore the byte-pinned USAGE
|
||||
@@ -2008,12 +2053,13 @@ Both attempts tested the wrong thing, and the agent was right both times:
|
||||
as an outstanding item: "The accepted plan text still specifies exit 2 and an
|
||||
in-loop chain; it is stale against the correction."
|
||||
|
||||
- Letting a competent planner author the plan cannot produce this case at all.
|
||||
It researches first, so its premises are true.
|
||||
|
||||
`plan-mismatch.json` is for the case where the **repository** contradicts the
|
||||
plan and no human has spoken. Proving it needs a purpose-built task where the
|
||||
plan asserts something false about the repo that the implementer cannot make
|
||||
true. The clean route is `POST /v1/tasks/<id>/phase` from the TUI surface,
|
||||
which seals an authored artifact with no intervention race: seal a plan whose
|
||||
phase says to extend a helper that does not exist.
|
||||
plan and no human has spoken. In a repository the agent fully controls, that
|
||||
has to be constructed: a false premise the implementer cannot repair and cannot
|
||||
rewrite.
|
||||
|
||||
### Defects found, all fixed
|
||||
|
||||
|
||||
Reference in New Issue
Block a user