mirror of
https://github.com/mvschwarz/openrig.git
synced 2026-11-08 08:11:17 -10:00
docs(51-02): scope scenario-02's claim to what it proves (desk ruling)
orch-advisor ratified the EVIDENCE and refused the READING. The file called daemon-restart 'the faithful, v1-green reading of #2'; the locked format forbids exactly that substitution (PRD line 20 — the seat-level restart verb and daemon:{op} are distinct, neither routes through the other), and the arch acceptance row names a SEAT restart plus a seat pane observable. What the scenario proves is STRICTLY HARDER than the locked ask, which is why it stands as built: a seat relaunch never touches daemon state, so the locked form tests baton survival against a process that does not own the baton, while this kills and re-spawns the process that owns the SQLite. What it does NOT prove — that a relaunched seat re-attaches to its claimed baton, and the pane 'restored' observable — is now stated as an untested, distinct failure mode rather than implied by a 'faithful reading' label. Also records WHY the other half is deferred: no snapshot-free per-seat kill+relaunch verb ships, so the locked #2 is not expressible with the current verb set. That falsifies the arch table's 'expressible today' mark for row 2 and is routed to PM as a 0.5.1 finding. Comment-only in a fixture; scenario-pipeline 10/10 unchanged. Made under the desk ruling, deliberately OUTSIDE dev50-guard's pre-edit CLEAR (which scoped to the src comment and excluded test changes) — separated so the boundary stays legible rather than folded in silently. Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
1 parent
560bd2f46a
commit
e853a93dbf
1 file changed
+23
-11
+23
-11
@@ -45,18 +45,30 @@ steps:
|
||||
- qitemId: baton-1
|
||||
state: in-progress
|
||||
destinationSession: dev-worker@scn-baton
|
||||
# RESTART = a daemon restart (kill + re-spawn on the SAME db). The baton lives in
|
||||
# the daemon's SQLite, so it must survive the daemon lifecycle. Empirically proven:
|
||||
# the qitem is byte-identical (in-progress + owner) before and after the restart.
|
||||
# DAEMON restart — and the scope of that claim is deliberate.
|
||||
#
|
||||
# Why daemon-restart and not a seat relaunch: `rig launch <rig> <node>` on a
|
||||
# RUNNING node is a no-op ("already_running") and on a down node needs a snapshot
|
||||
# (no snapshot-free per-seat kill+relaunch verb exists). The locked #2 named a seat
|
||||
# restart; the seat-level relaunch + its `expect pane "restored"` observable both
|
||||
# ride A5 items 6-8 (the stub `restore` behavior). Daemon-restart is the faithful,
|
||||
# v1-green reading of "queue baton survives a restart" and exercises the locked
|
||||
# daemon:{op} verb. RATIFICATION PENDING (orch/PM): finding artifact
|
||||
# FINDING-51-02-e2e-viability.md documents the choice + the seat-restart path.
|
||||
# RATIFIED (orch-advisor, 2026-08-11): this proves a STRICTLY HARDER durability
|
||||
# property than the locked #2 asks for. A seat relaunch never touches daemon
|
||||
# state, so the locked form tests baton survival against a process that does not
|
||||
# OWN the baton; this kills and re-spawns the process that owns the SQLite and
|
||||
# shows the qitem byte-identical across it.
|
||||
#
|
||||
# TWO DIFFERENT FAILURE MODES — do not read one as the other:
|
||||
# PROVEN here — does the ROW survive its OWNER dying?
|
||||
# NOT proven here — does a RELAUNCHED SEAT re-attach to its claimed baton,
|
||||
# and does its pane show "restored"? That is what the
|
||||
# locked #2 was aimed at, and it is UNTESTED.
|
||||
#
|
||||
# The seat-relaunch half is not expressible with the shipped verb set: `rig
|
||||
# launch` on a RUNNING node is a no-op ("already_running"), on a down node it
|
||||
# needs a snapshot, and no snapshot-free per-seat kill+relaunch verb exists.
|
||||
# That product gap — not a choice of convenience — is why the half is DEFERRED
|
||||
# to A5 items 6-8, and the arch acceptance table's "expressible today" mark for
|
||||
# row 2 is routed to PM as a 0.5.1 finding.
|
||||
#
|
||||
# The locked format keeps these verbs distinct (PRD line 20: neither routes
|
||||
# through the other), so daemon-restart is NOT a substitute reading of the
|
||||
# seat-level restart — it is a different, harder property standing beside it.
|
||||
- daemon: { op: restart }
|
||||
- expect:
|
||||
surface: queue
|
||||
|
||||
Reference in new issue
Block a user