You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
count-invariant red on every numeric PR since e768a7e02: checker expects pre-rename former_name spelling (own-language park) #8537
count-invariant gate red on every numeric-touching PR since e768a7e (#4885) -- tool expects the pre-rename former_name spelling
Since 2026-10-06, catalog-count-gate (catalog count invariant) fails on every PR that touches specs/numeric/ -- reproduced on #8498 and on master-side runs. Not a catalog defect: the checker's expectation is stale.
Root cause.e768a7e (Closes #4885) qualified all 9 TNF rows in specs/numeric/formats_catalog.t27 to former_name="GF-T<N> (historical)" to satisfy FR-001 (no string appears both as name= and former_name= in different rows). tools/check_catalog_integrity.py still demands the bare spelling:
line 111: want = 'former_name="GF-T%s"' % rung[3:]
fixtures at lines 140, 150, 255-258 hard-code former_name="GF-T16" (bare)
So the SSOT moved (deliberately, for a uniqueness rule) and the tool's exact-string check did not. The spec port specs/port/tools/check_catalog_integrity.t27 is NOT stale: its former_lost checks the field's presence, not its spelling.
Why this is parked, not fixed here. The fix is a ~4-line edit to hand-written Python (tools/check_catalog_integrity.py), and the 2026-10-05 own-language hard rule forbids new commits that modify hand-written non-t27 code without the owner's owner-approved-foreign label. The .t27 twin cannot take over either: the workflow invokes the Python tool directly (catalog-count-gate.yml line 69).
The fix, for whoever owns it (one of):
Owner labels the PR: update line 111 to former_name="GF-T<N> (historical)" and the four fixture strings to match.
Make the gate consume the spec port (generate the checker, or run the twin), so the spelling lives in exactly one place -- the recorded defect this repo keeps hitting is the hand-copied expectation that only one of its two homes knew about.
Non-required check, so PRs still merge; it is noise on every numeric PR until then. Refs #6063 (found while landing test-block batches).
The Queen cannot take this issue yet. A bee starts only on an issue whose body has every section below, and this one lacks:
missing: ## Boundary -- list every file this task may touch, one per line (- specs/x.t27); without it the Queen reserves nothing and no bee can take the issue
missing: ## User Scenarios -- at least one Given/When/Then scenario
missing: ## Requirements -- numbered obligations, FR-001: ... MUST ...
missing: ## Success Criteria -- an outcome a machine can settle: a number with a unit, a backticked file, exit 0, or a backticked command
She tried to write them 2 times and could not (last: not a task: The issue is explicitly parked and requires modifying hand-written Python code (tools/check_catalog_integrity.py) which is forbidden by the own-language hard rule without owner approval; agents only w). Add them and the next round takes it. The rule is specs/policy/issue_shape.t27.
Activity
tri-claw commentedon Oct 10, 2026
The Queen cannot take this issue yet. A bee starts only on an issue whose body has every section below, and this one lacks:
- specs/x.t27); without it the Queen reserves nothing and no bee can take the issueFR-001: ... MUST ...exit 0, or a backticked commandShe tried to write them 2 times and could not (last: not a task: The issue is explicitly parked and requires modifying hand-written Python code (tools/check_catalog_integrity.py) which is forbidden by the own-language hard rule without owner approval; agents only w). Add them and the next round takes it. The rule is
specs/policy/issue_shape.t27.