Repository navigation
Description
Ruled: 6431004737 · letter B · 2026-10-27T01:00Z
Filing gate ②: a maintainer-only decision (a pm-dispatch rule change; human-ruling floor #25344). Maintainer, 2026-10-27, verbatim: 「立决策卡」. The draft is #26184's audit Part B (comment 6425690779, session_01C2Uuz8d9KeZ7qEYm6ZYWHL), which asked for a ruling. Root ask, 2026-10-26: 「我不问你你也想不到立卡,如何避免出现类似的情况,需要更新 skills吗」. Filed by the triage seat (session_01AavokzJ5DndAwitDXvKy4U, seat post #6015). ⛔ Not a claim.
维护者速读
昨天你问「我不问你你也想不到立卡,怎么避免」。审计 #26184 量到:18.0.0 以来 60 个带协议种类声明的提交,只有 3 个碰过 skills,而且只是改了锚点,所以留下 8 个包、26 行的教学缺口。第二部分的草案是:协议类 PR 的正文多写一行 Skills-docs:,取值四选一——本 PR 已更新、欠后续(列文件)、后续卡 #N、不需要(写理由)。席位验收时这行不在、或不属实,就不放行。不加门禁、不加脚本,净增 0 行,只扩写四处现有句子。请裁:A 只对协议种类为 added、semantic、narrowed 的 PR 要求这行;B A 再加上 Clause-② 带收窄声明的 PR,能抓住审计里漏掉的那一行 D5;C 不采纳,维持靠人提醒。选 A / B / C?
Governing text
.claude/skills/pm-dispatch/SKILL.md:313(the claim template'sMetadata-protocol:line) and:191(the six ACCEPT checks)..claude/agents/os-dev.md:279(Definition of done).references/review-checklist.md:17andreferences/triage-duties.md:58.- 「新增门禁默认否」: the draft adds no gate. The line is read by the seat, and no script parses it (
scripts/pm/clause2-line.mjsreads onlyClause-②:andMetadata-protocol:).
Premises (from Part A and Part B, read on main be531f685e)
- P1. 60 commits since the 18.0.0 tag carry a protocol kind other than
none. 3 of them touchedskills/**, and only anchors or key lists. - P2. Row D5 (a position grants only the sets its
permissionSetsnames) came from a PR declaredMetadata-protocol: nonewithClause-②: yes (narrowing). A kind-only trigger misses it. - P3. Every file the draft touches is at its line ceiling (headroom 0), so each item widens an existing line in place.
- P4. Two in-flight edits share the lane: skills(os-dev, pm-dispatch): PR bodies serve the seat, not the approver — every PR opens with a fixed six-line maintainer brief, verification logs fold into details, governed review is requested only after the 席位核对 comment is on the head #26155 (queued) and PR pm-dispatch: cloud-lane work found during development is filed as a cloud-lane card (home in cross-repo-coordination.md, pointers from execution-duties.md and os-dev.md) #26286 (open). The PR rebases on both, or rides skills(os-dev, pm-dispatch): PR bodies serve the seat, not the approver — every PR opens with a fixed six-line maintainer brief, verification logs fold into details, governed review is requested only after the 席位核对 comment is on the head #26155.
Options
| Option | What | Consequence | Workload |
|---|---|---|---|
| A | The line is owed when Metadata-protocol: is added, semantic or narrowed. |
It catches the common case and misses D5-type runtime narrowings. | skills · 1 PR (Tier S, .claude/**, a fable contract review) · 4 lines widened |
| B | A, plus any PR whose Clause-②: carries (narrowing). |
It catches D5 too. A breaking PR that changes nothing an author writes pays one Skills-docs: none — REASON line. |
same as A |
| C | Not adopted. | The gap regrows. Follow-ups depend on someone asking, as happened on #26178 and #26179. | none |
Recommendation
B, the audit's recommendation. Since 2026-10-26 the triage seat has already written "skills + docs + eval owed" by hand on protocol cards, and #26347 and #26362 are the first cards filed that way. B moves that habit into the dev's PR body and the seat's ACCEPT, so it no longer depends on triage remembering.
After the ruling
domain:skills dispatches one Tier S PR with the four widened lines (Part B items 1–4; drop the narrowing words for A). Contract review runs at CONTRACT_REVIEW_TIER. No back-fill: the eight Part A cards are the back-fill.
os-decision-facets
① 项目长远合理性:B 把「协议改动要补 skills/文档/eval」从靠人提醒变成 PR 正文的一行声明,净增 0 行,不新增特例。
② 实际业务拉动:审计实测 26 行教学缺口、8 个包;#26178、#26179 都是你问了之后才立的卡。
③ 防 AI 犯错:取值是闭合的四选一,席位验收时缺行或不属实就拒绝放行(响亮拒绝);不靠脚本,所以不新增门禁。
④ 创业阶段不扩散:零门禁、零脚本、零账本;不回填已合入的 PR,8 张审计卡就是回填。
Prior rulings read: Skills-docs · Metadata-protocol follow-up · skills gap → #26184 Part A (6425678185) and Part B (6425690779); 「新增门禁默认否」; ADR none; thread: #26184
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 27, 2026
Brief-claimed-by: session_01KrKXQVvgYk2AJ4VkqMobyb · batch #404 · 2026-10-27T00:47Z
Director seat, summon #51 continuation (ledger objectstack#12708). Presented to the maintainer in batch #404 as item 1 of 4 (the two pm-protocol cards the triage seat filed on 「立决策卡」, the ui-merge process card, and the app-shell split). Seat increment (re-verified on
origin/main6390fe52; the card is not restated):.claude/skills/pm-dispatch/SKILL.md:313is the claim template'sMetadata-protocol: added | narrowed | semantic | noneline;scripts/pm/clause2-line.mjsreads onlyClause-②:andMetadata-protocol:(header lines 5–16), so the draft'sSkills-docs:line is read by a seat and parsed by no script — no gate is added.grep -rn Skills-docs .claude→ 0 today.mainonly; no shared-lane serial line remains.needs-user-decisionandpm:awaiting-maintainertogether; the second leaves in the ruling's stroke.whenand its Studio column, in access-recipes and the administrator guide #26178, skills(objectstack-data): teach the field permissionwhenand when to pick it over a validation rule, so an AI author locks a field per role and stage instead of for everyone #26179) filed only after the maintainer asked; ③ a missing or untrue line is refused at the seat's ACCEPT, loudly; ④ net zero lines, no script, no ledger.added | semantic | narrowed, plus anyClause-②: yes (narrowing)). Not A (misses the D5 class the audit found) and not C (the gap regrows). Workload: skills · 1 PR (Tier S,.claude/**) · four lines widened.Prior rulings read:
Skills-docs·Metadata-protocol· 「新增门禁默认否」 → skills: audit what the skills teach against the protocol since 18.0 — (A) published skills/ vs every added, changed or retired authorable key; (B) where pm-dispatch requires the skills/docs follow-up #26184 Part A 6425678185, Part B 6425690779; ADR none; thread: skills: audit what the skills teach against the protocol since 18.0 — (A) published skills/ vs every added, changed or retired authorable key; (B) where pm-dispatch requires the skills/docs follow-up #26184.objectstack-fleet commentedon Oct 27, 2026
Ruling: batch #404 item 1 · letter B · maintainer 「同意」 2026-10-27T00:54Z
Recorded by the director seat (summon #51 continuation,
session_01KrKXQVvgYk2AJ4VkqMobyb, ledger objectstack#12708). The maintainer answered batch #404 with 「同意」 — every seat letter. Brief 6430900353. Letter B: a PR owes aSkills-docs:line (four values: updated in this PR · owed, files listed · follow-up card #N · none, with the reason) when itsMetadata-protocol:isadded,semanticornarrowed, and when itsClause-②:carries(narrowing)whatever the protocol kind. The line is read at the seat's ACCEPT: missing or untrue refuses the landing. No script parses it, no gate is added (clause2-line.mjskeeps reading only its two lines). Not A (misses the D5 class #26184 measured) and not C (the gap regrows).Workload of the chosen letter (card column): skills · 1 PR (Tier S,
.claude/**) · four existing lines widened —SKILL.md:313(claim template), the ACCEPT checks,.claude/agents/os-dev.mdDefinition of done,references/review-checklist.md. P4 is stale: #26155 closed and PR #26286 merged, so the PR rebases onmainonly. No back-fill; the eight #26184 Part A cards are the back-fill.Execution:
needs-user-decision→pm:queuein this act (domain:skills, p2,area:devpath);pm:awaiting-maintainerremoved in the same stroke.Ruling-ref:names this comment.Clause-②: no,Metadata-protocol: none.objectstack-fleet commentedon Oct 27, 2026
domain:skills#2(seat post #19287) · 2026-10-27T01:38Z · ⛔ Not a claim.Letter B is carried by PR #26381 (
Part of #26184, Tier S,.claude/**only): the four rule lines (os-dev.md Definition of done, SKILL.md claim template + ACCEPT checks, review-checklist.md, triage-duties.md) state the trigger as kind non-noneOR a(narrowing)arm, which is this card's ruling 6431004737 and the same letter the maintainer tapped on the seat thread's decision card (2026-10-27T00:33Z). The PR's independent contract review (6431523599) returned FAIL on one lost clause (updated heremust also mean the package's evals exercise it) and one spelling; the rework is on the same branch and is re-read on the new head before the seat lands it. This card closes by the seat's hand with that landing, which the landing record on #26184 will cite.Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Closed as delivered ·
domain:skills#2· 2026-10-27T02:04Z · ⛔ not a claim.Letter B (ruling 6431004737; the maintainer's tap 「B:种类非 none 或带 (narrowing)」 on the seat thread's card at 2026-10-27T00:33Z) landed in PR #26381, merged at 2026-10-27T02:03Z as
b33dd25b: os-dev.md L279, SKILL.md L313 (the four values;updated here= teaches it inskills/**or the docs and the package's evals exercise it), review-checklist.md L18 (缺 ⇒ REWORK), triage-duties.md L59. Contract review PASS 6431771737, seat ACCEPT 6431794006, landing record on #26184.Generated by Claude Code