Commit d4ba08c
chore(harness-state): integration pass — docs reconciliation and proven invariant rows (#326)
* docs(invariants): add the two observed-harness-state rows their tests now prove
Scoped delivery-input wakeups and the observed-harness-state discipline
(derived-only unknown, byte-distinct writes, evidence-gated heartbeat,
terminal-before-escalation), per CLAUDE.md's green-test gate.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test(harness-state): prove the terminal record lands before SIGKILL escalation
A real-wrapper subprocess proof: the wrapper runs as its own process
group with a TERM-ignoring provider, st2's stop path escalates after
STOP_GRACE, and the record reads ended/signal 9 — the clause the
discipline row previously claimed without a covering test. The row's
wording now also names the driver processes (wrapper, channel, hooks)
per the multi-writer design, the restatement bound, and the new proofs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): measured limits, pi ownership split, and the DQ-H2 resolution
The pi section states the channel/wrapper ownership split and the
agent_settled idle edge with its why; reader-side limits gain the
pty-kill pidfile removal and the codex >=0.148 pin refusal; DQ-H2
records the measured 3 Hz failure mode and its envelope fix; the
ontology entry drops the reserved word 'working'.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test(harness-state): synchronize the teardown proof on the provider's installed trap
The status file only proved the wrapper spawned the child; a slow
scheduler could let SIGTERM kill the provider inside the grace window and
pass the test without exercising escalation. The provider now writes a
ready marker after trap '' TERM, and the signal waits for it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): session-owned writes, fenced live records, and the ask axis
Spec, requirements, and ontology align with cycle 2: the session-takeover
write-through rule, ptySession required for live states (unfenced-record
derivation), unreadable-record and unsupported-schema rows, the ask kind
across the vocabulary and all four producer tables, stop-aware codex
startup, question re-seeding on reconnect, and the probe root resolving
exactly as the runner does.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): token ownership, honest Draft residuals, and the cycle-3 producer rules
The Draft rationale names the real residuals (DQ-H5 and the eventless
deny window) now that both captures are folded in; the record contract
states incarnation-token ownership and monotonic stamps; codex documents
pending-retry evidence, pi its terminal-only observer, opencode its
atomic seed and full gate subset, and claude union supersession,
late-hook fencing, and the hooks-only limitation.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): directional ownership, preflight-first stop handling, and the cycle-4 producer rules
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test(harness-state): the teardown matrix covers opencode's own stop implementation
Escalation writes the cover record before the group SIGKILL, a
grace-window reap rewrites it with the real exit, and the discipline
row's proof list names both — proven against the real wrapper binary.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): state the dual-claim tie and hook-environment residuals
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* style: format the opencode teardown additions
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): dissolve the dual-claim residual and state the pty-kill window honestly
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test(harness-state): escalation proofs assert the wrapper's own SIGKILL death
A wrapper that exited any other way never exercised the escalation path;
both stop-implementation escalation cases now pin the wrapper's exit
signal.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): cycle-6 producer rules — guarded wrapperless claims, legacy-seat coverage, atomic seeds, degrade-not-die launches
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): cycle-7 rules — atomic wrapperless claims, stop-aware startup waits, shape-gated seeds, silence horizons
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): the opencode seed and poison guarantees match the shipped projection
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): the integration layer's claim statement is floor-aware too
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(vrs): the claim placeholder is documented as a fence, and DELTA-005 stays deleted
The projection table gains the claimed row and both claim statements match
the shipped reader: a fresh exitless superseded placeholder derives
indeterminate (reason 'claimed') until the session's first real
observation. The seed/poison guarantee now states the widened rule — any
session's unreadable status word poisons, sticky terminals outrank it. The
DELTA-005 file, whose resolution rule was met when the producers landed,
is deleted so the status claim and the tree agree.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
agent-identity: unknown
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.0.3
agent-runtime: OMP 18.0.3
tooling-profile: dotfiles@f33cd9c-dirty
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: schickling-assistant <261620128+schickling-assistant@users.noreply.github.com>1 parent 802fe21 commit d4ba08c
6 files changed
Lines changed: 425 additions & 87 deletions
File tree
- docs/vrs
- .delta
- 05-harness-state
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
Lines changed: 0 additions & 44 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
35 | 39 | | |
36 | 40 | | |
37 | 41 | | |
| |||
0 commit comments