Skip to content

[finding] The half-state patrol sweeps objectstack ONLY — 37 blocked cards in objectui/cloud/objectos have never been machine-swept, and 7 stale blocks were sitting in the gap #11217

Description

@os-zhuang

Finding — recording only, not claimed. Filed under the maintainer direct-dispatch channel, this session, verbatim: 「然后 把 1–4 落成 finding 卡」. PM session session_0124Qg8rLvpXnQDwCmpKUmaJ.

Measured

.github/workflows/half-state-patrol.yml runs check-half-states.mjs against ${{ github.repository }}. It is installed in this repo only, so the sweep covers objectstack and nothing else. The anchor #9857 says so in its own header: "…in objectstack-ai/objectstack — 94 half-state(s) found."

Open pm:blocked inventory across the four repos, 2026-08-23:

repo blocked machine-swept
objectstack 22 yes
objectui 28 no
cloud 7 no
objectos 2 no

37 of 59 blocked cards are outside any patrol.

The cost, measured rather than asserted

A hand-run of H19's predicate over objectui's 12 blocked cards that carry a resolvable Blocked-by: target found 7 whose blocker was already closed:

card blocker blocker closed days stale
objectui#4676 #9019 2026-08-16 7
objectui#4664 #8704 2026-08-16 7
objectui#5233 #9933 2026-08-19 4
objectui#5210 #9934 2026-08-19 4
objectui#5329 objectui#5127 2026-08-20 3
objectui#5601 #10054 2026-08-21 (stays blocked — unreleased, see below)
objectui#5120 objectui#5149 2026-08-21 2

Six were returned to pm:queue this round; #5601 stays blocked because its blocker's change is closed but unreleased. 58% of objectui's machine-readable blocks were false. The same predicate runs hourly in objectstack and caught its four (H19 rows on #9857) — the difference is not discipline, it is that one repo has a caller and three do not.

Second-order

The same absence hides the other predicates too. Spot-checked while sweeping: objectui#5127 and #5149 are both closed while still carrying pm:dispatched — the H22 shape — and nothing in objectui will ever report it.

Shape of the fix

Parameterise the workflow's target repo and install it (or a matrix leg) for objectui, cloud and objectos. The script is already repo-agnostic — --format=markdown exists precisely so a caller can stamp its own provenance, and the anchor-issue-per-repo pattern carries over unchanged. The open questions are the token's cross-repo scope (see the sibling finding on H19's 404) and one anchor issue per repo to rewrite in place.

⛔ Not filed as queue work: whether four separate scheduled callers or one matrix job is right, and who owns the anchors, is a routing call for triage.

Re-check

git show origin/main:.github/workflows/half-state-patrol.yml | grep -n 'github.repository'

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions