Repository navigation
Working agreement: a pin-breaking removal must land together with its pin bump #10986
Description
Activity
huangyiirene commented
on Aug 22, 2026 CollaboratorAuthorMore actionsTriage (half-annotation repair — queued without a lane): routed
domain:skills— the deliverable is anAGENTS.mddirective (instruction-architecture file, that lane's charter), and the card was commissioned to the skills seat by the maintainer's 2026-08-22 A+C ruling on #10856. Task XS, governed-face discipline as the card already states (draft PR, request reviewos-zhuang, human merge, never ready). Ruling-implementation card — nothing to adjudicate.
Generated by Claude Code
Claim: session_01MsbKEG4LtERSLaDrbehM3e branch=claude/issue-10986-pin-bump-agreement
skills 车道执行席认领,单卡派发(XS,裁定实现)。裁定重读完毕:本卡是维护者 2026-08-22 对 #10856 A+C 裁定(「接受所有」逐字在案)的 C 半,无待裁事项;唯一评论为分诊补注,无他席认领。串行前提已清:AGENTS.md 此前被 #11091 占用,该 PR 已于 17:07Z 合并,文件空闲。约束进简报:AGENTS.md 961/961 零余量(增行须以文内删减支付,re-wrap 不算支付);治理面 draft PR + 人工合并;退休清单锚点若落在
.claude/skills/spec-property-retirement/SKILL.md须等在飞 #11092(auto-merge 已布防)落地后基于合后 main 动笔,或仅做 AGENTS.md 半边并申报。
Generated by Claude Code
- added a commit that references this issue
on Aug 22, 2026 { "issue": 10986, "status": "done", "branch": "claude/issue-10986-pin-bump-agreement", "pr": "https://github.com/objectstack-ai/objectstack/pull/11108", "premise_still_valid": true, "line_budget": { "AGENTS.md": { "before": 961, "after": 961, "ceiling": 961 } }, "commits": ["e94c5759 docs(agents): a pin-breaking removal ships with the sibling fix and pin bump"], "summary": "Encoded the C half of the 2026-08-22 A+C ruling as AGENTS.md Post-Task Checklist item 4: a removal that breaks the pinned sibling checkout ships together with the sibling fix and the pin bump, or it does not ship — with the one-clause rationale (the Console Pin Gate builds objectui at the pinned .objectui-sha against current main, so a removal the pinned sibling still imports turns main red for every PR) and the one-line pre-merge check (git grep the removed surface in ../objectui at the pinned SHA). Placed directly after item 3's retirement paragraph and before the spec-export-removal item; former items 4-6 renumbered 5-7 (only item 3 is referenced externally, unchanged). Stale-premise check on post-11091 main confirmed no existing directive covers pin-breaking removals. The one added line was paid by deleting the seventeen-phantom-pins incident parenthetical in the Build & Test section (incident case law lives in git history per the ratchet header). Draft PR only (governed surface), assigned to os-zhuang; skip-changeset applied as label union over auto-applied size/s and read back.", "gates": [ "dispatch-gates.mjs (no hand-fed paths, at final commit e94c5759): change set = AGENTS.md only; 7 families derived. First derivation also caught a pnpm-install mode flip on packages/create-objectstack/bin/create-objectstack.js — restored, re-derived clean.", "check:pm-skill-ratchet: '✓ check-skill-line-ratchet: AGENTS.md is 961 lines (ceiling 961; headroom 0).' EXIT=0", "check:pm-skill-id-lint: '✓ check-skill-id-lint: 17 file(s) clean (pattern /#[0-9]{3,}/g).' EXIT=0 — directive is self-contained, no issue numbers", "check:doc-authoring: '✓ doc authoring guard: 389 files clean — no bare metadata literals.' EXIT=0", "check:nul-bytes: 'check-nul-bytes: OK (scanned 6417 text file(s) ... no raw ASCII control bytes).' EXIT=0", "check:docs-audit-scope: '✓ docs-accuracy-audit scope is in sync with content/docs/: 189 hand-written doc(s).' EXIT=0", "check:pm-governed-merges: '✓ check-governed-merges --self-test: 119 assertions ...' EXIT=0", "check:pm-governed-prose: '✓ check-governed-prose: 2 instruction surface(s) name all 5 registered governed surfaces ... and claim no others.' EXIT=0", "check:required-contexts (pnpm) and scripts/check-required-contexts.mjs: '✓ check-required-contexts: 6 required context name(s) pinned across 2 workflow(s); 5 instruction surface(s) scanned ...' EXIT=0 both", "All exit codes captured via redirect-then-capture, never through a pipe. CI not waited on per draft-PR reporting contract." ], "deviations": [ "Checklist-line half DEFERRED by dispatch instruction: PR 11092 (auto-merge armed) is still in flight touching .claude/skills/spec-property-retirement/SKILL.md (verified absent from origin/main log at dispatch time), so only the AGENTS.md half shipped. The AGENTS.md item itself carries the one-line pre-merge check, so the rule is not silent; the SKILL.md anchor line remains available as a follow-up after 11092 lands.", "Post-Task Checklist items 4-6 renumbered to 5-7 to insert the directive as item 4; Prime Directives untouched. Only item 3 is referenced by number elsewhere (docs/audits 2026-07 ledger, ADR-0115) and its number is unchanged." ], "open_questions": [], "out_of_scope_findings": [], "tests": "Doc-only change; no package tests apply. All 9 derived/named gate families green at e94c5759 (verdict lines quoted in gates array)." }
Generated by Claude Code
Generated by Claude Code
os-dev-report (supersedes the previous comment, whose HTML-comment marker the sanitizer stripped; JSON identical)
{ "issue": 10986, "status": "done", "branch": "claude/issue-10986-pin-bump-agreement", "pr": "https://github.com/objectstack-ai/objectstack/pull/11108", "premise_still_valid": true, "line_budget": { "AGENTS.md": { "before": 961, "after": 961, "ceiling": 961 } }, "commits": ["e94c5759 docs(agents): a pin-breaking removal ships with the sibling fix and pin bump"], "summary": "Encoded the C half of the 2026-08-22 A+C ruling as AGENTS.md Post-Task Checklist item 4: a removal that breaks the pinned sibling checkout ships together with the sibling fix and the pin bump, or it does not ship — with the one-clause rationale (the Console Pin Gate builds objectui at the pinned .objectui-sha against current main, so a removal the pinned sibling still imports turns main red for every PR) and the one-line pre-merge check (git grep the removed surface in ../objectui at the pinned SHA). Placed directly after item 3's retirement paragraph and before the spec-export-removal item; former items 4-6 renumbered 5-7 (only item 3 is referenced externally, unchanged). Stale-premise check on post-11091 main confirmed no existing directive covers pin-breaking removals. The one added line was paid by deleting the seventeen-phantom-pins incident parenthetical in the Build & Test section (incident case law lives in git history per the ratchet header). Draft PR only (governed surface), assigned to os-zhuang; skip-changeset applied as label union over auto-applied size/s and read back.", "gates": [ "dispatch-gates.mjs (no hand-fed paths, at final commit e94c5759): change set = AGENTS.md only; 7 families derived. First derivation also caught a pnpm-install mode flip on packages/create-objectstack/bin/create-objectstack.js — restored, re-derived clean.", "check:pm-skill-ratchet: '✓ check-skill-line-ratchet: AGENTS.md is 961 lines (ceiling 961; headroom 0).' EXIT=0", "check:pm-skill-id-lint: '✓ check-skill-id-lint: 17 file(s) clean (pattern /#[0-9]{3,}/g).' EXIT=0 — directive is self-contained, no issue numbers", "check:doc-authoring: '✓ doc authoring guard: 389 files clean — no bare metadata literals.' EXIT=0", "check:nul-bytes: 'check-nul-bytes: OK (scanned 6417 text file(s) ... no raw ASCII control bytes).' EXIT=0", "check:docs-audit-scope: '✓ docs-accuracy-audit scope is in sync with content/docs/: 189 hand-written doc(s).' EXIT=0", "check:pm-governed-merges: '✓ check-governed-merges --self-test: 119 assertions ...' EXIT=0", "check:pm-governed-prose: '✓ check-governed-prose: 2 instruction surface(s) name all 5 registered governed surfaces ... and claim no others.' EXIT=0", "check:required-contexts (pnpm) and scripts/check-required-contexts.mjs: '✓ check-required-contexts: 6 required context name(s) pinned across 2 workflow(s); 5 instruction surface(s) scanned ...' EXIT=0 both", "All exit codes captured via redirect-then-capture, never through a pipe. CI not waited on per draft-PR reporting contract." ], "deviations": [ "Checklist-line half DEFERRED by dispatch instruction: PR 11092 (auto-merge armed) is still in flight touching .claude/skills/spec-property-retirement/SKILL.md (verified absent from origin/main log at dispatch time), so only the AGENTS.md half shipped. The AGENTS.md item itself carries the one-line pre-merge check, so the rule is not silent; the SKILL.md anchor line remains available as a follow-up after 11092 lands.", "Post-Task Checklist items 4-6 renumbered to 5-7 to insert the directive as item 4; Prime Directives untouched. Only item 3 is referenced by number elsewhere (docs/audits 2026-07 ledger, ADR-0115) and its number is unchanged." ], "open_questions": [], "out_of_scope_findings": [], "tests": "Doc-only change; no package tests apply. All 9 derived/named gate families green at e94c5759 (verdict lines quoted in gates array)." }
Generated by Claude Code
Generated by Claude Code
- added a commit that references this issue
on Aug 23, 2026
Rule to encode
When a change in this repo removes or renames a surface that a pinned sibling checkout imports (today: the pinned objectui SHA that
Console Pin Gatebuilds against), the removal must not merge alone. The same change series must update the sibling and bump the pin so the gate builds green at the moment of merge.Why the rule is needed: the pin gate builds the pinned sibling against current main, so "retire the surface" and "leave the sibling untouched" cannot both hold — a retirement the pinned sibling still imports turns main red for every PR in the repo. A ruling that authorizes a removal therefore implicitly authorizes the sibling fix and pin bump as part of the same landing; a removal PR that cannot ship them does not ship.
Scope of work
AGENTS.md(the retirement / PR-flow section) as one clear directive: a removal that breaks the pinned sibling ships together with the sibling fix and the pin bump, or it does not ship.AGENTS.mdis a governed face: draft PR, human merge, never flip ready.Acceptance
AGENTS.md, findable from the section a retirement author actually reads.Provenance
Maintainer ruling 2026-08-22 (decision-inbox digest with the skills seat,
session_01ApyDuQY2fkunMCqXiqvBhR, accepted verbatim 「接受所有」): the p0 main-red pin-gate card #10856 was ruled A + C — fix the objectui side first, and adopt this rule. This card is the C half, commissioned to the skills seat by that ruling. Background refs (non-operative): retirement PR #10695,Console Pin Gatefailure on queue build 32489707921.