Skip to content

[Half-state patrol] check-half-states live sweep — generated view (please pin) #9857

Description

@os-warren

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.

Swept 2026-08-19T13:55:02.824Z · run 32260828333 · commit 17854cba0f015f5d6fa343faef4454e2acafc2b0 · trigger schedule

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.

check-half-states: swept 191 open pm-/p0-labeled issue(s), 226 open issue(s) in the unscoped pass (H13–H15), 7 open PR(s) (merge state read on 0 of 0 H16 candidate(s)) and 198 recently-merged PR(s) in objectstack-ai/objectstack — 61 half-state(s) found. Report-only: findings are patrol input, not a gate verdict.

Findings

  • H9#1883pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H11#1883 — important card parked: priority:p2 + security sitting in pm:on-hold, open ~65d (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#2657pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H11#3267 — important card parked: priority:p2 sitting in pm:on-hold, open ~31d (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#5058pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#5082pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H5#6021 — title says ⏳ vacant but assignees are [os-warren]
  • H5#6023 — title says 🟢 os-steve but assignees are [os-project-manager]
  • H6#6023 — seat body is 21.9 KB (soft bound ~10 KB) — compact to the six-section current-state template (Seat-post protocol: registry bodies grow without bound — bound the live body to current state, move shift narration out #7583; edit history is the archive)
  • H6#6024 — seat body is 11.4 KB (soft bound ~10 KB) — compact to the six-section current-state template (Seat-post protocol: registry bodies grow without bound — bound the live body to current state, move shift narration out #7583; edit history is the archive)
  • H6#6025 — seat body is 18.6 KB (soft bound ~10 KB) — compact to the six-section current-state template (Seat-post protocol: registry bodies grow without bound — bound the live body to current state, move shift narration out #7583; edit history is the archive)
  • H5#6367 — title says 🟢 os-elon but assignees are [none]
  • H6#6367 — seat body is 17.6 KB (soft bound ~10 KB) — compact to the six-section current-state template (Seat-post protocol: registry bodies grow without bound — bound the live body to current state, move shift narration out #7583; edit history is the archive)
  • H9#6590pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H2#7279 — assignee set but no claim comment on the thread
  • H9#7611pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H11#7616 — important card parked: bug sitting in pm:on-hold, open ~8d (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#8006pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#8103pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#8345pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#8346pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#8347pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#8501pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H2#8531 — assignee set but no claim comment on the thread
  • H9#8641pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#8672pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H13#8714domain:* with no pm-state label and ~5h without activity (threshold 2h) — routing landed, the state machine never did, so the card is invisible to every seat's candidate query. A half-state older than one sweep cycle is a defect of the healing loop (triage sweep disjunct ③), not inventory: pair the domain label with its pm-state in one write, oldest first.
  • H9#8998pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9089pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9139pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9167pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9236pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9272pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9276pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H2#9281 — assignee set but no claim comment on the thread
  • H4#9313pm:blocked without a Blocked-by: body line
  • H9#9350pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9371pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H14#9465pm:blocking carried while NO open card's Blocked-by: body line targets it — a stale derived cache. 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: the remedy is the triage sweep's derivation pass dropping the label (or the missing Blocked-by: line landing on the card that really is waiting), never a label written from this script.
  • H15#9465 — oldest UNCLAIMED pm:blocking card: open ~35h, 3 of 5 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.
  • H9#9591pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H4#9652pm:blocked without a Blocked-by: body line
  • H14#9652 — targeted by 1 open card(s)' Blocked-by: body line (tests(identity): pin the unpinned admin-lifecycle clauses of identity-auth.admin-lifecycle-operations — coverage gaps from QA run #9401 #9482) but NOT carrying pm:blocking — a real unblocker the selection order cannot see. The label is the derived cache that makes a card outrank everything but priority: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.
  • H9#9659pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H9#9707pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H4#9709pm:blocked without a Blocked-by: body line
  • H4#9714pm:blocked without a Blocked-by: body line
  • H14#9730pm:blocking carried while NO open card's Blocked-by: body line targets it — a stale derived cache. 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: the remedy is the triage sweep's derivation pass dropping the label (or the missing Blocked-by: line landing on the card that really is waiting), never a label written from this script.
  • H4#9748pm:blocked without a Blocked-by: body line
  • H4#9754pm:blocked without a Blocked-by: body line
  • H4#9755pm:blocked without a Blocked-by: body line
  • H13#9756domain:* with no pm-state label and ~5h without activity (threshold 2h) — routing landed, the state machine never did, so the card is invisible to every seat's candidate query. A half-state older than one sweep cycle is a defect of the healing loop (triage sweep disjunct ③), not inventory: pair the domain label with its pm-state in one write, oldest first.
  • H4#9757pm:blocked without a Blocked-by: body line
  • H4#9758pm:blocked without a Blocked-by: body line
  • H9#9819pm:on-hold with no Restart-when: body line — the hold state is legal only with a machine-fireable exit (Restart-when: closed <owner/repo>#N, or a one-line executable predicate). Add the line, or apply the protocol's default: a card no mechanism can revive is closed not planned with reason + provenance in the closing comment (type:Bug holds re-route instead — see the state model's Bug branch).
  • H4#9828pm:blocked without a Blocked-by: body line
  • H8#9872 — delivering PR docs(comments): date the #3290 session.tenantId removal to v16, not v11 #9990 (merged 2026-08-19) is MERGED but the card still carries pm:dispatched — the merge's paired write never landed. Drop pm:dispatched and re-grade the remainder (re-queue, close, or block the un-delivered half) in the same stroke.
  • H4#9876pm:blocked without a Blocked-by: body line
  • H14#9968pm:blocking carried while NO open card's Blocked-by: body line targets it — a stale derived cache. 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: the remedy is the triage sweep's derivation pass dropping the label (or the missing Blocked-by: line landing on the card that really is waiting), never a label written from this script.
  • H4#9969pm:blocked without a Blocked-by: body line
  • H2#9983 — assignee set but no claim comment on the thread

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions