docs(vrs): close DELTA-001 and DELTA-004, and ratchet the collided decision numbers - #505
Merged
schickling-assistant merged 2 commits intoSep 7, 2026
Merged
Conversation
…cision numbers DELTA-001 said the SessionStart hook's Rust acceptance test "has not been compiled or executed". Its Resolution Signal asked for exactly one thing: that `tests/claude_hooks.rs` compile and pass with bash and `jq` present, with the command recorded. Rather than record a local run, the target now rides the gate — it is hermetic (its only external process is `jq`, and the derivation already supplies `pkgs.bash` and `pkgs.jq`), so a regression fails CI instead of going unobserved. Delta deleted, per the convention that a delta record exists only while its divergence does; `spec.md` now states the gated fact where it used to cite the record. DQ5 stays open and independent: these tests do not prove durable failure propagation. DELTA-004 asked for a protected amendment to STREAM-R04/R05. The amendment has landed: R04 now bounds replay identity to "while its identity remains in the stream's retained receipt ring" and says an archive receipt "is not an event-identity index"; R05 makes the ring the horizon and forbids scanning inbox or archive history; decision 0004-stream-events-are-a-distinct-record-kind carries the same sentence. Only DQ-S3 still asserted the conflict — reworded, so what remains open is the unmeasured *value* of `K = 128`, not the contract. Delta deleted. Collided decision numbers: four numbers name two files each, so `0015` alone is ambiguous — and it was cited bare 23 times across docs, `src` and `tests`. Every citation now carries its stem, and `collided_decision_numbers_are_never_cited_bare` ratchets it: a new bare citation fails the (now gated) `vrs_ledger` target instead of being discovered by a confused reader. The two files whose subject IS the collision are exempt by name. `axe vrs check --profile strict docs/vrs`: ok. agent-identity: dev3.direct.omp.43sz6ujq agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.1.7 agent-runtime: OMP 18.1.7 tooling-profile: dotfiles@39a19af
A Markdown link with a bare label but a stemmed target — `[decision 0014](../.decisions/0014-harness-context-is-a-sibling-numeric-record.md)` — already says which file it means. The first form flagged four of those. agent-identity: dev3.direct.omp.43sz6ujq agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.1.7 agent-runtime: OMP 18.1.7 tooling-profile: dotfiles@39a19af
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
T1-DOCS of
reports/deepclean-st2.md§4: close the two closable deltas, stop the ambiguous citations, and make both self-enforcing.DELTA-001 — closed, by gating the test it was opened about
The record said the SessionStart hook's Rust acceptance test "has not been compiled or executed", and its Resolution Signal asked for exactly one thing: that
tests/claude_hooks.rscompile and pass with bash andjqpresent, with the command recorded.Recording a local run would satisfy the letter and not the point. The target is hermetic — its only external process is
jq, its only other input is theCARGO_BIN_EXE_st2binary the same build produces, and the derivation already suppliespkgs.bashandpkgs.jq— so it now rideschecks.st2'scargoTestFlags. A regression fails CI instead of going unobserved, which is the condition the delta existed for.Gate result:
Running tests/claude_hooks.rs … test result: ok. 5 passed; 0 failed.The delta file is deleted, per the convention this repo already follows (DELTA-003 and DELTA-005 were deleted on resolution, not marked closed — and
axe vrs check --profile strictenforces it: a delta whose status is notopenis an error).spec.mdnow states the gated fact where it used to cite the record. DQ5 stays open and independent: these tests do not prove durable failure propagation.DELTA-004 — closed, the protected amendment already landed
The record asked for maintainer approval to amend STREAM-R04/R05. That amendment is in the tree:
0004-stream-events-are-a-distinct-record-kindcarries the same sentence.Only
DQ-S3still asserted the conflict. Reworded: what remains open is the unmeasured value ofK = 128, not the contract it defines. Delta deleted.Ambiguous citations — qualified, then ratcheted
Four decision numbers name two files each (
0005,0007,0014,0015), so0015alone is undecidable for a reader — and it was cited bare 23 times acrossdocs/,src/andtests/, not the 9 the report counted. Every one now carries its stem (decision 0015-immutable-agent-id-and-mutable-address), chosen per site from context: the wake-channels0015in the reconcile-wakeup experiment, the identity0015everywhere else; the omp0007; the streams0005; the resource-profiles0014.tests/vrs_ledger.rs::collided_decision_numbers_are_never_cited_bareratchets it, walkingdocs/vrs,src,testsandcrates. A line that names the stem anywhere — including a Markdown link with a bare label but a stemmed target — satisfies it; a genuinely bare citation fails. The two files whose subject is the collision (docs/vrs/spec.mdand decision0006) are exempt by name, and achecked >= 20floor keeps the test from passing vacuously if the walk ever stops finding anything.Renumbering the collided files stays refused: they are ratcheted recorded history with 26 inbound references, and
root_decision_number_duplicates_match_recorded_historypins the collision set.Checks
nix build .#st2 --no-link -L: EXIT=0 (ptyst2.clean-5.gate2, log/tmp/st2-clean5-gate2.log), including the newly gatedclaude_hooks(5 passed) andvrs_ledger(4 passed — 3 existing plus the new ratchet).axe vrs check --profile strict docs/vrs: ok. It was the check that caught the first attempt: marking a deltaclosedin place is an error in this repo, which is how the delete-on-resolution convention got applied rather than guessed.grep -rn "DELTA-001\|DELTA-004"overdocs/,src/,tests/,INVARIANTS.mdandREADME.mdreturns nothing.Not in scope
T3-INV(fold 4 INVARIANTS duplications, 3 bare-file cites, 2 platform-gated cites, 1 overclaim) andT3-D005both need maintainer approval on a protected surface — tracked in #503 with their gates.DELTA-002,DELTA-003andDELTA-005stay open: DELTA-003 is narrowed but its single remaining bus_id-only resolver is itself a pre-landing defect to keep, and DELTA-005's stale sentence is in a protected requirement.Posted on behalf of @schickling
agent_identitysessionagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimetooling_profile