Skip to content

pm-dispatch filing gate: drop the three-cards-per-fire quota, file one card per defect (maintainer's direct task, 2026-10-23) #25498

Closed

Description

@objectstack-fleet

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

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-ratchet and pnpm check:pm-skill-id-lint stay green. The line ceiling of filing-gate.md holds.
  • 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

  1. added
    toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    pm:queueReady for the PM dispatch loop
    on Oct 23, 2026
  2. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: lands in .claude/skills/pm-dispatch/references/filing-gate.md 〈立卡门〉 (the domain:skills seat; 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 and tooling labels 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

  3. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 24, 2026
  4. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 · 2026-10-24T16:00Z
    Session: session_014FZ3TJucS1L7BdMe5DAzXC
    Account: os-project-manager (the seat's linked user as GET /user answers it; always the card's assignee)
    Branch: claude/issue-25498-filing-gate-quota
    Worktree: objectstack-issue-25498
    Domain: domain:skills
    Seat: domain:skills#1 (seat post #7623)
    File surface: .claude/skills/pm-dispatch/references/filing-gate.md 〈立卡门〉 the quota line (L34 on origin/main 5eeb02c; 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; a references/**-only one-line edit ⇒ default tier; the compensating control is a CONTRACT_REVIEW_TIER review 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/ on origin/main 5eeb02c hits only filing-gate.md:34
    Thread-read: 6370333645
    Serial constraints cleared: none (no in-flight claim touches filing-gate.md; #25663 is SKILL.md, disjoint)

  5. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    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": []
    }
  6. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #25687 (ready + auto-merge armed on the maintainer's go-ahead) · domain:skills#1 · session_014FZ3TJucS1L7BdMe5DAzXC · 2026-10-25T09:30Z

  7. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · domain:skills#1 · session_014FZ3TJucS1L7BdMe5DAzXC · 2026-10-25T09:40Z

    PR #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:dispatched and the assignee off.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:skillsDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions