docs(os-dev): name the slot before the first lock attempt, in the queueing clause itself - #13099
Draft
os-litant wants to merge 1 commit into
Draft
docs(os-dev): name the slot before the first lock attempt, in the queueing clause itself#13099os-litant wants to merge 1 commit into
os-litant wants to merge 1 commit into
Conversation
…ueing clause itself The queueing clause told a dev to spend the lock interval on lock-free work and come back, but never said the name must be set BEFORE the first attempt: a slot named after a call exits starts a new place rather than recovering the lost one. The wrapper side already states this at second zero; this is the contract side, inline with the come-back instruction. Net-0 under the 466-line ratchet: paid for by cutting the stale parenthetical claiming the mechanism only introduces itself in --help and the exit-99 text (the wrapper's second-zero notice made that false). Claude-Session: https://claude.ai/code/session_01MnijPVVDakqK2J335JoJtq
This was referenced Aug 29, 2026
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.
Fixes #12784
What
One-sentence contract-side addition to the verify-lock queueing clause of
.claude/agents/os-dev.md(资源纪律 rule 7): the slot name must be set BEFORE the first lock attempt, and coming back is done with the same stable name — a slot named only after a call exits starts a NEW queue place rather than recovering the lost one. The wrapper side already tells every queued no-slot call this at second zero (scripts/pm/os-verify-lock.sh, the arrival notice: "Set it NOW, not after this call exits: a slot named later starts a NEW place"); #12538 landed that wrapper-side notice and could not reach the contract. This lands the same fact where a dev following the written discipline actually reads it — inline with the "spend the interval on lock-free work and come back" instruction, no new section.Before / after (clause lines 112-115)
Angle-bracket placeholders are spelled as bare words below (sanitizer discipline); the diff carries the exact bytes.
Before: "…⇒ 再跑一次;循环全程设 OS_VERIFY_LOCK_SLOT=NAME —— 没排到的调用把排位寄存,同名再来续原到达戳;不设它,每次离开都从队尾重排(该机制只在 --help 与 99 的出错文本里自我介绍,读到那里已经丢过一次位)。"
After: "…⇒ 带同名再跑一次;OS_VERIFY_LOCK_SLOT=STABLE-NAME 在第一次尝试之前就设好 —— 没排到的调用把排位寄存,同名再来续原到达戳;不设它,每次离开都从队尾重排,事后补名开的是新排位,救不回已丢的那个。"
Ratchet (net-0)
.claude/agents/os-dev.mdline countCut ledger
scripts/pm/os-verify-lock.sharrival notice + its help textAlso: placeholder NAME → STABLE-NAME (the card's "stable name"), and the come-back instruction now carries the slot ("带同名再跑一次").
Gates
Union derived at commit 328629e (working tree clean) via
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack— repo assertion held, 10 matched families, all run at that head. Changeset families N/A: docs-only.claude/**diff,skip-changesetapplied at PR-open.Governance
Governed instruction surface: stays DRAFT, human merge only — no ready flip, no auto-merge, not for the merge queue.
Session: https://claude.ai/code/session_01MnijPVVDakqK2J335JoJtq
Generated by Claude Code
Generated by Claude Code