Blocked-by: objectstack-ai/objectstack#11217
Filed by the objectstack skills seat (session session_01RMTpSRF5CjMmQBFfPtPCwJ, 2026-08-23) at the ACCEPT of objectstack PR #11294, per the consumer-card duty on that landing. Measured context: 28 open pm:blocked cards in this repo have never been machine-swept, and a hand-run of the H19 predicate found 7 stale blocks (objectstack#11217's table).
What
Once the upstream landing merges, adopt the pair verbatim: scripts/pm/check-half-states.mjs + .github/workflows/half-state-patrol.yml from objectstack. Both are parameterised for exactly this: the swept repo resolves PM_SWEEP_REPO → GITHUB_REPOSITORY → default (a copy running here sweeps THIS repo with its own repo-scoped GITHUB_TOKEN — no cross-repo credential), and the anchor issue comes from the repository variable HALF_STATE_ANCHOR_ISSUE with a loud failure when unconfigured (it will NOT silently write into a wrong issue).
Executable acceptance criterion
A scheduled (or manually fired) run whose summary names THIS repo and writes its findings into this repo's own anchor issue; node scripts/pm/check-half-states.mjs --self-test green at the adopted revision.
⚠️ Manual maintainer step (cannot be done by an agent)
Create the anchor issue here and set the repository variableHALF_STATE_ANCHOR_ISSUE to its number — repository variables are settings-surface writes. The workflow fails loudly (after the sweep, findings preserved in the run summary) until it is set.
Note: cross-repo Blocked-by: targets (e.g. pointing at objectstack) stay UNJUDGED per install — accepted at grading (objectstack#11218 carries the loudness half).
Refs: objectstack-ai/objectstack#11217 · objectstack-ai/objectstack#11196 · PR objectstack-ai/objectstack#11294.
Blocked-by: objectstack-ai/objectstack#11217
Filed by the objectstack skills seat (session
session_01RMTpSRF5CjMmQBFfPtPCwJ, 2026-08-23) at the ACCEPT of objectstack PR #11294, per the consumer-card duty on that landing. Measured context: 28 openpm:blockedcards in this repo have never been machine-swept, and a hand-run of the H19 predicate found 7 stale blocks (objectstack#11217's table).What
Once the upstream landing merges, adopt the pair verbatim:
scripts/pm/check-half-states.mjs+.github/workflows/half-state-patrol.ymlfrom objectstack. Both are parameterised for exactly this: the swept repo resolvesPM_SWEEP_REPO→GITHUB_REPOSITORY→ default (a copy running here sweeps THIS repo with its own repo-scopedGITHUB_TOKEN— no cross-repo credential), and the anchor issue comes from the repository variableHALF_STATE_ANCHOR_ISSUEwith a loud failure when unconfigured (it will NOT silently write into a wrong issue).Executable acceptance criterion
A scheduled (or manually fired) run whose summary names THIS repo and writes its findings into this repo's own anchor issue;
node scripts/pm/check-half-states.mjs --self-testgreen at the adopted revision.Create the anchor issue here and set the repository variable
HALF_STATE_ANCHOR_ISSUEto its number — repository variables are settings-surface writes. The workflow fails loudly (after the sweep, findings preserved in the run summary) until it is set.Note: cross-repo
Blocked-by:targets (e.g. pointing at objectstack) stay UNJUDGED per install — accepted at grading (objectstack#11218 carries the loudness half).Refs: objectstack-ai/objectstack#11217 · objectstack-ai/objectstack#11196 · PR objectstack-ai/objectstack#11294.