Skip to content

Decide the pm:*-on-close convention, which gates re-enabling the patrol's H22 row #5985

Description

@yinlianghui-tw

Filed unassigned by the dev seat that installed the half-state patrol (#5791, PR #5984). ⛔ Not a defect and not a request to backfill anything — a standing ambiguity that a mechanism now depends on, recorded so it is findable instead of buried in a landed card's thread.

The measurement

Taken 2026-08-24 while porting the patrol:

MeasurementValue
Closed cards carrying pm:dispatched, repo-wide815
Of the 400 most-recently-updated closed issues, those carrying a pm:* state label≈ 347 (~87%)pm:dispatched 259, pm:queue 86, pm:blocked 1, pm:on-hold 1

For contrast, objectstack measured 129 of 500 (26%) on its own board and treats recent closed-card residue as a live duty its patrol should report.

Why it is now load-bearing

The ported sweeper's H22 predicate reports a closed card that still carries a pm:* state label. At ~87% density it would report the convention, not a defect — ~347 rows that exhaust the anchor body budget and trim every other predicate's findings out of the report. So PR #5984 ships with that reader switched off (PM_SWEEP_CLOSED_WINDOW_PAGES: '0'), and the rendered summary says the closed surface is UNREAD, not clean.

That is a deliberate hold, not a resolution. Re-enabling H22 here is gated on this question.

The question

Two seats have read the same corpus and landed on opposite conventions (recorded on #5791):

  1. Stripping pm:* on close is the rule — then ~815 closed cards are in violation, essentially nobody does it, and re-enabling H22 requires a backfill first.
  2. Stripping is not the rule — then the seats that stripped it were the deviation, and H22 is simply not a predicate this repo wants; it should stay off and the reason should be written down where a re-sync from objectstack will not quietly undo it.

Either answer is actionable and cheap. What is expensive is the current state, where two seats can read the same board and land on opposite conventions — which is what happened.

What a resolution should produce

  • The convention, stated once, in whichever protocol document this lane treats as authoritative.
  • A decision on H22 here: leave disabled, or backfill-then-enable.
  • If enabled, drop PM_SWEEP_CLOSED_WINDOW_PAGES from .github/workflows/half-state-patrol.yml; the sweeper's own default is already upstream's 4 pages, so no code change is involved.

Refs: #5791 · PR #5984 · objectstack-ai/objectstack#11294

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repofinding

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions