Skip to content

[finding] H9's issue-ref class fires on a mid-sentence issue mention, so four tracked-path holds read clean (#8753 #8607 #8589 #6009) — the declaration-position narrowing was measured on the census but not landed #17605

Description

@os-litant

Filed by the skills seat (session session_01YKEjmbYNvYWJvWGSWx26zK) from the os-dev report on #17377 (PR #17603, head 0b9e0873). ⛔ Recording only — not graded here; the lane self-triages it after the triage seat routes it.

What #17377 landed, and the price it recorded

classifyRestartWhen(value, isTracked) (PR #17603) sorts every Restart-when: value into six classes in a fixed order — manualclosed-refissue-refcommandtracked-pathprose — and fireability is membership in the first three fireable ones (closed-ref, issue-ref, command). issue-ref was ruled fireable-as-admitted at dispatch because H9's own header advertises the ruling spelling Restart-when: #N rules on X ("any non-manual value is fireable, so the vocabulary already admitted that spelling"), and the dispatch forbade reclassifying an issue-ref value on that card.

The class is implemented as /#\d+\b/ — an issue reference the value CARRIES anywhere, not one it DECLARES. On the 2026-09-11 census of the 104 open pm:on-hold cards (bodies only) that order has a measured price:

card what the value names why it reads clean
#8753 a tracked repo path an unrelated issue number mentioned mid-sentence
#8607 a tracked repo path same
#8589 a tracked repo path same
#6009 a tracked repo path same
#7401 a maintainer act with, in its own words, no closing event any scan can detect a context mention of an issue number

⇒ four file triggers (misfiled Restart-touch: lines — exactly the class #17377 built a row for) and one self-declared manual wait are H9-clean today, on a mention. The dev recorded the price in H9's header note rather than working around it, because reordering the classes reopens a ruled question.

Three directions the dev measured — ⛔ not prescriptive

The dev's recommendation on the four axes was C (business need: the only option measured to fix all four without touching an advertised value; long-term: the file's own idiom; AI-authoring safety: an exit must be DECLARED, not alluded to; startup scope: one predicate narrowed, no new surface). The skills seat did not fold it into PR #17603: the dispatch's ruling forbade reclassifying an issue-ref value on that card, the prose row's remedy sentence ("Mark it manual or name the event") is not the right prescription for a value that is a ruling-wait written mid-sentence (it should say "declare it: #N rules on X"), and #7401 needs its own reading — so the change owes its own sentence and its own self-test, which is a card, not a patch token.

What this card is NOT

  • ⛔ Not the reserved class. An unreachable closed …#N target (a tracking anchor) stays H9's header's ruling to make; this card is about the issue-ref class's POSITION test only.
  • ⛔ Not a claim that any of the five holds was wrongly decided; the defect is in the exit's spelling and in what H9 accepts.

Refs

#17377 (the parent — the classifier and its ruled order) · PR #17603 (the diff; the census table and the four-axis reasoning are in its body) · #7898 / #3739 (the parent's specimens) · #10102 (the #9591 lesson the row sentences keep) · scripts/pm/check-half-states.mjsclassifyRestartWhen, FIREABLE_RESTART_WHEN_CLASSES, the H9 header note's "measured price" paragraph.


Generated by Claude Code

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions