Repository navigation
馃摑 docs(spec): draft S-0096, the loose ends the 0.1 nights left - #31
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EabbhASMvWNhC7x4K9NJMF
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.
This drafts the engine loose ends on the 0.2 list. It is a draft for the owner to accept. All four decisions are ASSUMED, and no LOCKED row is touched.
D-1: a halt that cites no LOCKED row escalates
underspecified. Only a halt citing a LOCKED row stayslocked_conflict, which amends S-0092/D-3 (ASSUMED). Such a round then gets S-0092/D-1's one retry with the whole document's scope. This is the T-0276 case from bloomery night 17. The code change is the lastreturninsession._halt_reason.D-2: a red completion battery escalates at once where no review leg runs.
process_lanegains aroundsflag, set fromthreads.enabledwithrecordamong the sources. Without rounds, a red battery escalates the completing task asblocker_findinginstead of waiting for a round nobody mints. This is the S-0095 case on torve itself, and it narrows S-0093/D-3 and D-4 to repositories that run a review leg.D-3:
--nightimports fresh contracts itself._serveruns the scan'smintbeforeopen_night. No row made the night refuse fresh contracts; it was an ordering accident. S-0079/D-6 still refuses a queue that is empty after the import.D-4: the T-0113 rule also pairs a module with every existing
tests/test_<stem>_*.py. Measured over the corpus's 164 phases:The prefix rule catches S-0095 phase 3's
test_fleet_config.py.Q-1: should a missing prefix-named test file refuse the contract, as T-0113 does today, or only warn? Lean: refuse. Allowing a file costs a phase nothing.
Phasing: five phases, scoped to own every test that imports a module they change.
spec fmtandspec checkare clean. A dry-runplancan't run on a draft, so the phasing was checked by hand: every scoped file exists, and the phases that overlap are ordered.馃 Generated with Claude Code
https://claude.ai/code/session_01EabbhASMvWNhC7x4K9NJMF