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
|
||||
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