Skip to content

docs(pm,agents): three rules-layer lines catch up with the charter rulings - #18051

Merged
os-zhuang merged 3 commits into
mainfrom
claude/issue-18019-charter-residue-three-lines
Sep 13, 2026
Merged

os-zhuang merged 3 commits into
mainfrom
claude/issue-18019-charter-residue-three-lines

Conversation

@os-project-manager

Copy link
Copy Markdown
Collaborator

Fixes #18019

Three governed lines outside the charter rules-layer PR's declared file surface still carried pre-ruling text after 9489e2c0 (rules layer) and c185d087 (references) landed. Each now states the rule that governs it — one commit per file, each quoting its ruling verbatim and untranslated.

file was now budget
.claude/agents/os-dev.md :50 先搜再立 — the filer scans open issues before filing 立卡者不查重, 3–5 keywords on the card, never a board pull 403/403 lines, 115 B (cap 120)
.claude/skills/pm-dispatch/SKILL.md :106 跨车道移交 listed as a fourth release cause three causes, 改路由 qualified 限未派发, 在飞卡跟到 MERGED 812/812 lines, row 235 B
same file :113 跨域 PR 指定车道、改路由, unqualified 定车道与改路由限未派发卡 row 269 B; widest row unchanged at 342 B (L244)
.claude/skills/pm-dispatch/references/lanes/ui.md :25 draft until a human merges, 不留批准 draft until an authorized approval, then the owning seat lands it; the seat never approves 38/38 lines, 118 B (cap 120)

check:pm-skill-ratchet green with every touched ceiling still at headroom 0 and no ceiling moved; SKILL.md frame block L733-754 md5 3327d02c56f8a0eca88569dad2270f32 byte-unchanged.

Executable criterion — measured origin/main 226970b to HEAD

git grep -c per file: 先搜再立 in os-dev.md 1 to 0 · 跨车道移交 in SKILL.md 1 to 0 · 停在 draft 等人合 in lanes/ui.md 1 to 0. Lit controls on neighbouring surviving phrases, same greps, same two refs: noted, not filed 3 to 3 · 离手恒走释放 1 to 1 · 异议评论写明所求 1 to 1 · 未命中的 PR 按同节走合并队列落地 1 to 1.

Gates

node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack at HEAD ac73575c derived 18 families; all 18 ran in the foreground with the exit code captured before any pipe, all exit 0; --ran reconciles 18 derived / 18 run / 0 NOT-MEASURED / 0 UNRUN. check:doc-formula-expressions first answered exit 3 PREREQUISITE NOT MET (unbuilt workspace package, nothing measured) and was re-run to exit 0 after turbo run build --filter=@objectstack/formula --filter=@objectstack/lint.

Repo-wide pnpm lint is not owed here and can produce no verdict on this diff: eslint's own config supplies no configuration for .md, and --format json over the three files reports 3 files, 0 errors, 3 warnings, each of them File ignored because no matching configuration was supplied. skip-changeset applies — .claude/ publishes nothing from any released package.

Premise checks

P1, P2 and P3 confirmed on origin/main 226970b. P4 confirmed: all 12 open PRs were fetched into a private ref namespace and diffed against their own merge-base — none touches these files. P5 measured NO: references/core-rules.md mirrors none of the three pre-ruling lines; it already carries the post-ruling statements at :8, :51 and :123, so it is not in this diff.

Acceptance notes

Noted, not filed: os-dev.md :53, :54 and :58 still describe the dedupe channel the filer no longer uses (the search_issues fallback on 403, the control-word rule, 那一次查重). Same residue class as :50, but outside this card's declared one-line surface and the file's 403/403 ceiling. Carrier: the seat that owns the charter-revision family.

维护者速读(草稿)

改了什么 — 三个文件各改一处(SKILL.md 是两行表格行),把还写着旧规矩的句子换成已经落地的规矩:立卡人只在卡面附查重词、不再自己查重;在飞的卡不跨车道移交,改路由只对未派发的卡;受管面 PR 停在 draft 等的是「授权批准」,批准到手后由认领席自己 ready 加入队落地,席位仍然永不批准。

为什么改 — 这三行落在章程改版 PR 的文件面之外,规则合入后它们就和已生效的规则直接打架。留着,下一个读到的人会照旧规矩办事。

风险与代价(含回滚) — 纯指令文本,没有运行时影响。三个文件都卡在行数上限,改动是等行替换,净增 0 行,棘轮一个都没抬。回滚就是 revert 这三个 commit,彼此独立、互不依赖。

席位意见

你要做的 — 受管面,PR 留 draft 等你。请确认第三条的措辞:拿到授权批准后由认领席自己落地,是不是你要的形态?


Generated by Claude Code

…the board

`os-dev.md` rule 3 still told the dev to dedupe before filing — a targeted
REST scan of open issues, with an MCP `search_issues` fallback. The triage
ruling moved dedupe to the triage seat and left the filer with keywords only,
verbatim and untranslated:

  「立卡者不查重,只在卡面附 3–5 个查重词」

The line now states that rule: no dedupe by the filer, 3–5 keywords on the
card, never a board pull. Net 0 lines (403/403), 115 bytes against the
120-byte cap.

Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8
Co-authored-by: Claude <noreply@anthropic.com>
…card cannot take

Two rows in 〈状态模型〉 lagged bullets that landed with the charter rules
layer. The assignee row listed 跨车道移交 as a fourth release cause, and the
`pm:retriage` row offered 跨域 PR 指定车道 and 改路由 with no pre-dispatch
qualifier — while the landed bullet reads 「`pm:retriage` 改路由只对未派发卡」
and its neighbour holds a claimed card to 认领即跟到 MERGED, the cross-lane
surface reviewed in place (contract-review.md: 借复核不移卡).

The governing ruling, verbatim and untranslated:

  「C. approve 后不管后续改动都由席位落地:」

— ownership follows the claim through to landing, so a lane handover is not
one of the ways an in-flight card leaves its seat's hands. The assignee row
now carries three causes with 改路由 qualified 限未派发, and the retriage row
says 定车道与改路由限未派发卡.

Net 0 lines (812/812), widest table row unchanged at 342 B (L244), the two
edited rows 235 B and 269 B, 〈决策分析四轴〉 frame block L733-754 md5
3327d02c56f8a0eca88569dad2270f32 byte-unchanged.

Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8
Co-authored-by: Claude <noreply@anthropic.com>
… at a human merge

Line 25 read a governed-surface hit as unconditional draft-until-a-human-
merges, with 不留批准 next to it. The ruling that landed with the charter
rules layer says otherwise, verbatim and untranslated:

  「C. approve 后不管后续改动都由席位落地:」

Once an authorized APPROVED review exists on a governed PR, the owning seat
lands it; the draft hold applies only until then. The ban that survives is
the one on the seat approving — never on the seat landing what an authorized
account already approved.

Net 0 lines (38/38); the line is 118 bytes against the 120-byte cap and is
still the file's widest.

Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8
Co-authored-by: Claude <noreply@anthropic.com>
@claude

claude Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor
  • Served-tier: 1198/1198 claude-fable-5-1 — harness model stamp counted over this seat's own transcript (non-sidechain assistant messages a model served; <synthetic> harness notices excluded) at 2026-09-13T15:54Z; get_session external_metadata.last_served_model read claude-fable-5-1 at 2026-09-13T15:54Z.

Contract review

Head: ac73575c (PR #18051, card #18019) — read at 2026-09-13T15:55Z by the skills seat at the contract-review tier. GOVERNED rules layer, measured: .claude/agents/os-dev.md :50, .claude/skills/pm-dispatch/SKILL.md :106 + :113, .claude/skills/pm-dispatch/references/lanes/ui.md :25 (4 insertions, 4 deletions, three commits each quoting its ruling) ⇒ four-piece: this record + 速读终稿 below, ACCEPT on #18019, needs-user-decision on this PR, reviews requested from os-zhuang and hotlong; ⛔ draft until an authorized approval exists, then ruling C landing by this seat. Execution ran at opus under the tiering ruling's own exit (one-line-class mechanical governed edits), this review at claude-fable-5-1.

① derived judgments — each line now states the rule that already governs it, nothing new is ruled:

  1. os-dev.md :50 「立卡者不查重,只在卡面附 3–5 个查重词;查重归分诊席,⛔ 不扫 open issues、不拉板。」 — ruling ③ point 3 verbatim in substance (5652544529); 115 B; the surrounding :53/:54/:58 still describe the old channel (dev's note, same class, outside this surface — carried by this seat).
  2. SKILL.md :106 — the assignee row drops 跨车道移交 (an in-flight card follows through: 〈多仓协调〉 :227 认领即跟到 MERGED, contract-review.md 借复核不移卡) and qualifies 改路由 with 限未派发. The dev's open question is answered here: option A. 改路由(限未派发) is the narrowest reading that keeps the row true — the only window it can fire in is a self-claimed, not-yet-dispatched card, which is exactly the window the landed bullet 「pm:retriage 改路由只对未派发卡」 leaves open; B deletes a legitimate act, C leaves the row readable as a licence to re-route an in-flight card, the defect this card was filed about. 235 B.
  3. SKILL.md :113 — the pm:retriage row gains 「定车道与改路由限未派发卡」, agreeing with :106 and the bullet; 269 B. The widest row stays L244 at the 342 B pin.
  4. lanes/ui.md :25 「命中即停 draft;⛔ 未获授权批准不 ready 不入队不自合、永不批准,获批后认领席落地。」 — ruling C (5652306063) in one line; 118 B. ⛔ never approve is kept.
  5. Budgets: every touched file at its ceiling before and after — os-dev.md 403/403, SKILL.md 812/812 (widest row 342/342), lanes/ui.md 38/38 — equal-line replacements, no payment owed; frame block :733–:754 md5 3327d02c56f8a0eca88569dad2270f32 byte-unchanged (seat-measured on the head export). core-rules.md mirrors none of the three lines and already carries the post-ruling statements (:8, :51, :123) — the 〈优先级〉 same-PR rule is not engaged.
  6. Deviations, declared, accepted: the 速读 in the five-section shape os-dev.md fixes (a superset of the dispatch's four); the labels POST retried with Content-Type after a 415; MCP was used for the PR creation (so the PR is authored by os-project-manager, the linked user — a channel fact this seat measured only after the dispatch; the record and the card stay App-owned).

Seat measurements on the head tree (git archive ac73575c): check-skill-line-ratchet per-file rows all ✓ at headroom 0 (the run's one ✗ is my export lacking CLAUDE.md, not the PR); frame md5 equal. Executable criterion re-read on the diff: 先搜再立 1→0, 跨车道移交 1→0, 停在 draft 等人合 1→0, with the dev's four lit controls unchanged. Checks on ac73575c at 2026-09-13T15:54Z: 29 runs, 0 red, 2 running (Lint & Repo Gates, Type Check · consumer gates) — the landing check ③ reads them green before ruling C fires.

② semver: .claude/** publishes nothing; skip-changeset is right.

③ boundary flags: open_questions — one, answered above (A). Two 「noted, not filed」 items stand: os-dev.md :53/:54/:58 (this seat's family, next density pass) and lanes/ui.md :24 → objectui AGENTS.md §9 (the objectui card in this seat's filing batch).

Implemented-by: claude/issue-18019-charter-residue-three-lines
Reviewed-by: session_01DAcomhvR9kKizeYgg89Vo8

Verdict: PASS — three residue lines now say what PR #18018 and PR #18038 already rule, net zero everywhere; awaiting an authorized approval.

维护者速读(终稿)

改了什么:三个文件各改一行(SKILL.md 是两行表格行),把还写着旧规矩的句子换成已经生效的规矩:立卡人只在卡面附 3–5 个查重词、不再自己扫板查重;在飞的卡不跨车道移交,改路由只对未派发的卡;受管面 PR 停 draft 等的是「授权批准」,批准到手后由认领席自己 ready 加入队落地,席位永不批准。
为什么改:这三行落在章程改版两张 PR 的文件面之外,规则合入后它们和已生效的规则直接打架。
风险与代价(含回滚):纯指令文本,无运行时影响;三个文件都在行数上限,等行替换,净增 0 行,棘轮一个没动;回滚 = revert 三个 commit,彼此独立。
席位意见:通过。dev 问的一个字眼(assignee 行保不保留「改路由(限未派发)」)我按 A 定了:保留并限定未派发,是让这一行仍为真的最窄写法。
你要做的:一次批准(os-zhuang 或 hotlong)。批准后我按裁决 C 落地,不再找你。
一句问:同意「改路由(限未派发)」留在 assignee 行吗(是/否)?


Generated by Claude Code

@claude
claude Bot requested review from hotlong and os-zhuang September 13, 2026 15:55
os-project-manager pushed a commit that referenced this pull request Sep 13, 2026
…ontrols

Offline rows only: #18045, objectui#9404, PR #18051 and comment 5652138683
fire; comment 5654046782 (the same claim shape authored `claude[bot]`) is the
clean control, and every fire has a control differing in exactly one feature.

Two of the filing card's five signature forms were measured against the
specimens it named and would not reach them: the os-tesla claim carries no
`Session:` line, and PR #18051's only session token sits in its attribution
footer on the last line. Both widenings are pinned as measurements.

Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8
Co-authored-by: Claude <noreply@anthropic.com>
@os-zhuang
os-zhuang marked this pull request as ready for review September 13, 2026 22:40
@os-zhuang
os-zhuang enabled auto-merge September 13, 2026 22:40
@os-zhuang
os-zhuang added this pull request to the merge queue Sep 13, 2026
@claude

claude Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Ruling C landing step — skills seat (session session_01DAcomhvR9kKizeYgg89Vo8), 2026-09-13T22:41Z. Authorized approval read: os-zhuang APPROVED on head ac73575c (review 5192546519, submitted 2026-09-13T22:39Z; not dismissed), who also flipped the PR ready and armed auto-merge. Seat readings at 2026-09-13T22:41Z: ① the contract review of record 5654347747 names this head ac73575c (unchanged since); ② check-clause2-carriers --pair 18051 exit 0; ③ 35 checks on ac73575c, 0 red, 0 running; ④ needs-user-decision cleared in this pass and read back. The seat re-reads and re-arms only if the queue ejects it. Landing record follows on #18019 once origin/main carries (#18051); PR #18072 (locks 1–4) still awaits its own approval and merges origin/main after this lands (shared SKILL.md / os-dev.md on different lines).


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xs skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

3 participants