chore(rivet): record the remainder of v1.5.0's scope before building it (#313) - #342
Open
avrabe wants to merge 1 commit into
Open
chore(rivet): record the remainder of v1.5.0's scope before building it (#313)#342avrabe wants to merge 1 commit into
avrabe wants to merge 1 commit into
Conversation
…it (#313) `rivet release status v1.5.0` reported "✓ Cuttable" while the release contained exactly ONE artifact — Tier-2 slice 1. The gate was not wrong about that artifact; it was reading green because the scope was almost empty, and a release gate that passes on an empty scope is indistinguishable from one that passes on a finished release. That is the same defect class this repository has now found five times in the code — a trap gate with 19 passing tests and zero callers (#288), a premise hook with no producers (#323), a pin defended only by a comment (#318), a proof that had never run, and `loom verify` printing a checkmark without opening the file (#332). Each time the artifact existed, was tested, and looked maintained, and nothing reached it. This is the first instance found at the REQUIREMENTS layer rather than in the code. Records the remaining #313 scope as six `draft` artifacts — Tier-2 slices 2 through 6 plus the exit conditions — so the gate reports what is actually outstanding: Release v1.5.0 — 7 artifact(s) draft 6, verified 1 ✗ NOT cuttable — 6 artifact(s) not yet verified. Each carries its acceptance criteria up front, written as the assertions that must FAIL if the capability is removed, per #289. Three that would otherwise be easy to get wrong later are pinned now: - slice 2 must keep div_s/rem_s asymmetric — div_s(INT_MIN,-1) traps, rem_s(INT_MIN,-1) is 0 — and must reject trap INTRODUCTION as well as trap removal; a one-directional check accepts half the bug class. - slice 6 must prove the non-singleton `valueSet` path is REACHABLE, not merely present, and must RESOLVE #283 rather than transcribe it. - the exit artifact is what makes the retirement checkable instead of declared, and it is not startable until `both` mode is clean. No code changes. Scope only. Refs #313, #283, #289, #300, #311, #332 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZof1M5HMBSYVZPeoT4MEn
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.
rivet release status v1.5.0reported "✓ Cuttable" while the release contained exactly one artifact (Tier-2 slice 1). The gate was not wrong about that artifact — it was reading green because the scope was almost empty, and a release gate that passes on an empty scope is indistinguishable from one that passes on a finished release.This is the same defect class the repository has now found five times in code — the trap gate with 19 passing tests and zero callers (#288), the premise hook with no producers (#323), the pin defended only by a comment (#318), a proof that had never run, and
loom verifyprinting a checkmark without opening the file (#332). This is the first instance found at the requirements layer rather than in the code.Change
Records the remaining #313 scope as six
draftartifacts — Tier-2 slices 2–6 plus the exit conditions.Before / after:
Three things pinned now because they are easy to get wrong later
div_s/rem_sasymmetric —div_s(INT_MIN,-1)traps,rem_s(INT_MIN,-1)is0— and must reject trap introduction as well as trap removal. A one-directional check accepts half the bug class.valueSetpath is reachable, not merely present, and must resolve Investigate: verify.rs opaque-float shared const name may unify distinct float ops (verifier soundness) #283 rather than transcribe it.bothmode is clean.Each artifact carries acceptance criteria written as assertions that must fail if the capability is removed, per #289.
No code changes. Scope only.
rivet validate→ PASS.Refs #313, #283, #289, #300, #311, #332