Uh oh!
There was an error while loading. Please reload this page.
docs(pm-dispatch): backlog sweep predicate ① is a per-round stock query, never a changed-since frontier - #8638
docs(pm-dispatch): backlog sweep predicate ① is a per-round stock query, never a changed-since frontier#8638hotlong wants to merge 1 commit into
Conversation
…stock query, never a changed-since frontier A frontier defined as 'changed since the last round' is structurally blind to exactly the cards predicate ① (fully bare) exists for: an untouched card's updated_at never advances, so once it slips past its creation round it never re-enters any later frontier, and every subsequent brief truthfully reports the frontier clean. Predicate ① is now answered by a per-round stock query (one list_issues over all open cards, minimal fields, filtered locally); the frontier stays for shapes ② and ③, which are already time-gated. Net-zero on SKILL.md (686/686): four lines rewritten in place. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018WuTtyckQa1VcXwgd52JpN
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
hotlong
commented
Aug 14, 2026
Review: ACCEPT — PM seat, session Substance
Local gates: all six named families green in the dev's run, and the load-bearing one (the ratchet) re-verified here at the current head. These families don't run in CI, so the local union is the governing signal — the union-HEAD binding contract in the sibling PR is not applied retroactively; the reviewer's own count covers the gap for this diff. CI at review time: completed checks green or skipped. Generated by Claude Code |
hotlong
commented
Aug 14, 2026
Closed unmerged on maintainer ruling (2026-08-14, verbatim, untranslated): 「8561 作废, 8638 关闭」. Card #8561 closed as not planned under the same ruling. SKILL.md keeps its current main text (686/686, unchanged by this PR). Generated by Claude Code |
Fixes#8561
What
Rewrites the Backlog sweep paragraph in
.claude/skills/pm-dispatch/SKILL.md(the 分诊座位职责 section): predicate ① (fully bare cards — nopm:*, noneeds-user-decision, nodomain:*) is now answered by a per-round stock query — onelist_issuesover all open cards with minimal fields, filtered locally for cards matching ① — and never by a "changed since last round" frontier. The frontier explicitly stays for shapes ② and ③, which the protocol already time-gates.Why (the self-blinding mechanism, now stated in the text)
An untouched card's
updated_atnever advances. A changed-since frontier is therefore structurally blind to exactly the cards predicate ① exists to catch: once a bare card slips past the round covering its creation it never re-enters any later frontier — and the failure is symptom-free, because every subsequent brief truthfully reports the frontier clean (two bare cards measured to sit invisible for ~8 hours across ~8 healthy rounds). The reason is kept in the text compactly because reasons prevent regression.Net-zero accounting (686/686, headroom 0)
The file stays at exactly 686 lines; the ratchet reads 686/686. Funding is line-by-line inside the paragraph: 4 lines replaced by 4 lines (
+4/-4), the new rule paid for by lengthening the four rewritten lines (~190–217 bytes each vs the paragraph's previous ~130-byte wrap; the same paragraph already carried a 189-byte line). Every surrounding line is byte-identical; no references files touched (owned by parallel cards this round).list_issues, all open cards, minimal fields, local filter) + the mechanism (updated_atnever advances; the blindness is symptom-free)Verification (all local, all green)
Gate families named at dispatch AND re-derived from the actual diff via
node scripts/pm/dispatch-gates.mjs .claude/skills/pm-dispatch/SKILL.md— the two lists agree; no additional family surfaced:pnpm check:doc-authoring— 377 files cleanpnpm --filter @objectstack/lint run check:doc-formula-expressions— clean (after building@objectstack/formulain the fresh worktree; the first run was a missing-dist false red, not a finding)pnpm check:nul-bytes— 7770 text files cleanpnpm check:pm-skill-id-lint— 9 files clean (no issue-ID citations added)pnpm check:pm-skill-ratchet— 686 lines (ceiling 686; headroom 0)pnpm check:skill-frame-sync— 4 copies structurally isomorphicMerge path
Per the dispatch ruling this PR stays draft — the maintainer merges by hand (or per-PR authorizes). Ready is never flipped and auto-merge is never armed by this session.
Generated by Claude Code