Repository navigation
Description
Filed by the domain:skills execution seat (session session_01DAcomhvR9kKizeYgg89Vo8, GitHub os-project-manager) to carry a maintainer ruling given in live chat, 2026-09-13T08:4xZ. ⛔ The ruling is the maintainer's; the charter text follows it, not the other way round.
The question, as put to the maintainer (verbatim, the seat's options)
Trigger: PR #17914 (spec lane, governed skills/**) was approved by os-zhuang at 2026-09-13T06:21Z on 8aa2f28a, ejected from the merge queue at 06:44Z (a red queue build), then carried a merge of main and two regenerated ledgers to c7ae2c10 — governed bytes byte-identical to the approved commit — and the spec seat handed it back to the maintainer for a second click, because AGENTS.md Prime Directive #14 reads 「no AI seat merges, queues, or arms auto-merge on a PR whose diff touches one」. The maintainer asked: 「17914 这种我已经批准过了,再修改应该不需要我批准,这种能处理吗?和我讨论」.
The seat's options, verbatim:
- A. approve 绑定字节,落地交给席位:授权 approve 存在,且 head 上受管路径的 blob 与你批准那个 commit 的 blob 逐一相同,席位就可以入队 / 挂 auto-merge(含被踢出后重排);受管字节任何改动 ⇒ 回到你手上重新 approve。
- B. 维持现状:每次踢出/变基都多你一次点击。
- C. approve 后不管后续改动都由席位落地:不建议,这正是今早你说 skills 要你确认的那条线。
The ruling (maintainer, verbatim)
C. approve 后不管后续改动都由席位落地:
The seat had recommended A and named C as the line drawn earlier the same morning; the maintainer chose C with that concern in front of them. C is the ruling.
What C means operationally (existing rules that still hold, ⛔ not new ones)
- The approval must be an authorized approver's APPROVED review (
GOVERNED_APPROVERS: os-zhuang, hotlong); a DISMISSED or superseded approval never counts (the queue guard's ruled predicate since [governance]ADR maintainer approvalis unsatisfiable on any PR the maintainer authored — GitHub forbids self-approval, so the gate is permanently red exactly when the human IS driving #8161 is unchanged: an authorized APPROVED on ANY commit). - After that approval, the seat that owns the PR lands it: pre-landing check on the CURRENT head — its own contract-review record naming that head,
check-clause2-carriers --pair Nexit 0, all checks green (a base-inherited red judged by the pm-dispatch: 落地前检③「PR 全部 check 全绿」对 base 继承的红没有处置 —— 主干一红,整条车道所有已复核 PASS 的 PR 同时不可落 #17934 shape), then ready + auto-merge / queue. Ejections and rebases are re-queued by the seat, not the maintainer. - The maintainer's word is spent once per governed PR — the approval. The 速读 stays; the four-piece changes shape:
needs-user-decisionon the PR and the review request still ask for that one approval; once it exists the seat clears the label and lands. - Accepted risk, stated so the record is honest: governed bytes changed AFTER the approval land on the seat's contract-review record alone. The maintainer chose this over the byte-pinned variant (A).
Text to land (charter, governed — one hand merge; rides the charter-revision PR, chain head #17942, since SKILL.md is occupied by PR #17957 until it lands)
AGENTS.mdPrime Directive feat: Comprehensive CRM example demonstrating all ObjectStack protocol features #14: the sentence 「no AI seat merges, queues, or arms auto-merge on a PR whose diff touches one」 becomes: the maintainer confirms a governed surface by an authorized approval; before that approval no AI seat merges, queues or arms auto-merge; after it the owning seat lands the PR, later pushes included..claude/skills/pm-dispatch/SKILL.mdred line :27 「⛔ 受管面 PR 无授权批准时永不翻 ready、永不入队、永不挂 auto-merge。」 keeps its condition (it already says 无授权批准时) and gains the converse in the 入队与落地 section (:609 四件套): approval present ⇒ the seat clearsneeds-user-decisionand lands on its own pre-landing check;references/core-rules.mdmirror in the same PR; the standing-patrol Routine text of every seat (the 「⛔ never ready / enqueue / auto-merge」 line) is updated by each seat on its next re-arm.- Queue guards (
scripts/pm/check-governed-queue-guard.mjs, objectuiscripts/check-governed-queue-guard.mjs): no change — their predicate already accepts the approval on any commit.
Immediate effect
Effective on this record (维护者裁决 > text). #17914 is re-queued by the seat on its pre-landing check today; every governed PR now at the human terminal (PR #17957, objectui#9374, objectui#9377 and the wave-1/2 PRs already approved) follows the same path once its approval exists.
Ruling-ref: this card, this comment thread (maintainer's verbatim word above).
Generated by Claude Code
Activity
claude commentedon Sep 13, 2026
Ruling: direct · letter C · maintainer 「C. approve 后不管后续改动都由席位落地:」 (live chat with the skills seat, received immediately before this record, 2026-09-13T08:50Z)
Recorded by the
domain:skillsseat (sessionsession_01DAcomhvR9kKizeYgg89Vo8) in the fixed header form the director seat ruled on #17748 item 6, so batch membership cannot be misread: this is a maintainer DIRECT ruling, not a decision-batch item. The question and the seat's three options are in the card body verbatim; the seat recommended A and named C as the boundary drawn the same morning; the maintainer chose C. Effective on this record. Ruling-ref for claims: 17971 (this comment).Generated by Claude Code
claude commentedon Sep 13, 2026
Claim: PM loop round 1 — member of the charter-revision family, chain head #17942 (fold gates and the two-layer split are on the chain-head claim)
Session:
session_01DAcomhvR9kKizeYgg89Vo8(GitHubos-project-manager, skills seat), claimed at 2026-09-13T11:26ZBranch:
claude/issue-17942-charter-revision(shared family branch, named after the chain head)Worktree:
objectstack-issue-17942Domain:
domain:skillsThis card's part: ruling C (5652306063 「C. approve 后不管后续改动都由席位落地:」):
AGENTS.mdPD #14 sentence,SKILL.md:27 converse + 入队与落地 (:634 area),core-rules.mdmirror — wholly rules layer ⇒Fixesin THIS PR.Clause-②: no
Thread-read: 5652306063 (the ruling record — the newest comment at this claim)
Generated by Claude Code
claude commentedon Sep 13, 2026
Charter-revision dev (session
session_01DAcomhvR9kKizeYgg89Vo8, branchclaude/issue-17942-charter-revision, 2026-09-13T12:1xZ): ruling C landed in #18018 (draft), commit 3f885f4 — AGENTS.md Prime Directive 14 (converse + the owning seat lands it, later pushes included; §7 (a) and Post-Task step 2 aligned), SKILL.md red line 27 / 复核 ② / 批准后 lines, core-rules 红线 mirror. Wholly rules layer ⇒ the PR body carriesFixesfor this card. Unchanged by design: queue guards, objectui AGENTS.md §9, per-seat Routine text. Theos-dev-reportfor the whole family is on the chain head (issue 17942); the draft PR is governed (.claude/**+AGENTS.md) — four-piece, no ready / enqueue / auto-merge by the dev.Generated by Claude Code
claude commentedon Sep 13, 2026
ACCEPT (family member) — skills seat, 2026-09-13T12:15Z. PR #18018 head
269933d9, this card's part landed asFixes— closes on landing. Record of the whole family on the chain head #17942: contract review 5653195700 (PASS), 速读 5653195856, ACCEPT 5653199243. Four-piece applied on the PR; lands under ruling C after an authorized approval. Card stayspm:dispatched+ assignee until the landing record.Generated by Claude Code
claude commentedon Sep 13, 2026
LANDED — skills seat (session
session_01DAcomhvR9kKizeYgg89Vo8), 2026-09-13T13:41Z. The charter-revision family PR #18018 merged through the merge queue at 2026-09-13T13:39Z as9489e2c0(merged_by os-zhuang; ruling C: approval 5190787487 on head269933d9at 13:13Z, ready + auto-merge by the maintainer, the seat's readings and label clear on 5653504134). Two readings at 2026-09-13T13:40Z: the queue ref is gone andorigin/maincarries(#18018)1 with control(#18015)1. This card's part landed whole (Fixes): closed by the PR;pm:dispatchedresidue and the assignee stripped in this pass and read back. Family record on the chain head #17942 — contract review 5653195700, 速读 5653195856, ACCEPT 5653199243.Generated by Claude Code
fix(pm): the queue guard's narration and remedy state ruling C, not t…
skills(pm-dispatch): charter revision — rulings A/③/C, governed-surfa…
fix(pm): the queue guard's narration and remedy state ruling C, not t…
docs(pm): batch default back to 3 on the maintainer's ruling — ceilin…
docs(pm,agents,checklist-test): four rules-layer lines catch up with …
docs(pm): a lit control drawn with the same instrument is not a contr…
docs(pm-dispatch): the claim comment carries the clause-② line at the…
docs(pm,agents): write identity follows the channel, not the account …
docs(agents): the comment rule exempts a verbatim maintainer ruling p…
fix(settings,pm): deny the MCP enqueue class — enable/disable_pr_auto…