Record F38 and F39
The agent guessed an undocumented schema and was never told it guessed wrong. The operator noticed the stall before the system reported anything. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011xsXyr5J1RACo71YeKG3Pu
This commit is contained in:
@@ -1607,3 +1607,32 @@ implement launch -> correction above accepted plan above accepted research
|
|||||||
The correction is held until the plan successor is definitely live. Posting
|
The correction is held until the plan successor is definitely live. Posting
|
||||||
earlier still exercises F20 and F23, but it cannot prove a mid-plan correction
|
earlier still exercises F20 and F23, but it cannot prove a mid-plan correction
|
||||||
outranks accepted research and the current trajectory.
|
outranks accepted research and the current trajectory.
|
||||||
|
|
||||||
|
### F38 and F39: the agent guessed a schema, and was never told it guessed wrong
|
||||||
|
|
||||||
|
Run 5 sealed `research.json` at 01:47:52 and wrote
|
||||||
|
`{"from": "research", "to": "plan"}`. Nothing moved for five minutes. The
|
||||||
|
operator noticed before the system reported anything.
|
||||||
|
|
||||||
|
```text
|
||||||
|
research artifact: json: cannot unmarshal string into Go struct
|
||||||
|
field Research.dead_ends of type workphase.DeadEnd
|
||||||
|
```
|
||||||
|
|
||||||
|
F38: the brief said `Seal .orchestra/research.json before you ask` and
|
||||||
|
described the contents in prose. It never stated the schema. The agent wrote
|
||||||
|
`dead_ends` as strings where the decoder wants `{tried, why_failed}` objects.
|
||||||
|
Everything else in the artifact was correct.
|
||||||
|
|
||||||
|
F39: `requestPhase` refused through `recordError` alone. `answerRefusedPhase`
|
||||||
|
ran only on a coordinator 409, so a local decode failure reached nobody. The
|
||||||
|
session parked at a boundary with no feedback, and worker health holds one
|
||||||
|
error slot (F18), so even that trace was overwritable.
|
||||||
|
|
||||||
|
F39 is the serious half. F38 alone costs one corrected file. F39 turns any
|
||||||
|
local refusal into a silent stall.
|
||||||
|
|
||||||
|
Fixed in `0bd86e2`. The brief carries the shape, and every local refusal now
|
||||||
|
reaches the agent. `TestPhaseSealSchemasDecode` decodes each documented shape
|
||||||
|
with the function the worker uses: flipping `dead_ends` back to strings
|
||||||
|
reproduces run 5's exact error at build time.
|
||||||
|
|||||||
Reference in New Issue
Block a user