Repository navigation
Description
Filing-gate category: ③ — a task the maintainer assigned directly.
Who acts: the domain:skills seat, on a .claude/skills/pm-dispatch/** PR. That is a governed-surface PR, so it lands only with the maintainer's authorized approval.
Duplicate search: pm-dispatch filing gate quota three issues per fire limit — 18 hits (all closed). None of them is about this quota.
The maintainer's words (2026-10-23, project thread, quoted verbatim)
skills 需要立一张卡,去掉 只能提交3个issue 的限制。
Where the limit lives
.claude/skills/pm-dispatch/references/filing-gate.md, section 〈立卡门〉, line 30:
- 配额:一席每 fire 至多三张,超出折清单卡或座位贴;QA/走查逐缺陷立不限张数,守批量间隔。
As written, a seat may file at most three cards per fire. Anything beyond that is folded into a list card or the seat post. QA and walkthrough runs are already exempt.
What changes
- Delete the per-fire cap of three cards. A seat may then file one card per defect, as many as it finds, provided each one passes the filing gate (categories ①–④ and the three answers required before POST).
- Keep what the cap sat beside:
- the four-category gate;
- the batch write gap (write-pace rule ⑤ and the relay's stroke pacing, see fleet-write: a relay stroke of up to 20 content-creating writes runs at the 3 s gap — write-pace rule ⑤ (batch gap 30 s) never applies on the relay path, so one stroke is a burst #24755);
- the triage seat's ten-at-a-time cleanup of existing cards, which is a separate rule (the next bullet in the file).
- Reword the rest of the line so that "fold into a list card" stays available as an option, not a requirement.
Context the PR should not lose
The line comes from the maintainer ruling quoted at the top of 〈立卡门〉: an account was banned on 2026-09-21 during a triage batch. The point of that ruling was to keep unneeded issues from being filed, and to pace writes. The gate and the write pacing carry that intent. The flat count of three does not: in a release test pass on 2026-10-23 it made findings look like "only 3 problems" when the walkthroughs had found far more.
Acceptance notes
pnpm check:pm-skill-ratchetandpnpm check:pm-skill-id-lintstay green. The line ceiling offiling-gate.mdholds.- No other file restates the three-card cap. A grep for
至多三张under.claude/returns zero hits after the change.
维护者速读(草稿)
- 改了什么:删掉 pm-dispatch 立卡门里「一席每 fire 至多三张」的配额,发现几个缺陷就立几张卡。
- 为什么改:维护者 2026-10-23 直派。这个配额让发版测试的发现被压成「只有 3 个问题」。
- 风险与代价(含回滚):立卡四类门和批量写间隔都保留,防刷卡、防封号的保护还在。回滚即还原这一行。
- 你要做的:PR 是受管面,需要你批准后落地。
Session: session_014C7q5Hm34g4EPdirar9SzN
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 23, 2026
Triage: lands in
.claude/skills/pm-dispatch/references/filing-gate.md〈立卡门〉 (thedomain:skillsseat; governed surface, lands only with the maintainer's authorized approval); rationale: filing-gate ③, the maintainer's direct task quoted verbatim in the body. Gives the card its missing pm-state and grade; the domain andtoolinglabels the filer set are correct.Path: instrument · the filing gate the QA walkthroughs file through | none | n/a
Grade:
priority:p2— North Star "仪器为车队服务": after it lands a release-test pass files every defect it finds instead of folding all but three into a list, which on 2026-10-23 made the findings read as "only 3 problems".Type: Task
Session:
session_01AkmasAfXt3cu83xGzkuKhe(objectstack triage, run on the maintainer's request in the project thread)Generated by Claude Code
objectstack-fleet commentedon Oct 24, 2026
Claim: PM loop round 1 · 2026-10-24T16:00Z
Session:
session_014FZ3TJucS1L7BdMe5DAzXCAccount:
os-project-manager(the seat's linked user asGET /useranswers it; always the card's assignee)Branch:
claude/issue-25498-filing-gate-quotaWorktree:
objectstack-issue-25498Domain:
domain:skillsSeat:
domain:skills#1(seat post #7623)File surface:
.claude/skills/pm-dispatch/references/filing-gate.md〈立卡门〉 the quota line (L34 onorigin/main5eeb02c; the card's L30 has moved). (stop on breach; explain in the report)Container & model:
S,mode:subagent,model: TIER_DEFAULT(dispatch-gates --tier: no path-derived mandate; areferences/**-only one-line edit ⇒ default tier; the compensating control is aCONTRACT_REVIEW_TIERreview before landing),effort: medium. Tier S (.claude/**).Clause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card (the maintainer's direct task)
Premise: holds —
grep -rn 至多三张 .claude/onorigin/main5eeb02chits onlyfiling-gate.md:34Thread-read: 6370333645
Serial constraints cleared: none (no in-flight claim touches
filing-gate.md; #25663 isSKILL.md, disjoint)objectstack-fleet commentedon Oct 24, 2026
os-dev-report
{ "issue": 25498, "status": "done", "branch": "claude/issue-25498-filing-gate-quota", "pr": "https://github.com/objectstack-ai/objectstack/pull/25687", "session": "session_014FZ3TJucS1L7BdMe5DAzXC", "premise_still_valid": true, "summary": "filing-gate.md L34 (origin/main b2909fd4) quota line edited in place, net 0 lines: the per-fire cap of three cards is removed, one card per defect each passing the gate, list-card folding optional, batch write gap kept; the ten-at-a-time triage cleanup line (L35) and Batch-of line untouched. The 配额: label is kept so triage-duties.md:34's pointer stays true. Restatement grep (至多三张/三张/three cards/per fire/配额/折清单卡 over .claude/, scripts/pm/, AGENTS.md) found no other restatement of the cap.", "tests": "no tested behaviour changed (one instruction line in .claude/**); no ablation. grep -rn 至多三张 .claude/ after edit: zero hits, exit 1.", "gates": "head 97dd3cb3, derived 17 via dispatch-gates --commands --repo objectstack-ai/objectstack, all exit 0: check-closing-keyword-parity 0, --self-test 0, check-comment-mask-corpus 0, check-harness-current --self-test 0, lint check:doc-formula-expressions 3 (PREREQUISITE NOT MET, formula/lint unbuilt) then 0 after turbo build of both under the lock (VERDICT command-exit 0), check:agent-test-spelling 0, check:cross-package-test-inputs 0, check:doc-authoring 0, check:driver-memory-census 0, check:gitlink-declared 0, check:nul-bytes 0, check:pm-governed-merges 0, check:pm-skill-id-lint 0, check:pm-skill-ratchet 0, check:refd-timer-probe 0, check:skill-frame-sync 0, check:watch-hint-literal 0; extra check:pm-settings-deny-roster 0. --ran: 17 derived, 17 run, 0 NOT-MEASURED (derived zero, every line with exit code). CI check-runs: in_progress at report time.", "line_budget": "filing-gate.md 68 lines, ceiling 68, headroom 0 (before and after); edited line 120 bytes before and after; no re-wrap", "files_changed": [ ".claude/skills/pm-dispatch/references/filing-gate.md" ], "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm", "mcp_calls": "0", "api_writes": "3 strokes — git push x2 (empty branch probe, commit 97dd3cb3); relay pr_create x1 (repository_dispatch, which sent POST /pulls draft + assignee + label skip-changeset; read-back identical bytes, assignee os-project-manager, label skip-changeset); post-stamped issue comment x1 (this report)", "deviations": [ "commit trailer pair is the model-free form os-dev.md prescribes, not the harness reminder's model-named Co-Authored-By", "PR body carries AGENTS.md's session-URL footer only, not the harness reminder's robot-emoji line, to avoid a double footer", "no changeset: .claude/** fast lane, skip-changeset declared on pr_create" ], "open_questions": [], "out_of_scope_findings": [] }objectstack-fleet commentedon Oct 25, 2026
ACCEPT → PR #25687 (ready + auto-merge armed on the maintainer's go-ahead) ·
domain:skills#1·session_014FZ3TJucS1L7BdMe5DAzXC· 2026-10-25T09:30Zobjectstack-fleet commentedon Oct 25, 2026
Landed ·
domain:skills#1·session_014FZ3TJucS1L7BdMe5DAzXC· 2026-10-25T09:40ZPR #25687 MERGED through the merge queue (Tier S, contract review PASS 6386625233, landed on the maintainer's go-ahead recorded in ACCEPT 6395964087). This stroke takes
pm:dispatchedand the assignee off.