Repository navigation
Description
Filing-gate class ③ — maintainer-directed. The maintainer, 2026-10-27, in the project "objectstack ui devx", after the coordinator relayed a list of PRs as awaiting his approval or merge that he had already handled, verbatim: 「这几个pr 都处理过了,你的消息不及时,如何优化」「是否建议更新到 pm-dispatch skills ,你会阅读那个吗」「立卡」. Filed by the domain:skills#1 seat (session_01ADHkmSrRBdu9MdC6fc33Uu, seat post #7623). ⛔ Not a claim.
What happened (measured): at 12:32Z a pending-approval list (#26661, #26569, #26536, …) reached the maintainer as open asks. #26661 had carried an os-zhuang APPROVED review since 12:18:22Z and was already out of draft; no PR event for that review reached the seat session that watched the PR, and the list was built from session memory, not from a fresh read. The skill's own reading discipline (「读数」, references/reading-discipline.md) is about platform readings in general; nothing names this case: a report to the maintainer that says "waiting on you".
Rule to encode: before any message to the maintainer (chat, round report, push notification, or a relay through the coordinator) names a PR as awaiting the maintainer's approval, merge or action, the writer re-reads that PR's live state in the same act — reviews (an APPROVED from a GOVERNED_APPROVERS account), merged / state, draft, auto_merge, merge-queue membership — and drops or restates every PR whose ask is already met. A PR event subscription is not that reading: an approval or a ready flip may arrive late or not at all.
Where (the dev measures the home; every file is at its ratchet ceiling and the 120-byte line cap): the 推送维护者 line in .claude/skills/pm-dispatch/SKILL.md (same-line clause, paid by a deletion), or one line in references/seat-lifecycle.md 〈轮次报告与节奏〉 / references/coordinator.md §7 (the coordinator relays these lists too). One home, ⛔ not two copies.
Acceptance: the rule is stated once where both a seat and the coordinator read it before reporting; check:pm-skill-ratchet, check:pm-skill-id-lint and check:pm-governed-prose green; no line count rises.
Size: S. Tier S (.claude/**). Clause-②: no · Metadata-protocol: none.
Dedupe: REST list of domain:skills issues (open + closed) grepped for live state, 待批, already approved, stale report → no card on this subject.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 27, 2026
Triage: first grade —
tooling·priority:p2·domain:skills·area:devpath·pm:queue· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-27T13:03Z⛔ Not a claim, ⛔ not a dispatch.
Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Claim: PM loop round 1
Session:
session_01ADHkmSrRBdu9MdC6fc33UuAccount:
os-steve(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/project-thread-3afacv(the card thread's harness push branch, self-reported at 2026-10-27T13:46Z — the measured platform exception toclaude/issue-N-slug)Worktree:
objectstack-issue-26675Domain:
domain:skillsSeat:
domain:skills#1File surface:
.claude/skills/pm-dispatch/references/coordinator.md§7 (〈语言与汇报〉) only — widen or replace themergeable_staterelay line so one home covers both directions (no-action-needed and waiting-on-the-maintainer); ⛔ no second copy in SKILL.md (stop on breach; explain in the report)Container & model:
S,mode:thread,model: TIER_DEFAULT(dispatch-gates --tier: no path mandate onreferences/**),effort: medium. Tier S: draft PR; ⛔ the dev never readies, arms or enqueues it.Clause-②: no
Metadata-protocol: none
Responsibility:
n/a — not a defect card(a maintainer-directed rule)Thread-read: 6442580138
Premise: holds (seat re-measure on
origin/main43731031: coordinator.md §7 names onlymergeable_statebefore relaying 「无需你做」; nothing names the waiting-on-the-maintainer direction)Serial constraints cleared: no open PR names
coordinator.md(#26627 closed unmerged; #26598, #26693, #26695 touch other files)objectstack-fleet commentedon Oct 27, 2026
os-dev-report
{ "issue": 26675, "status": "done", "branch": "claude/project-thread-3afacv", "pr": "https://github.com/objectstack-ai/objectstack/pull/26741", "session": "session_01ADHkmT9FyDTpYhP8sdb5Hj", "premise_still_valid": true, "summary": "coordinator.md section 7: the relay line naming only mergeable_state before 'no action needed' is replaced by two 118-byte lines covering every PR state reported to the maintainer: re-read merged, draft, auto_merge, queue membership, reviews and mergeable_state in the same act; a PR can be readied and queued with no APPROVED review so reviews alone is not the reading; drop a PR whose ask is met; dirty still goes back to the thread. Paid by deleting the when-to-report line (homes: SKILL.md push-the-maintainer pair, seat-lifecycle.md round-report line). File 49 -> 49, ceiling 49; SKILL.md untouched; queue-membership spelling left to platform-readings.md.", "tests": "none: prose-only .claude change; no tested behaviour changed, no ablation", "gates": "head d8594255. Local derived set (dispatch-gates --commands --repo objectstack-ai/objectstack): 17 families, all exit 0 (check:pm-skill-ratchet, check:pm-skill-id-lint 104 files clean, check:pm-governed-merges, check:skill-frame-sync, check:doc-authoring, check:nul-bytes, check:agent-test-spelling, check:cross-package-test-inputs, check:driver-memory-census, check:gitlink-declared, check:refd-timer-probe, check:watch-hint-literal, check-closing-keyword-parity + --self-test, check-comment-mask-corpus, check-harness-current --self-test, lint check:doc-formula-expressions). doc-formula-expressions first exit 3 (prerequisite build missing, NOT MEASURED), green after turbo build of formula+lint under os-verify-lock (VERDICT command-exit 0). Card acceptance check:pm-governed-prose exit 0 (not in derived set). --ran: 17 derived, 17 run, 0 NOT-MEASURED (derived zero). CI check-runs: in_progress at report time.", "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm", "mcp_calls": "3 — reads only: issue_read get_comments x2 (claim check), pull_request_read get x1 (PR read-back); no MCP write", "api_writes": "2 relay strokes — pr_create (POST /repos/objectstack-ai/objectstack/pulls draft + POST /issues/26741/assignees os-steve + POST /issues/26741/labels skip-changeset; read-back byte-identical 4408 B) and this os-dev-report comment (POST /issues/26675/comments via post-stamped.mjs)", "deviations": "PR body line 1-2 are the harness attribution block (HTML comment marker + requester line), so `Fixes #26675` is line 3: os-dev clean-finish allows the harness attribution first line, the standard order says first line Fixes.", "open_questions": [ { "question": "Which line in coordinator.md section 7 pays for the +1?", "options": [ "A delete the when-to-report line (done; homes SKILL.md push-the-maintainer pair + seat-lifecycle.md round-report line)", "B delete the language line instead (homes AGENTS.md Communication + SKILL.md all-seat invariant), keeping the coordinator's own when-to-report line" ], "recommendation": "A, because the deleted line itself said 'same rule as the seats' and its home binds both readers; B would leave the section heading's language half empty" } ], "out_of_scope_findings": [] }Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
ACCEPT → PR #26741 comment 6444236874 ·
domain:skills#1· 2026-10-27T14:12Z · Tier S; draft until a PASS contract review on the head (requested from the director seat) and the maintainer's act (os-zhuang, hotlong requested).objectstack-fleet commentedon Oct 28, 2026
Landed ·
domain:skills#1·session_01ADHkmSrRBdu9MdC6fc33Uu· 2026-10-28T00:46Z — PR #26741 merged through the queue (merge commit0b78a20be7): pm-dispatchcoordinator.md§7 now requires re-readingmerged,draft,auto_merge, queue membership, reviews andmergeable_statein the same act before any PR status goes to the maintainer, in both directions. The card closed by itsFixesline;pm:dispatchedstripped in this act.