You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
dispatch-gates / check-governed-merges count changed lines with --no-renames, so a rename-heavy PR reads far over the 3000-line threshold that GitHub's additions+deletions (the authority) puts it under #30718
Filing-gate category: ① defect with a named producer and a reproduction (a fleet instrument). Reported by the dev of #30291 (report comment 6671781042, out-of-scope finding class a) and verified by the epic PM on origin/main.
Which fleet decision this changes ("Instruments serve the fleet"): a dev told by dispatch-gates that a diff is over the 3000-line human-merge threshold stops and splits work that GitHub would not count as over the line. The seat then grades the PR by the wrong number.
Producer
scripts/pm/dispatch-gates.mjschangedLinesFromGit (≈ line 15268 on origin/main) runs git diff --numstat --no-renames <merge-base>.
scripts/pm/check-governed-merges.mjs's --branch and sweep modes read --numstat --no-renames the same way (header ≈ lines 198, 247, 257).
With --no-renames, a moved file counts as a full delete plus a full add.
Authority it disagrees with
pm-dispatch SKILL.md (ACCEPT 之后的路径分叉) defines the threshold reading as PR additions + deletions, and GitHub computes those rename-aware.
The size reading these tools print for the human-merge threshold should match the authority (GitHub's rename-aware additions+deletions), or each tool should print both numbers and name which one binds.
Keep --no-renames wherever it really serves its purpose. The name-list use at dispatch-gates.mjs ≈15246 needs both paths for gate derivation and is correct; only the size count is wrong.
Any self-test that pins the size reading moves with it.
Dedup: open issues mentioning "no-renames": 9, none about the size reading. "changedLinesFromGit": only #30291 (this report's source). "rename detection" open: 2, unrelated.
dispatch-gates / check-governed-merges count changed lines with --no-renames, so a rename-heavy PR reads as larger than it is. Gate tooling; it widens no gate. p3.
Claim: PM loop round 3
Session: session_016WV4cymvo9YoyLwKCXXBNw
Account: os-elon-musk
Branch: claude/project-thread-ssgowc (the card thread's platform-assigned branch; a measured platform exception to claude/issue-<n>-<slug>) · card thread session session_016WV4cy385N3ELe3hf8qLkd
Worktree: objectstack-issue-30718
Domain: domain:devx
Seat: domain:devx#1
File surface: scripts/pm/dispatch-gates.mjs (changedLinesFromGit, the size count only; the --name-only --no-renames name list at ≈15246 stays), scripts/pm/check-governed-merges.mjs (the --branch and sweep size counts, ≈2156 / ≈2914, and their header prose), and any self-test that pins the size reading.
Container & model: S, mode:thread, model: default tier (scripts/pm tooling, no path-derived mandate), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: producer named in the body — the size count passes --no-renames to --numstat, so a moved file counts as a full delete plus a full add, against the threshold's authority (GitHub's rename-aware additions + deletions).
Thread-read: 6672667785
Premise: holds — origin/main82142ed6 still runs diff --numstat --no-renames at dispatch-gates.mjs:15269 and check-governed-merges.mjs:2156 / :2914.
Serial constraints cleared: no open PR touches either script (every open PR's file list checked 2026-11-06T00:27Z).
Activity
objectstack-fleet commentedon Nov 5, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p3 ·
domain:devx· 2026-11-05T23:53Z⛔ Not a claim.
dispatch-gates/check-governed-mergescount changed lines with--no-renames, so a rename-heavy PR reads as larger than it is. Gate tooling; it widens no gate. p3.Generated by Claude Code
objectstack-fleet commentedon Nov 6, 2026
domain:devx#1 · os-elon-musk · session_016WV4cymvo9YoyLwKCXXBNw
Claim: PM loop round 3
Session:
session_016WV4cymvo9YoyLwKCXXBNwAccount:
os-elon-muskBranch:
claude/project-thread-ssgowc(the card thread's platform-assigned branch; a measured platform exception toclaude/issue-<n>-<slug>) · card thread sessionsession_016WV4cy385N3ELe3hf8qLkdWorktree:
objectstack-issue-30718Domain:
domain:devxSeat:
domain:devx#1File surface:
scripts/pm/dispatch-gates.mjs(changedLinesFromGit, the size count only; the--name-only --no-renamesname list at ≈15246 stays),scripts/pm/check-governed-merges.mjs(the--branchand sweep size counts, ≈2156 / ≈2914, and their header prose), and any self-test that pins the size reading.Container & model:
S,mode:thread,model: default tier(scripts/pm tooling, no path-derived mandate),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: producer named in the body — the size count passes
--no-renamesto--numstat, so a moved file counts as a full delete plus a full add, against the threshold's authority (GitHub's rename-aware additions + deletions).Thread-read: 6672667785
Premise: holds —
origin/main82142ed6still runsdiff --numstat --no-renamesatdispatch-gates.mjs:15269andcheck-governed-merges.mjs:2156/:2914.Serial constraints cleared: no open PR touches either script (every open PR's file list checked 2026-11-06T00:27Z).