Filed by the skills seat at the merge of PR #16406 (flight R), which gave H22's pinned closed-update divisor H8's staleness alarm. The alarm's first live run names this act.
The reading
scripts/pm/check-half-states.mjs pins MEASURED_CLOSED_ISSUE_UPDATES_PER_DAY = 188.3, measured 2026-08-31. The alarm landed by PR #16406 reads, on objectstack-ai/objectstack at 19:5xZ today:
RATE PREMISE DRIFTED — this sweep observed ~397.9 closed-issue updates/day against a pinned MEASURED_CLOSED_ISSUE_UPDATES_PER_DAY = 188.3/day, measured 2026-08-31 (7d ago): a factor of 2.11, outside the 2x band.
On objectstack-ai/objectui the same run reads OK (~175.5/day, factor 0.93). Flight N's earlier reading agreed (~312/day over 40 pages, ~414 over the leading 12).
What
The act the alarm names, by hand and not by a sweep (H8's rule — a pinned premise is checked against a sweep, never updated by one): re-measure the closed-issue update rate on objectstack-ai/objectstack over a stated window with the method the file's own docblock prescribes for the pin (rows read ÷ the updated_at span they cover, the horizon-driven closed pass), re-pin the constant to the measured value and its _AT to the measurement date, and state the window and the method in the constant's comment. The cost note in H22's census clause that reads the pin stays consistent by construction (it interpolates the constant). If the docblock prescribes a longer window than one sweep reaches, take the window it prescribes.
Acceptance
node scripts/pm/check-half-states.mjs --self-test exit 0 with the case count unchanged or higher; the live sweep on objectstack prints the alarm's OK clause after the re-pin (factor inside the 2× band), objectui still OK.
check-governed-merges --test exit 0 (not governed); whole-repo lint; the PR body quotes the before/after clauses.
- Pure code ⇒ the seat flips ready and arms SQUASH auto-merge at ACCEPT.
Refs #16393, PR #16406.
Generated by Claude Code
Filed by the skills seat at the merge of PR #16406 (flight R), which gave H22's pinned closed-update divisor H8's staleness alarm. The alarm's first live run names this act.
The reading
scripts/pm/check-half-states.mjspinsMEASURED_CLOSED_ISSUE_UPDATES_PER_DAY = 188.3, measured 2026-08-31. The alarm landed by PR #16406 reads, onobjectstack-ai/objectstackat 19:5xZ today:On
objectstack-ai/objectuithe same run reads OK (~175.5/day, factor 0.93). Flight N's earlier reading agreed (~312/day over 40 pages, ~414 over the leading 12).What
The act the alarm names, by hand and not by a sweep (H8's rule — a pinned premise is checked against a sweep, never updated by one): re-measure the closed-issue update rate on
objectstack-ai/objectstackover a stated window with the method the file's own docblock prescribes for the pin (rows read ÷ theupdated_atspan they cover, the horizon-driven closed pass), re-pin the constant to the measured value and its_ATto the measurement date, and state the window and the method in the constant's comment. The cost note in H22's census clause that reads the pin stays consistent by construction (it interpolates the constant). If the docblock prescribes a longer window than one sweep reaches, take the window it prescribes.Acceptance
node scripts/pm/check-half-states.mjs --self-testexit 0 with the case count unchanged or higher; the live sweep on objectstack prints the alarm's OK clause after the re-pin (factor inside the 2× band), objectui still OK.check-governed-merges --testexit 0 (not governed); whole-repo lint; the PR body quotes the before/after clauses.Refs #16393, PR #16406.
Generated by Claude Code