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
os-half-state-sweep — machine-findable marker for this generated view.
Generated view — not a second tracker. Authority lives on each card and PR (one-board rule); this body is rewritten IN PLACE by the scheduled patrol workflow (.github/workflows/half-state-patrol.yml) on every run, and the edit history is the archive. Report-only: every row is patrol input, never a gate verdict, and this sweep never fixes a state. Each predicate and the protocol clause it enforces are documented in scripts/pm/check-half-states.mjs.
The timestamp above is the patrol's own heartbeat: a Swept line that stops advancing means the standing caller died, which is the failure this anchor was created to make visible. Read it before you read the rows.
⚠️1 UNJUDGED row(s) in this sweep — an input this patrol could NOT read, not a state it read and found clean. They are sorted above the ordinary rows so the body's size trim can never be what removes them (#4690, #11218), and they are the rows to judge BY HAND: nothing in a later sweep will resolve them on its own.
check-half-states: swept 352 open pm-/p0-labeled issue(s), 422 open issue(s) in the unscoped pass (H13–H15, H18), 22 open PR(s) (merge state read on 1 of 1 H16 candidate(s)) and 1010 recently-merged PR(s) in objectstack-ai/objectstack — 235 half-state(s) found. H8's merged window is a TIME cap of 8 day(s), read in 11 page(s) (horizon reached: a delivery inside the window was seen, not merely the first N rows). H22 read 401 recently-closed issue(s) for pm:* state residue (older closed carriers are outside the window by design). H22's closed-card window is a TIME cap of 3 day(s), read in 5 page(s) (boundary reached: paging ran past the horizon, not merely the first N rows). It is a CLOSURE horizon: rows are selected on closed_at, while paging is bounded by updated_at — the stream is consumed by closed-issue ACTIVITY (~188.3/day, measured 2026-08-31), not by closures (~11/day), which is why the page cap it replaced covered a ragged 2.1 days of update-recency rather than the closure window it read as. H23 read 401 squash commit message(s) from the default branch, carrying 6 closing-keyword binding(s) across 6 message(s). H23's commit window is a TIME cap of 3 day(s), read in 5 page(s) (boundary reached: paging ran past the horizon, not merely the first N rows). The open listings (H1–H18 inventory, H13 unscoped pass, open PRs) is an EXHAUSTIVE listing, read in 14 page(s) (complete: paging reached the end of the stream, so this IS the whole population). Hold comments read on 93 of 93 H17 candidate(s). Blocked-by: comment fallback read on 58 of 58 candidate(s). Restart-when: hold comments read on 47 of 47 H9 candidate(s). Blocker liveness (H19): targets resolved on 39 of 39 distinct Blocked-by: target(s) named by open pm:blocked card(s). Dispatch liveness (H20 + H27): remote branch read on 10 of 10 distinct claimed branch(es) named by open pm:dispatched card(s) past the 60-minute threshold — one read serving both rows, so H27's 24h population is a subset of this one and costs no request of its own. Seat liveness (H32): marker thread read on 4 of 4 HELD seat post(s) whose lane is countable on THIS board — a seat held for a sibling repo's lane is out of scope here (its inventory is unreadable from this sweep, so an empty-looking queue would mean nothing), and an unread thread makes H32 decline to judge that seat rather than accuse it. Gate-removal patrol (H35): 0 removal(s) of a gate-semantic label read from 0 page(s) of the repo-wide issue-event stream over the last 12h — no per-card timeline fetch. 0 of them are UNJUDGEABLE (a gate that only ever had ONE carrier leaves 「双载体同笔清标」 no evidence in either direction, so neither H31 nor H35 can say cleared-or-stripped). Shared-file holds (H36): changed-file page read on 21 of 21 open PR(s) — a pair needs both sides read, so a shortfall can only MISS a hold, never invent one. Family folds (H37): 0 live shared branch(es) claimed by more than their own chain head, and a member comment page read on 0 of 0 open pm:queue card(s) — that second read is bought ONLY when a fold is live, so 0 of 0 is a board with no fold in flight rather than a pass that skipped one, and an unread member can only MISS a drifted write, never invent one. Dangling references (H40): 361 of 400 attempted resolution(s) answered, over 3257 distinct # reference(s) read off the LIVE board — 444 open card(s)/PR(s) and 192 already-cached comment thread(s), so comment coverage is the gated subset rather than the whole board, and merged/closed archive is out of the corpus by design. 989 number(s) were answered free from listings already in hand, and 1868 were NOT ATTEMPTED at the 400-resolution budget (newest-first; this pass reached down to #11419) — not attempted is not clean. 39 do(es) not resolve and 0 could not be judged — ⛔ only HTTP 404 is read as unresolvable, a CLOSED card resolves normally and is never a finding, and no cause is asserted for any of them. Suppressed content is invisible, so every count here is a LOWER BOUND. Report-only: findings are patrol input, not a gate verdict.
Findings
H14#12931 — ⚠️ UNJUDGED: pm:blocking carried while no open card in THIS REPO targets it with a Blocked-by: line — body OR comment — and this row DECLINES to judge the label: the card carries repo:cloud, a seam label whose whole meaning is that the ordering this card belongs to lives in another repo (label ledger: 「Seam card: cross-repo ordering with X is the substance」), and the protocol keeps such a card HERE precisely so a sibling repo can depend on it. The strip this row would otherwise prescribe rests on ABSENCE of evidence, and for this card the evidence is not absent, it is UNREADABLE (check:react-declaration-parity 是唯一没接进任何 workflow 的源码审计门禁,且无 MANIFEST 时静默 skip 退出 0 —— 它现在永远不可能红 #4690): buildBlockingIndex scans this repo's open listing only, Blocked-by: edges are protocol-legal across repos, and a sibling repo's card waiting on this one is invisible to the index BY CONSTRUCTION, not by any read failure — ⛔ no re-run resolves it, and there is no cross-repo Blocked-by: reader in the fleet to resolve it with. ⇒ UNJUDGED: neither a coherent cache nor a stale one. The stakes are why this declines rather than guessing — pm:blocking ranks second only to priority:p0 in lane selection, so a wrong strip starves the sibling that is waiting, while a wrong KEEP only over-ranks one card. Report-only: the remedy is a cross-repo Blocked-by: read by hand before the triage sweep's derivation pass touches this card, never a label written from this script — and ⛔ never a hand-applied or hand-stripped pm:blocking either, in any direction: the label is the sweep's derived cache (「⛔ 不手工挂」).
H11#1883 — important card parked: priority:p2 + security sitting in pm:on-hold, open ~78d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card's Blocked-by: / Restart-when: liveness in the triage round.
H9#2657 — pm:on-hold with no Restart-when: line in EITHER channel — not in the body, and not in any comment on the thread (both were read) — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). ⚠️ A closed …#N exit only fires if #N CAN close: a tracking ruling anchor stays open by design, so a ruling recorded in one of its COMMENTS never produces the close event this form waits for — name the ruling, not the closure. ⚠️ READ THE BODY AND THE THREAD BEFORE ACTING: a line that IS there but which this scan cannot parse looks exactly like an absent one. Decoration is tolerated (backticks, a -/* bullet, ** bold), but a mis-spelled or lowercased key is not — the unlock scan greps the literal. If the line is there, unwrap or re-spell it; that is the whole fix, and no state change is due. Add or repair the line first. Closing is the LAST resort and applies only to a card that genuinely has no fireable exit: such a card is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch). Channel: like Blocked-by: (H4/H14), a Restart-when: line counts from the body OR a comment — either channel discharges the duty, and the unlock scan reads both (hold protocol: widen the Restart-when: channel contract to body OR comment — unlock scan + H9 + the SKILL.md hold-row text move together (a comment-channel exit silently expired for 2 days) #10403 closed the old body-only gap).
H11#3267 — important card parked: priority:p2 sitting in pm:on-hold, open ~44d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card's Blocked-by: / Restart-when: liveness in the triage round.
H2#5536 — assignee set but no claim comment on the thread
H5#6021 — title says 🟢 os-steve but assignees are [os-elon]
H38#6021 — pm:seat post is STALE — its lane domain:services carries a Claim: on [finding] 删除记录后,它的审批单仍留在审批收件箱:pending 与 approved 两种都留,记录引用退化为原始 id #13568 written 5.3h AFTER this post's last event (claim 2026-09-01T00:26:18.000Z, post 2026-08-31T19:09:54.000Z). A shift dispatched work and did not record it, so every number the post states — 在飞 / 队列 / 决策箱 / the round number — describes a round that has since moved on, while updated_at makes the post read as SETTLED rather than as stale. ⚠️ This is the measured shape: one seat ran ~31h to wave 4 and dispatched five cards under a title still claiming the previous round. ⛔ Not an accusation of carelessness — the same post already carried this exact lesson in its own ledger, written one shift earlier, and the next shift reproduced it; that is the evidence prose does not hold here, not evidence about any seat. Remedy: refresh the seat post (or post a round marker) so the successor reading it sees the round that is actually running. Report-only: ⛔ this row never writes a label, a title or a marker.
H38#6024 — pm:seat post is STALE — its lane domain:cli carries a Claim: on Two more 4xx exits still ship the ADR-0111 CODE: prefix in the human-readable text — resolveErrorResponse's passthrough, which the #12975 ruling did not reach #13095 written 20.3h AFTER this post's last event (claim 2026-09-01T01:15:04.000Z, post 2026-08-31T05:00:00.000Z). A shift dispatched work and did not record it, so every number the post states — 在飞 / 队列 / 决策箱 / the round number — describes a round that has since moved on, while updated_at makes the post read as SETTLED rather than as stale. ⚠️ This is the measured shape: one seat ran ~31h to wave 4 and dispatched five cards under a title still claiming the previous round. ⛔ Not an accusation of carelessness — the same post already carried this exact lesson in its own ledger, written one shift earlier, and the next shift reproduced it; that is the evidence prose does not hold here, not evidence about any seat. Remedy: refresh the seat post (or post a round marker) so the successor reading it sees the round that is actually running. Report-only: ⛔ this row never writes a label, a title or a marker.
H30#7251 — pm:queue with ~12d with no activity of any kind (threshold 3d) — the queue is the one state that asserts the card is dispatchable NOW with nothing left to ask, so a card sitting in it is not inventory the way a parked card is: it is a card the lane keeps passing over. The measured shape is a judgement that WAS made and never written (「判断做了(有分析产出),状态写入没做」) — the analysis lands in a comment and the state stays where it was, which is indistinguishable from an ordinary queued card at every glance. This row does not judge the card and does not rank it: it asks for ONE explicit transition — dispatch it, convert it to needs-user-decision if it turns out to carry an unanswered question (the queue means 「无可问之事」), park it with a machine-fireable exit, withdraw it, or rewrite a premise that no longer holds. Report-only: ⛔ never a label written from this script — choosing which of those transitions applies is the whole judgement.
H15#7497 — oldest UNCLAIMED pm:blocking card: open ~503h, 13 of 20 open pm:blocking card(s) unassigned. The lane selection order puts pm:blocking second only to priority:p0, so an unclaimed one aging while fresher cards are picked is selection-order drift — visible here by name instead of only in a seat's memory. Age is the CARD's (created_at, the same quantity the order's within-rank tie-break reads), not the label's: that would need a per-card timeline fetch this sweep never makes. Visibility row — no threshold, it reports unconditionally, and like everything here it is patrol input, not a verdict.
H5#7623 — title says 🟢 session_01Msg17tAHJ3jVTYFgHydCm2 but assignees are [zhuangjianguo]
H9#8006 — pm:on-hold with no Restart-when: line in EITHER channel — not in the body, and not in any comment on the thread (both were read) — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). ⚠️ A closed …#N exit only fires if #N CAN close: a tracking ruling anchor stays open by design, so a ruling recorded in one of its COMMENTS never produces the close event this form waits for — name the ruling, not the closure. ⚠️ READ THE BODY AND THE THREAD BEFORE ACTING: a line that IS there but which this scan cannot parse looks exactly like an absent one. Decoration is tolerated (backticks, a -/* bullet, ** bold), but a mis-spelled or lowercased key is not — the unlock scan greps the literal. If the line is there, unwrap or re-spell it; that is the whole fix, and no state change is due. Add or repair the line first. Closing is the LAST resort and applies only to a card that genuinely has no fireable exit: such a card is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch). Channel: like Blocked-by: (H4/H14), a Restart-when: line counts from the body OR a comment — either channel discharges the duty, and the unlock scan reads both (hold protocol: widen the Restart-when: channel contract to body OR comment — unlock scan + H9 + the SKILL.md hold-row text move together (a comment-channel exit silently expired for 2 days) #10403 closed the old body-only gap).
H11#8343 — important card parked: bug sitting in pm:on-hold, open ~19d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card's Blocked-by: / Restart-when: liveness in the triage round.
H26#9709 — pm:blocked on 1 target(s) that can never CLOSE: #9465 (pm:on-hold). The unlock predicate is "the Blocked-by: target closed", and pm:on-hold / needs-user-decision are by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one. ⚠️ Not a claim that the block is wrong — waiting on a deferred card is sometimes exactly right. It says the wait is indefinite BY CONSTRUCTION, so the release has to come from the target's own state changing (a ruling answered, a hold restarted) and someone has to want that.
H26#9828 — pm:blocked on 1 target(s) that can never CLOSE: #9465 (pm:on-hold). The unlock predicate is "the Blocked-by: target closed", and pm:on-hold / needs-user-decision are by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one. ⚠️ Not a claim that the block is wrong — waiting on a deferred card is sometimes exactly right. It says the wait is indefinite BY CONSTRUCTION, so the release has to come from the target's own state changing (a ruling answered, a hold restarted) and someone has to want that.
H22#10025 — card is CLOSED (closed completed) but still carries pm:dispatched — a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip the pm:* state label(s); no other write is owed, the card is already closed.
H11#10032 — important card parked: type:Bug sitting in pm:on-hold, open ~12d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card's Blocked-by: / Restart-when: liveness in the triage round.
H5#10602 — title says ⏳ vacant but assignees are [os-warren]
H26#10667 — pm:blocked on 1 target(s) that can never CLOSE: #9465 (pm:on-hold). The unlock predicate is "the Blocked-by: target closed", and pm:on-hold / needs-user-decision are by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one. ⚠️ Not a claim that the block is wrong — waiting on a deferred card is sometimes exactly right. It says the wait is indefinite BY CONSTRUCTION, so the release has to come from the target's own state changing (a ruling answered, a hold restarted) and someone has to want that.
H26#11286 — pm:blocked on 1 target(s) that can never CLOSE: #7497 (pm:on-hold). The unlock predicate is "the Blocked-by: target closed", and pm:on-hold / needs-user-decision are by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one. ⚠️ Not a claim that the block is wrong — waiting on a deferred card is sometimes exactly right. It says the wait is indefinite BY CONSTRUCTION, so the release has to come from the target's own state changing (a ruling answered, a hold restarted) and someone has to want that.
H19#11331 — pm:blocked while 3 of 4 Blocked-by: target(s) — read from body OR comment — are CLOSED (#12400 (closed 2026-08-29T15:16:12Z), #12456 (closed 2026-08-26T03:58:22Z), #13464 (closed 2026-08-31T01:10:40Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 1 target(s) are still open (#13563), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-hold row, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned to pm:queue still carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind — ⚠️ agent identity only, a HUMAN assignment is ⛔ never cleared by an agent.
H19#11333 — pm:blocked while 2 of 4 Blocked-by: target(s) — read from body OR comment — are CLOSED (#12400 (closed 2026-08-29T15:16:12Z), #12456 (closed 2026-08-26T03:58:22Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 2 target(s) are still open (#13457, #13458), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-hold row, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned to pm:queue still carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind — ⚠️ agent identity only, a HUMAN assignment is ⛔ never cleared by an agent.
H26#11333 — The wait is TRANSITIVE: #13457, #13458 are itself pm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.
H14#11633 — pm:blocking carried while no open card in THIS REPO — the only board this sweep indexes — targets it with a Blocked-by: line, body OR comment, judged against the two-channel index — a stale derived cache, scoped to THIS REPO ONLY: no dependent found in this repo; cross-repo dependents are not swept, so this is not a claim of exhaustiveness over the population — Blocked-by: edges are legally cross-repo. ⚠️ This card carries NO repo:* label, which is why the seam decline ([finding] H14's REMOVAL direction is unsafe for seam cards — the patrol derives pm:blocking from one repo's Blocked-by index, so a cross-repo dependent reads as "nobody is waiting" #13975) did not apply — and that absence is not evidence of an in-repo-only audience: measured 2026-08-31, 58 of the 67 open cards naming a sibling-repo issue carry no repo:* label. The label is not a state a seat sets: the triage sweep derives it from the Blocked-by: reverse index, and the lane selection order ranks it second only to priority:p0. So a stale one is worse than an absent one — it boosts a card nothing depends on, with authority. Report-only: verify cross-repo dependents before the triage sweep's derivation pass drops the label (or the missing Blocked-by: line landing on the card that really is waiting), never a label written from this script.
H22#11670 — card is CLOSED (closed completed) but still carries pm:dispatched — a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip the pm:* state label(s); no other write is owed, the card is already closed.
H4#11809 — pm:blocked with a Blocked-by: line in NEITHER channel — not in the body, and not in any comment on the thread (both were read). Either channel discharges the duty: seats park the line in a comment on purpose, because rewriting a body through the MCP escaping hazard ([finding] GitHub MCP issue reads return HTML-escaped bodies, so any seat that appends a line by rewriting a card body may store ' literals into its code blocks #8813) is the riskier write. So this is not a formatting nit — no machine reader anywhere knows what this card is waiting for. The unlock sweep greps this literal line, so without it in SOME channel nothing can ever return this card to the queue — the block outlives its blocker in silence.
H4#11810 — pm:blocked with a Blocked-by: line in NEITHER channel — not in the body, and not in any comment on the thread (both were read). Either channel discharges the duty: seats park the line in a comment on purpose, because rewriting a body through the MCP escaping hazard ([finding] GitHub MCP issue reads return HTML-escaped bodies, so any seat that appends a line by rewriting a card body may store ' literals into its code blocks #8813) is the riskier write. So this is not a formatting nit — no machine reader anywhere knows what this card is waiting for. The unlock sweep greps this literal line, so without it in SOME channel nothing can ever return this card to the queue — the block outlives its blocker in silence.
H24#11857 — pm:queue while ASSIGNED to os-elon — the board makes two contradictory claims about this one card: the queue view reads pm:queue as dispatchable NOW, and the claim protocol reads a non-empty assignee as TAKEN (⛔ never reassign). Both readers are right about what they read, so the card is available to everyone and forbidden to everyone at once — not a race, a card nobody can legally move. The measured origin is a state ROLLBACK that swapped the label and left the field: the landing re-label and the unlock scan both owe 「同笔摘 assignee」 and only dead-claim reclamation ever said so (17 carriers across three repos at the 2026-08-23 census). Remedy: whichever write set pm:queue owes the assignee drop in the SAME stroke — do it now. ⚠️ Asymmetric: an agent identity in that field is dead-claim residue and may be cleared on its evidence; a HUMAN assignment may be real ownership and ⛔ must never be cleared by an agent — take it to the maintainer. This row fires either way and states the login so the reader can tell them apart: the rule lands first and an ownership exemption is an explicit marker later, never the other way round (ruling 2026-08-23).
H2#11857 — assignee set but no claim comment on the thread
H19#11925 — pm:blocked while 2 of 4 Blocked-by: target(s) — read from body OR comment — are CLOSED (#12037 (closed 2026-08-26T01:52:11Z), #12038 (closed 2026-08-28T05:57:39Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 2 target(s) are still open (#12034, #12036), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-hold row, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned to pm:queue still carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind — ⚠️ agent identity only, a HUMAN assignment is ⛔ never cleared by an agent.
H26#11925 — The wait is TRANSITIVE: #12036 is itself pm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.
H22#11971 — card is CLOSED (closed completed) but still carries pm:dispatched — a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip the pm:* state label(s); no other write is owed, the card is already closed.
H20#11973 — pm:dispatched with a complete claim comment naming claude/issue-11973-l3-plugin-auth-repoint — and NO SUCH REMOTE REF EXISTS, ~1228 min after the claim was posted (threshold 60 min). Claiming and dispatching are two acts with a gap between them: the claim is an atom (assign + label swap in one write, the claim comment, a race re-read) and LAUNCHING the dev is a third act outside it, so a seat interrupted between the two leaves exactly this card — every field correct, every gauge reading "in progress", nobody working it. It is invisible from the card itself: only the absence of something elsewhere is wrong. The measured specimen sat 74 min before a patrol tick compared branch heads. ⚠️ This symptom is IDENTICAL to a dev agent that died (no branch, no PR, no report) and the remedies are OPPOSITE — a dead agent needs a probe, an undispatched claim needs a dispatch — so read the claiming seat's own action sequence before assuming either. ⛔ This row keys on NO REF AT ALL, never on "no PR yet": a dev inside a long build legitimately has a ref and no PR for over an hour. One reading to rule out first: if this card's delivery already MERGED, the branch is gone by design and the missing paired write is H8's, not this one. Report-only: the remedy is a DISPATCH or a withdrawn claim, ⛔ never a label written from this script — the same posture H14 holds for pm:blocking and H19 for a released block.
H22#11974 — card is CLOSED (closed completed) but still carries pm:dispatched — a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip the pm:* state label(s); no other write is owed, the card is already closed.
H26#11975 — pm:blocked on 1 target(s) that can never CLOSE: #13515 (pm:on-hold). The unlock predicate is "the Blocked-by: target closed", and pm:on-hold / needs-user-decision are by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one. ⚠️ Not a claim that the block is wrong — waiting on a deferred card is sometimes exactly right. It says the wait is indefinite BY CONSTRUCTION, so the release has to come from the target's own state changing (a ruling answered, a hold restarted) and someone has to want that.
H26#11978 — The wait is TRANSITIVE: #11975 is itself pm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.
H19#11979 — pm:blocked while 1 of 2 Blocked-by: target(s) — read from body OR comment — is CLOSED (#11974 (closed 2026-08-31T01:36:53Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 1 target(s) are still open (#11978), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-hold row, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned to pm:queue still carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind — ⚠️ agent identity only, a HUMAN assignment is ⛔ never cleared by an agent.
H26#11979 — The wait is TRANSITIVE: #11978 is itself pm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.
H22#12009 — card is CLOSED (closed completed) but still carries pm:dispatched — a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip the pm:* state label(s); no other write is owed, the card is already closed.
H22#12010 — card is CLOSED (closed completed) but still carries pm:dispatched — a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip the pm:* state label(s); no other write is owed, the card is already closed.
H22#12020 — card is CLOSED (closed completed) but still carries pm:dispatched — a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip the pm:* state label(s); no other write is owed, the card is already closed.
H19#12039 — pm:blocked while 1 of 2 Blocked-by: target(s) — read from body OR comment — is CLOSED (objectstack-ai/objectui#6302 (closed 2026-08-30T06:30:16Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 1 target(s) are still open (#14027), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-hold row, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned to pm:queue still carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind — ⚠️ agent identity only, a HUMAN assignment is ⛔ never cleared by an agent.
H28#12039 — pm:blocked whose BODY names 1 CLOSED Blocked-by: target(s) (objectstack-ai/objectui#6302 (closed 2026-08-30T06:30:16Z)) while a COMMENT names 1 that is still OPEN (#14027) and appear(s) nowhere in the body — so the body line is STALE: it states a wait that is over, and the wait that is actually running is parked in the channel the body is supposed to be the canonical home for. This is the written half of a RE-PARK: a seat found the body's upstream closed, carded the real prerequisite, and wrote the new blocker into a comment (the cheaper, safer write) without spending the body line. ⚠️ Read what that costs before the migration: until the liveness read was ungated this card resolved ONLY the closed body target and was published as a card whose every blocker had closed — a FALSE unlock candidate, and one such card was released to pm:queue while its real blocker was open and dispatched. The row now fires alongside H19's PARTIAL discharge rather than instead of it: H19 says the block is half-expired, this says WHICH half is documentation. Remedy: rewrite the body line to name the live blocker (the comment stays as history), so the next reader — human or sweep — finds the current wait in the canonical home. ⛔ Report-only: never a body or a label written from this script.
H24#12046 — pm:queue while ASSIGNED to yinlianghui — the board makes two contradictory claims about this one card: the queue view reads pm:queue as dispatchable NOW, and the claim protocol reads a non-empty assignee as TAKEN (⛔ never reassign). Both readers are right about what they read, so the card is available to everyone and forbidden to everyone at once — not a race, a card nobody can legally move. The measured origin is a state ROLLBACK that swapped the label and left the field: the landing re-label and the unlock scan both owe 「同笔摘 assignee」 and only dead-claim reclamation ever said so (17 carriers across three repos at the 2026-08-23 census). Remedy: whichever write set pm:queue owes the assignee drop in the SAME stroke — do it now. ⚠️ Asymmetric: an agent identity in that field is dead-claim residue and may be cleared on its evidence; a HUMAN assignment may be real ownership and ⛔ must never be cleared by an agent — take it to the maintainer. This row fires either way and states the login so the reader can tell them apart: the rule lands first and an ownership exemption is an explicit marker later, never the other way round (ruling 2026-08-23).
H2#12046 — assignee set but no claim comment on the thread
H24#12104 — pm:queue while ASSIGNED to os-litant — the board makes two contradictory claims about this one card: the queue view reads pm:queue as dispatchable NOW, and the claim protocol reads a non-empty assignee as TAKEN (⛔ never reassign). Both readers are right about what they read, so the card is available to everyone and forbidden to everyone at once — not a race, a card nobody can legally move. The measured origin is a state ROLLBACK that swapped the label and left the field: the landing re-label and the unlock scan both owe 「同笔摘 assignee」 and only dead-claim reclamation ever said so (17 carriers across three repos at the 2026-08-23 census). Remedy: whichever write set pm:queue owes the assignee drop in the SAME stroke — do it now. ⚠️ Asymmetric: an agent identity in that field is dead-claim residue and may be cleared on its evidence; a HUMAN assignment may be real ownership and ⛔ must never be cleared by an agent — take it to the maintainer. This row fires either way and states the login so the reader can tell them apart: the rule lands first and an ownership exemption is an explicit marker later, never the other way round (ruling 2026-08-23).
H2#12104 — assignee set but no claim comment on the thread
H19#12183 — pm:blocked while 1 of 1 Blocked-by: target(s) — read from body OR comment — is CLOSED (objectstack-ai/objectui#6661 (closed 2026-08-31T20:38:37Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. Every target it names is closed: nothing this card declared a wait on is still running. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-hold row, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned to pm:queue still carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind — ⚠️ agent identity only, a HUMAN assignment is ⛔ never cleared by an agent.
H5#12224 — title says 🟢 session_01FeA1nwBz1ohH65dvffUGKr but assignees are [none]
… 173 further row(s) omitted to fit GitHub's issue-body limit; the full list is in the workflow run log.
Dangling references (H40)
39 number(s) referred to by the live board do NOT resolve, and 0 could not be judged. ⛔ Report-only, and ⛔ no cause is asserted: a number can fail to resolve because it was deleted, transferred, or made unreachable, and this sweep cannot tell those apart — a reference that fails is a fact, everything after it is a question for a human. ⛔ Do not rewrite the referring text and do not close anything; if a number returns, the reference was always correct. 400 resolution(s) attempted of 3257 distinct # reference(s) read off 1608 live-board text(s) (444 open card(s)/PR(s) + 192 already-cached comment thread(s)); 989 answered free from listings in hand, 1868 NOT ATTEMPTED at the 400-resolution budget (attempted down to #11419).
… 14 further number(s) omitted at the H40_ROW_CAP render budget; the full list is in the workflow run log.
On-hold trigger-file index (H17)
Before dispatching, intersect your dispatch's file surface against this list and NAME any card it hits in the dispatch brief. These are the trigger files open holds declare — the opportunistic-restart mechanism (maintainer-accepted 2026-08-11) whose intersection was measured at 0-for-19 while it lived only as a remembered protocol step (#10034). Report-only: a card here is a hold in good standing, never a finding. Extraction is deterministic — every path shown is a tracked file; anything unverifiable was dropped rather than guessed, so this list under-reports and never invents. (read on 93 of 93 open pm:on-hold card(s); 7685 tracked file(s) in the oracle.)
Closed-card pm:* residue (H39 census, informational): pm:dispatched 2074, pm:queue 850, pm:blocking 28, pm:blocked 20, pm:on-hold 13, pm:awaiting-maintainer 2, oldest closed 2026-08-02; 555 carrying both pm:queue and pm:dispatched. Archive, not state — no cleanup is owed and none is planned (ruled 2026-08-31, 批 #13); readers scope pm:* queries to open cards.
rate premise OK — observed ~126.4/day against pinned MEASURED_MERGES_PER_DAY = 137.5/day, measured 2026-08-23 (9d ago) (factor 0.92, band 2x).
os-half-state-sweep — machine-findable marker for this generated view.
Generated view — not a second tracker. Authority lives on each card and PR (one-board rule); this body is rewritten IN PLACE by the scheduled patrol workflow (
.github/workflows/half-state-patrol.yml) on every run, and the edit history is the archive. Report-only: every row is patrol input, never a gate verdict, and this sweep never fixes a state. Each predicate and the protocol clause it enforces are documented inscripts/pm/check-half-states.mjs.Swept 2026-09-01T02:00:35.499Z · run 33460688401 · commit
6643ba1ceaeec9bdc07b493af019896dea3b77fc· triggerscheduleThe timestamp above is the patrol's own heartbeat: a
Sweptline that stops advancing means the standing caller died, which is the failure this anchor was created to make visible. Read it before you read the rows.check-half-states: swept 352 open pm-/p0-labeled issue(s), 422 open issue(s) in the unscoped pass (H13–H15, H18), 22 open PR(s) (merge state read on 1 of 1 H16 candidate(s)) and 1010 recently-merged PR(s) in objectstack-ai/objectstack — 235 half-state(s) found. H8's merged window is a TIME cap of 8 day(s), read in 11 page(s) (horizon reached: a delivery inside the window was seen, not merely the first N rows). H22 read 401 recently-closed issue(s) for
pm:*state residue (older closed carriers are outside the window by design). H22's closed-card window is a TIME cap of 3 day(s), read in 5 page(s) (boundary reached: paging ran past the horizon, not merely the first N rows). It is a CLOSURE horizon: rows are selected onclosed_at, while paging is bounded byupdated_at— the stream is consumed by closed-issue ACTIVITY (~188.3/day, measured 2026-08-31), not by closures (~11/day), which is why the page cap it replaced covered a ragged 2.1 days of update-recency rather than the closure window it read as. H23 read 401 squash commit message(s) from the default branch, carrying 6 closing-keyword binding(s) across 6 message(s). H23's commit window is a TIME cap of 3 day(s), read in 5 page(s) (boundary reached: paging ran past the horizon, not merely the first N rows). The open listings (H1–H18 inventory, H13 unscoped pass, open PRs) is an EXHAUSTIVE listing, read in 14 page(s) (complete: paging reached the end of the stream, so this IS the whole population). Hold comments read on 93 of 93 H17 candidate(s).Blocked-by:comment fallback read on 58 of 58 candidate(s).Restart-when:hold comments read on 47 of 47 H9 candidate(s). Blocker liveness (H19): targets resolved on 39 of 39 distinctBlocked-by:target(s) named by openpm:blockedcard(s). Dispatch liveness (H20 + H27): remote branch read on 10 of 10 distinct claimed branch(es) named by openpm:dispatchedcard(s) past the 60-minute threshold — one read serving both rows, so H27's 24h population is a subset of this one and costs no request of its own. Seat liveness (H32): marker thread read on 4 of 4 HELD seat post(s) whose lane is countable on THIS board — a seat held for a sibling repo's lane is out of scope here (its inventory is unreadable from this sweep, so an empty-looking queue would mean nothing), and an unread thread makes H32 decline to judge that seat rather than accuse it. Gate-removal patrol (H35): 0 removal(s) of a gate-semantic label read from 0 page(s) of the repo-wide issue-event stream over the last 12h — no per-card timeline fetch. 0 of them are UNJUDGEABLE (a gate that only ever had ONE carrier leaves 「双载体同笔清标」 no evidence in either direction, so neither H31 nor H35 can say cleared-or-stripped). Shared-file holds (H36): changed-file page read on 21 of 21 open PR(s) — a pair needs both sides read, so a shortfall can only MISS a hold, never invent one. Family folds (H37): 0 live shared branch(es) claimed by more than their own chain head, and a member comment page read on 0 of 0 openpm:queuecard(s) — that second read is bought ONLY when a fold is live, so 0 of 0 is a board with no fold in flight rather than a pass that skipped one, and an unread member can only MISS a drifted write, never invent one. Dangling references (H40): 361 of 400 attempted resolution(s) answered, over 3257 distinct#reference(s) read off the LIVE board — 444 open card(s)/PR(s) and 192 already-cached comment thread(s), so comment coverage is the gated subset rather than the whole board, and merged/closed archive is out of the corpus by design. 989 number(s) were answered free from listings already in hand, and 1868 were NOT ATTEMPTED at the 400-resolution budget (newest-first; this pass reached down to #11419) — not attempted is not clean. 39 do(es) not resolve and 0 could not be judged — ⛔ only HTTP 404 is read as unresolvable, a CLOSED card resolves normally and is never a finding, and no cause is asserted for any of them. Suppressed content is invisible, so every count here is a LOWER BOUND. Report-only: findings are patrol input, not a gate verdict.Findings
pm:blockingcarried while no open card in THIS REPO targets it with aBlocked-by:line — body OR comment — and this row DECLINES to judge the label: the card carriesrepo:cloud, a seam label whose whole meaning is that the ordering this card belongs to lives in another repo (label ledger: 「Seam card: cross-repo ordering with X is the substance」), and the protocol keeps such a card HERE precisely so a sibling repo can depend on it. The strip this row would otherwise prescribe rests on ABSENCE of evidence, and for this card the evidence is not absent, it is UNREADABLE (check:react-declaration-parity 是唯一没接进任何 workflow 的源码审计门禁,且无 MANIFEST 时静默 skip 退出 0 —— 它现在永远不可能红 #4690):buildBlockingIndexscans this repo's open listing only,Blocked-by:edges are protocol-legal across repos, and a sibling repo's card waiting on this one is invisible to the index BY CONSTRUCTION, not by any read failure — ⛔ no re-run resolves it, and there is no cross-repoBlocked-by:reader in the fleet to resolve it with. ⇒ UNJUDGED: neither a coherent cache nor a stale one. The stakes are why this declines rather than guessing —pm:blockingranks second only topriority:p0in lane selection, so a wrong strip starves the sibling that is waiting, while a wrong KEEP only over-ranks one card. Report-only: the remedy is a cross-repoBlocked-by:read by hand before the triage sweep's derivation pass touches this card, never a label written from this script — and ⛔ never a hand-applied or hand-strippedpm:blockingeither, in any direction: the label is the sweep's derived cache (「⛔ 不手工挂」).pm:on-hold, open ~78d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card'sBlocked-by:/Restart-when:liveness in the triage round.pm:on-holdwith noRestart-when:line in EITHER channel — not in the body, and not in any comment on the thread (both were read) — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate).closed …#Nexit only fires if #N CAN close: atrackingruling anchor stays open by design, so a ruling recorded in one of its COMMENTS never produces the close event this form waits for — name the ruling, not the closure.-/*bullet,**bold), but a mis-spelled or lowercased key is not — the unlock scan greps the literal. If the line is there, unwrap or re-spell it; that is the whole fix, and no state change is due. Add or repair the line first. Closing is the LAST resort and applies only to a card that genuinely has no fireable exit: such a card is closednot plannedwith reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch). Channel: likeBlocked-by:(H4/H14), aRestart-when:line counts from the body OR a comment — either channel discharges the duty, and the unlock scan reads both (hold protocol: widen theRestart-when:channel contract to body OR comment — unlock scan + H9 + the SKILL.md hold-row text move together (a comment-channel exit silently expired for 2 days) #10403 closed the old body-only gap).pm:on-hold, open ~44d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card'sBlocked-by:/Restart-when:liveness in the triage round.pm:seatpost is STALE — its lanedomain:servicescarries aClaim:on [finding] 删除记录后,它的审批单仍留在审批收件箱:pending 与 approved 两种都留,记录引用退化为原始 id #13568 written 5.3h AFTER this post's last event (claim 2026-09-01T00:26:18.000Z, post 2026-08-31T19:09:54.000Z). A shift dispatched work and did not record it, so every number the post states — 在飞 / 队列 / 决策箱 / the round number — describes a round that has since moved on, whileupdated_atmakes the post read as SETTLED rather than as stale.pm:seatpost is STALE — its lanedomain:clicarries aClaim:on Two more 4xx exits still ship the ADR-0111CODE:prefix in the human-readable text —resolveErrorResponse's passthrough, which the #12975 ruling did not reach #13095 written 20.3h AFTER this post's last event (claim 2026-09-01T01:15:04.000Z, post 2026-08-31T05:00:00.000Z). A shift dispatched work and did not record it, so every number the post states — 在飞 / 队列 / 决策箱 / the round number — describes a round that has since moved on, whileupdated_atmakes the post read as SETTLED rather than as stale.pm:queuewith ~12d with no activity of any kind (threshold 3d) — the queue is the one state that asserts the card is dispatchable NOW with nothing left to ask, so a card sitting in it is not inventory the way a parked card is: it is a card the lane keeps passing over. The measured shape is a judgement that WAS made and never written (「判断做了(有分析产出),状态写入没做」) — the analysis lands in a comment and the state stays where it was, which is indistinguishable from an ordinary queued card at every glance. This row does not judge the card and does not rank it: it asks for ONE explicit transition — dispatch it, convert it toneeds-user-decisionif it turns out to carry an unanswered question (the queue means 「无可问之事」), park it with a machine-fireable exit, withdraw it, or rewrite a premise that no longer holds. Report-only: ⛔ never a label written from this script — choosing which of those transitions applies is the whole judgement.pm:blockingcard: open ~503h, 13 of 20 openpm:blockingcard(s) unassigned. The lane selection order putspm:blockingsecond only topriority:p0, so an unclaimed one aging while fresher cards are picked is selection-order drift — visible here by name instead of only in a seat's memory. Age is the CARD's (created_at, the same quantity the order's within-rank tie-break reads), not the label's: that would need a per-card timeline fetch this sweep never makes. Visibility row — no threshold, it reports unconditionally, and like everything here it is patrol input, not a verdict.pm:on-holdwith noRestart-when:line in EITHER channel — not in the body, and not in any comment on the thread (both were read) — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate).closed …#Nexit only fires if #N CAN close: atrackingruling anchor stays open by design, so a ruling recorded in one of its COMMENTS never produces the close event this form waits for — name the ruling, not the closure.-/*bullet,**bold), but a mis-spelled or lowercased key is not — the unlock scan greps the literal. If the line is there, unwrap or re-spell it; that is the whole fix, and no state change is due. Add or repair the line first. Closing is the LAST resort and applies only to a card that genuinely has no fireable exit: such a card is closednot plannedwith reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch). Channel: likeBlocked-by:(H4/H14), aRestart-when:line counts from the body OR a comment — either channel discharges the duty, and the unlock scan reads both (hold protocol: widen theRestart-when:channel contract to body OR comment — unlock scan + H9 + the SKILL.md hold-row text move together (a comment-channel exit silently expired for 2 days) #10403 closed the old body-only gap).pm:on-hold, open ~19d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card'sBlocked-by:/Restart-when:liveness in the triage round.pm:blockedon 1 target(s) that can never CLOSE:#9465(pm:on-hold). The unlock predicate is "theBlocked-by:target closed", andpm:on-hold/needs-user-decisionare by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one.pm:blockedon 1 target(s) that can never CLOSE:#9465(pm:on-hold). The unlock predicate is "theBlocked-by:target closed", andpm:on-hold/needs-user-decisionare by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one.completed) but still carriespm:dispatched— a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip thepm:*state label(s); no other write is owed, the card is already closed.pm:on-hold, open ~12d (threshold 7d) — the important-parked inventory exists so a bug or security card cannot age out of sight inside a parked state. Re-check the card'sBlocked-by:/Restart-when:liveness in the triage round.pm:blockedon 1 target(s) that can never CLOSE:#9465(pm:on-hold). The unlock predicate is "theBlocked-by:target closed", andpm:on-hold/needs-user-decisionare by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one.pm:blockedon 1 target(s) that can never CLOSE:#7497(pm:on-hold). The unlock predicate is "theBlocked-by:target closed", andpm:on-hold/needs-user-decisionare by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one.pm:blockedwhile 3 of 4Blocked-by:target(s) — read from body OR comment — are CLOSED (#12400(closed 2026-08-29T15:16:12Z),#12456(closed 2026-08-26T03:58:22Z),#13464(closed 2026-08-31T01:10:40Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 1 target(s) are still open (#13563), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-holdrow, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned topm:queuestill carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind —pm:blockedwhile 2 of 4Blocked-by:target(s) — read from body OR comment — are CLOSED (#12400(closed 2026-08-29T15:16:12Z),#12456(closed 2026-08-26T03:58:22Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 2 target(s) are still open (#13457,#13458), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-holdrow, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned topm:queuestill carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind —#13457,#13458are itselfpm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.pm:blockingcarried while no open card in THIS REPO — the only board this sweep indexes — targets it with aBlocked-by:line, body OR comment, judged against the two-channel index — a stale derived cache, scoped to THIS REPO ONLY: no dependent found in this repo; cross-repo dependents are not swept, so this is not a claim of exhaustiveness over the population —Blocked-by:edges are legally cross-repo.repo:*label, which is why the seam decline ([finding] H14's REMOVAL direction is unsafe for seam cards — the patrol derivespm:blockingfrom one repo's Blocked-by index, so a cross-repo dependent reads as "nobody is waiting" #13975) did not apply — and that absence is not evidence of an in-repo-only audience: measured 2026-08-31, 58 of the 67 open cards naming a sibling-repo issue carry norepo:*label. The label is not a state a seat sets: the triage sweep derives it from theBlocked-by:reverse index, and the lane selection order ranks it second only topriority:p0. So a stale one is worse than an absent one — it boosts a card nothing depends on, with authority. Report-only: verify cross-repo dependents before the triage sweep's derivation pass drops the label (or the missingBlocked-by:line landing on the card that really is waiting), never a label written from this script.completed) but still carriespm:dispatched— a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip thepm:*state label(s); no other write is owed, the card is already closed.pm:blockedwith aBlocked-by:line in NEITHER channel — not in the body, and not in any comment on the thread (both were read). Either channel discharges the duty: seats park the line in a comment on purpose, because rewriting a body through the MCP escaping hazard ([finding] GitHub MCP issue reads return HTML-escaped bodies, so any seat that appends a line by rewriting a card body may store'literals into its code blocks #8813) is the riskier write. So this is not a formatting nit — no machine reader anywhere knows what this card is waiting for. The unlock sweep greps this literal line, so without it in SOME channel nothing can ever return this card to the queue — the block outlives its blocker in silence.pm:blockedwith aBlocked-by:line in NEITHER channel — not in the body, and not in any comment on the thread (both were read). Either channel discharges the duty: seats park the line in a comment on purpose, because rewriting a body through the MCP escaping hazard ([finding] GitHub MCP issue reads return HTML-escaped bodies, so any seat that appends a line by rewriting a card body may store'literals into its code blocks #8813) is the riskier write. So this is not a formatting nit — no machine reader anywhere knows what this card is waiting for. The unlock sweep greps this literal line, so without it in SOME channel nothing can ever return this card to the queue — the block outlives its blocker in silence.pm:queuewhile ASSIGNED toos-elon— the board makes two contradictory claims about this one card: the queue view readspm:queueas dispatchable NOW, and the claim protocol reads a non-empty assignee as TAKEN (⛔ never reassign). Both readers are right about what they read, so the card is available to everyone and forbidden to everyone at once — not a race, a card nobody can legally move. The measured origin is a state ROLLBACK that swapped the label and left the field: the landing re-label and the unlock scan both owe 「同笔摘 assignee」 and only dead-claim reclamation ever said so (17 carriers across three repos at the 2026-08-23 census). Remedy: whichever write setpm:queueowes the assignee drop in the SAME stroke — do it now.pm:blockedwhile 2 of 4Blocked-by:target(s) — read from body OR comment — are CLOSED (#12037(closed 2026-08-26T01:52:11Z),#12038(closed 2026-08-28T05:57:39Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 2 target(s) are still open (#12034,#12036), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-holdrow, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned topm:queuestill carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind —#12036is itselfpm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.completed) but still carriespm:dispatched— a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip thepm:*state label(s); no other write is owed, the card is already closed.pm:dispatched— the merge's paired write never landed. Droppm:dispatchedand re-grade the remainder (re-queue, close, or block the un-delivered half) in the same stroke, and 「同笔摘 assignee」 — the landing re-label owes the ASSIGNEE DROP too. A re-graded card that keeps the finished dev's assignee lands straight in H24's two-views contradiction (pm:queue+ assigned = dispatchable to the queue view, taken to the claim rule), which is how 17 cards across three repos got stuck where nobody could legally move them (finding(pm): open+pm:queue+assignee 双向撒谎态,三仓 17 张——四条机器门修法(新 H 规则/配对写入补 assignee/巡查跨仓/H22 窗口),外加一个需裁决的「等人工动作」状态 #11196).pm:dispatchedwith a complete claim comment namingclaude/issue-11973-l3-plugin-auth-repoint— and NO SUCH REMOTE REF EXISTS, ~1228 min after the claim was posted (threshold 60 min). Claiming and dispatching are two acts with a gap between them: the claim is an atom (assign + label swap in one write, the claim comment, a race re-read) and LAUNCHING the dev is a third act outside it, so a seat interrupted between the two leaves exactly this card — every field correct, every gauge reading "in progress", nobody working it. It is invisible from the card itself: only the absence of something elsewhere is wrong. The measured specimen sat 74 min before a patrol tick compared branch heads.pm:blockingand H19 for a released block.completed) but still carriespm:dispatched— a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip thepm:*state label(s); no other write is owed, the card is already closed.pm:blockedon 1 target(s) that can never CLOSE:#13515(pm:on-hold). The unlock predicate is "theBlocked-by:target closed", andpm:on-hold/needs-user-decisionare by definition states a card sits in WHILE OPEN — so this block has NO MECHANISM THAT WILL EVER RELEASE IT. Every existing check passes on this card (the line is present, the target resolves, the target is open, the label is correct), which is why the measured instances were found by a human reading and by no gauge; H9 asks the mirror question about the HELD card and nothing asked about the WAITING one.#11975is itselfpm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.pm:blockedwhile 1 of 2Blocked-by:target(s) — read from body OR comment — is CLOSED (#11974(closed 2026-08-31T01:36:53Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 1 target(s) are still open (#11978), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-holdrow, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned topm:queuestill carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind —#11978is itselfpm:blocked, so this card is waiting on a card that is waiting. A single-level predicate cannot see past one hop, and the measured chain was real one level up and FALSE two levels up (the target was an H19 finding on the same sweep — both of ITS blockers had closed). This row does not chase the chain; it says to look one level further.completed) but still carriespm:dispatched— a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip thepm:*state label(s); no other write is owed, the card is already closed.completed) but still carriespm:dispatched— a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip thepm:*state label(s); no other write is owed, the card is already closed.completed) but still carriespm:dispatched— a state label is a claim that work is in flight, and the card left the board without the paired write that clears it. H8 would have flagged this while the card was open; it closed first, which is the normal path rather than the rare one. Strip thepm:*state label(s); no other write is owed, the card is already closed.Blocked-by:line, body or comment (A fifth client-SDK erasure spelling no grep in #8140's census counted: 38 methods with NO return annotation, typed fromunwrapResponse< …any… >#11925), but NOT carryingpm:blocking— a real unblocker the selection order cannot see. The label is the derived cache that makes a card outrank everything butpriority:p0; without it this card competes on age alone while the cards waiting on it cannot start. Report-only: the remedy is the triage sweep's derivation pass applying the label, never a hand-applied one.pm:blockedwhile 1 of 2Blocked-by:target(s) — read from body OR comment — is CLOSED (objectstack-ai/objectui#6302(closed 2026-08-30T06:30:16Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. 1 target(s) are still open (#14027), so this is a PARTIAL discharge and the card may still be legitimately blocked — the row reports it, it does not decide it. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-holdrow, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned topm:queuestill carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind —pm:blockedwhose BODY names 1 CLOSEDBlocked-by:target(s) (objectstack-ai/objectui#6302(closed 2026-08-30T06:30:16Z)) while a COMMENT names 1 that is still OPEN (#14027) and appear(s) nowhere in the body — so the body line is STALE: it states a wait that is over, and the wait that is actually running is parked in the channel the body is supposed to be the canonical home for. This is the written half of a RE-PARK: a seat found the body's upstream closed, carded the real prerequisite, and wrote the new blocker into a comment (the cheaper, safer write) without spending the body line.pm:queuewhile its real blocker was open and dispatched. The row now fires alongside H19's PARTIAL discharge rather than instead of it: H19 says the block is half-expired, this says WHICH half is documentation. Remedy: rewrite the body line to name the live blocker (the comment stays as history), so the next reader — human or sweep — finds the current wait in the canonical home. ⛔ Report-only: never a body or a label written from this script.pm:queuewhile ASSIGNED toyinlianghui— the board makes two contradictory claims about this one card: the queue view readspm:queueas dispatchable NOW, and the claim protocol reads a non-empty assignee as TAKEN (⛔ never reassign). Both readers are right about what they read, so the card is available to everyone and forbidden to everyone at once — not a race, a card nobody can legally move. The measured origin is a state ROLLBACK that swapped the label and left the field: the landing re-label and the unlock scan both owe 「同笔摘 assignee」 and only dead-claim reclamation ever said so (17 carriers across three repos at the 2026-08-23 census). Remedy: whichever write setpm:queueowes the assignee drop in the SAME stroke — do it now.pm:queuewhile ASSIGNED toos-litant— the board makes two contradictory claims about this one card: the queue view readspm:queueas dispatchable NOW, and the claim protocol reads a non-empty assignee as TAKEN (⛔ never reassign). Both readers are right about what they read, so the card is available to everyone and forbidden to everyone at once — not a race, a card nobody can legally move. The measured origin is a state ROLLBACK that swapped the label and left the field: the landing re-label and the unlock scan both owe 「同笔摘 assignee」 and only dead-claim reclamation ever said so (17 carriers across three repos at the 2026-08-23 census). Remedy: whichever write setpm:queueowes the assignee drop in the SAME stroke — do it now.pm:blockedwhile 1 of 1Blocked-by:target(s) — read from body OR comment — is CLOSED (objectstack-ai/objectui#6661(closed 2026-08-31T20:38:37Z)): the block has outlived its blocker. Nothing else here asks this question — H4 asks whether the line EXISTS, H14 asks the REVERSE index — so an expired block sits with a well-formed line, a correct label and no row anywhere: one measured card sat ~4.5h past its blocker's close and was found only by a human walking the graph, another was released only by a manual triage pass. Every target it names is closed: nothing this card declared a wait on is still running. Report-only, and the release is NOT this script's to make: the state model gives it two mechanical double-checks (pm:blocked/pm:on-holdrow, 「放行双查」) — ① release only against the condition carried by the MOST RECENT conversion comment, never an earlier blocker on the thread (a condition already spent, re-fired, reinstates an expired premise as the current one), and ② refuse to release when the card carries a MERGED PR newer than that conversion comment (the card moved on after the condition was written, so the cited fact can be true and no longer current). This row surfaces the candidate; the unlock sweep releases it — ⛔ never a label written from this script. When that release does happen, its paired write includes 「同笔摘 assignee」: a card returned topm:queuestill carrying the assignee of the seat that parked it is dispatchable to the queue view and taken to the claim rule at the same time (H24), which is the state the unlock scan was measured leaving behind —Dangling references (H40)
39 number(s) referred to by the live board do NOT resolve, and 0 could not be judged. ⛔ Report-only, and ⛔ no cause is asserted: a number can fail to resolve because it was deleted, transferred, or made unreachable, and this sweep cannot tell those apart — a reference that fails is a fact, everything after it is a question for a human. ⛔ Do not rewrite the referring text and do not close anything; if a number returns, the reference was always correct. 400 resolution(s) attempted of 3257 distinct
#reference(s) read off 1608 live-board text(s) (444 open card(s)/PR(s) + 192 already-cached comment thread(s)); 989 answered free from listings in hand, 1868 NOT ATTEMPTED at the 400-resolution budget (attempted down to #11419).pnpm check:harvest ofdispatch-gates.mjsoutput silently drops a third of the gate list #13462 — HTTP 404, does not resolve; referred to by #6023cleanup-package-permissions.tsasserts "no ghost grants" from a read that never answered #13422 — HTTP 404, does not resolve; referred to by #6021needs:contract-reviewstripped, with no review on either #13412 — HTTP 404, does not resolve; referred to by #13417needs:contract-reviewattaches to the CARD, but contract-review seats scan PRs — 2 measured instances of a parked PR that was invisible instead #13410 — HTTP 404, does not resolve; referred to by #13417isMissingTableErroris a cross-package contract whose home no plugin can reach — two plugin-auth audit writes stay silently dark because of it #13399 — HTTP 404, does not resolve; referred to by #6021, #6367, #12981, #13440, #13766warnwhere AGENTS.md puts it aterror— and the card that was supposed to carry the level is CLOSED #13398 — HTTP 404, does not resolve; referred to by #6021, #12981, #13766dispatch-gates --residueprints THREE fabricated leads for check:query-options-erasure — literals naming files that have never existed, unannotated because one live sibling keeps the family reachable #13312 — HTTP 404, does not resolve; referred to by #13326scripts/**costs 11 unmeasured rows and still misses every live scanner there #13274 — HTTP 404, does not resolve; referred to by #12311.catch(() => undefined)把执行上下文解析失败静默降级为「无上下文」— 该行为在包管理门上可达什么错误状态,未测 #13255 — HTTP 404, does not resolve; referred to by #13260, #13906--self-testis wired into nocheck:*family, so its 32 assertions never run in CI #13246 — HTTP 404, does not resolve; referred to by #13919codehelperto the object-literal stamp position — the blast radius is now measured, and 4 undischargeableunresolvedfindings are the blocker #13233 — HTTP 404, does not resolve; referred to by #6023, #13513check-doc-authoring.mjs --self-testexits 0 while registering ZERO cases — and prints its full success line asserting they all hold #13173 — HTTP 404, does not resolve; referred to by #6023pull_request_readreturns a PR body with HTML entities ESCAPED, and PATCHing it back stores the escaped form — a blockquote silently becomes a paragraph starting with a literal>#13165 — HTTP 404, does not resolve; referred to by #13373, #13384On-hold trigger-file index (H17)
Before dispatching, intersect your dispatch's file surface against this list and NAME any card it hits in the dispatch brief. These are the trigger files open holds declare — the opportunistic-restart mechanism (maintainer-accepted 2026-08-11) whose intersection was measured at 0-for-19 while it lived only as a remembered protocol step (#10034). Report-only: a card here is a hold in good standing, never a finding. Extraction is deterministic — every path shown is a tracked file; anything unverifiable was dropped rather than guessed, so this list under-reports and never invents. (read on 93 of 93 open
pm:on-holdcard(s); 7685 tracked file(s) in the oracle.)packages/drivers/driver-sql/src/sql-driver.tspackages/plugins/plugin-sharing/src/sharing-service.tspackages/plugins/plugin-security/src/security-plugin.tspackages/core/src/security/auth-gate.ts,packages/runtime/src/http-dispatcher.tspackages/services/service-analytics/src/analytics-service.ts,packages/spec/src/data/currency-fraction-digits.ts,packages/spec/src/data/field.zod.tsdocs/PLATFORM_GAPS_FROM_TEMPLATES.md,packages/spec/src/ui/view.zod.tspackages/client/src/realtime-api.ts,packages/runtime/src/http-dispatcher.tspackages/drivers/driver-sql/src/sql-driver.tsscripts/check-durability-degradation-log-level.mjsscripts/check-durability-degradation-log-level.mjscontent/docs/deployment/meta.json,content/docs/meta.jsonpackages/lint/src/data-model-rules.ts,packages/lint/src/validate-security-posture.test.tsscripts/check-cross-package-test-inputs.mjsexamples/app-todo/package.jsonscripts/check-cross-package-test-inputs.mjspackages/drivers/driver-sql/src/schema-drift.ts,packages/drivers/driver-sql/src/sql-driver.tsscripts/docs-audit/affected-docs.mjs,scripts/docs-audit/check-drift-comment.mjsscripts/pm/os-verify-lock.shscripts/durability-read-invention.baseline.jsonpackages/objectql/src/registry.tsscripts/pm/dispatch-gates.mjsscripts/check-type-check-coverage.mjsscripts/check-cross-package-test-inputs.mjs,scripts/pm/dispatch-gates.mjspackages/metadata/src/__fixtures__/hotcrm-17.1-built-permissions.artifact.json,packages/plugins/plugin-security/src/security-plugin.tspackages/services/service-storage/src/metadata-store.ts,packages/services/service-storage/src/storage-routes.tspackages/plugins/plugin-security/src/security-plugin.tsClosed-card
pm:*residue (H39 census, informational): pm:dispatched 2074, pm:queue 850, pm:blocking 28, pm:blocked 20, pm:on-hold 13, pm:awaiting-maintainer 2, oldest closed 2026-08-02; 555 carrying bothpm:queueandpm:dispatched. Archive, not state — no cleanup is owed and none is planned (ruled 2026-08-31, 批 #13); readers scopepm:*queries to open cards.rate premise OK — observed ~126.4/day against pinned
MEASURED_MERGES_PER_DAY= 137.5/day, measured 2026-08-23 (9d ago) (factor 0.92, band 2x).