Record F34, F35 and F36 from run 5's second attempt
Run 5 reached the phase transition, further than any previous run, then stopped on F36: the adapter emits a rotation reason the validator refuses. Each defect tonight was reachable only after the previous fix. Tests passed throughout. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011xsXyr5J1RACo71YeKG3Pu
This commit is contained in:
@@ -1482,3 +1482,63 @@ F31 DEPLOYED, still awaiting a first rotation
|
|||||||
F32 DEPLOYED, live-proven, slot reaped and freed
|
F32 DEPLOYED, live-proven, slot reaped and freed
|
||||||
F33 fixed in 32220d9, needs a rebuild, BLOCKS every launch nondeterministically
|
F33 fixed in 32220d9, needs a rebuild, BLOCKS every launch nondeterministically
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Run 5, second attempt: two more layers, 2026-08-28
|
||||||
|
|
||||||
|
The stuck launch was recovered by hand, one Enter into the pane. That is an
|
||||||
|
operator recovery of a keystroke Orchestra believed it had already delivered,
|
||||||
|
not a lifecycle intervention, and F35 turns it into an action for next time.
|
||||||
|
|
||||||
|
### F34, live-proven while being written
|
||||||
|
|
||||||
|
```text
|
||||||
|
01:33:37 first renewal allowed, no baseline, lease extends 21:43 -> 22:03
|
||||||
|
```
|
||||||
|
|
||||||
|
The pane had not changed since 01:13 and held unsent text. The renewal gate
|
||||||
|
exempts a lease with no baseline, which grants a full free period to exactly
|
||||||
|
the case the gate exists to catch. Fixed in `92f32d6` by baselining the
|
||||||
|
progress hash at launch.
|
||||||
|
|
||||||
|
### F35: nothing could re-poke a pane
|
||||||
|
|
||||||
|
The UI offered `grant_approval`, `deny_approval`, `handoff`, `release`, `block`
|
||||||
|
and `complete`. Orchestra can put text in an editor and be wrong about whether
|
||||||
|
it landed, and the only recovery was to destroy the lease and wait out expiry.
|
||||||
|
|
||||||
|
`resubmit` presses Enter on text Orchestra itself submitted. No lifecycle
|
||||||
|
change, so no event; fenced like an approval, on a live worker-owned pane at
|
||||||
|
the capture revision the operator was looking at. In `92f32d6`.
|
||||||
|
|
||||||
|
### The gate, half cleared
|
||||||
|
|
||||||
|
```text
|
||||||
|
01:36:35 phase request accepted: frame to research
|
||||||
|
01:36:35 acceptance delivered, confirmation=queued
|
||||||
|
01:36:35 phase changed: session rotating
|
||||||
|
```
|
||||||
|
|
||||||
|
Further than any previous run. `work_phase` reached `research` and the request
|
||||||
|
artifact was consumed.
|
||||||
|
|
||||||
|
### F36: the two halves of the handoff contract disagreed
|
||||||
|
|
||||||
|
```text
|
||||||
|
before adapter: invalid handoff answer: invalid handoff authored field: prose smuggled into list
|
||||||
|
after adapter: upload handoff: invalid handoff meta
|
||||||
|
```
|
||||||
|
|
||||||
|
F31 cleared the parse, and the release then failed one stage later.
|
||||||
|
`handoffReason` has emitted `phase_changed` since phase rotations landed. The
|
||||||
|
validator's `reasons` list was never extended, so every phase rotation built a
|
||||||
|
handoff it then refused.
|
||||||
|
|
||||||
|
Fixed in `b9ca365`. The test asserts the property, not the constant: every
|
||||||
|
reason the adapter can produce must survive `Validate`, including its fallback.
|
||||||
|
|
||||||
|
### Pattern worth naming
|
||||||
|
|
||||||
|
Six defects tonight, each hidden behind the one before it. F30 was reachable
|
||||||
|
only once F29 let an operator act, F32 only once F30 tried to reap, F34 and F36
|
||||||
|
only once F33 and F31 let execution get that far. Tests passed throughout. The
|
||||||
|
only thing that surfaced any of them was running the system.
|
||||||
|
|||||||
Reference in New Issue
Block a user