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
os migrate meta prints tracker numbers to the author: ADR-0087 migration entries' reason / replacement / acceptanceCriteria text carries ~2,060 of them, 178 dead, which AGENTS.md's runtime-string rule forbids #20233
Filing gate ①, finding class (b): a named producer prints text to the author that breaks a stated rule, and the gate that owns the rule does not read those positions. Found by the #19123 dev round (PR #20226, out_of_scope_findings[0]). Filed by domain:spec seat 4 (session_01CiCTczDo7tGhafXjf61dUJ, seat post #18917). ⛔ Not graded or routed here; ⛔ not a claim.
The rule
AGENTS.md (origin/main93cfc3f59, lines 16–18): 「Runtime strings — refusal prose, prescriptions, anything an author is shown — carry no tracker number (pnpm check:doc-authoring): the lesson goes into the text.」
The producer, read by this seat
packages/cli/src/commands/migrate/meta.ts (about :519–526 on 93cfc3f59) prints each semantic TODO to the author:
The three fields come from the ADR-0087 semantic entries under packages/spec/src/migrations/entries/**. So their text is 「anything an author is shown」.
This seat's own corroboration, at 93cfc3f59: git grep -c -E '#[0-9]{4,5}\b' over packages/spec/src/migrations/entries/** counts 1,529 lines in 590 files. That count is line-level and wider than the three positions, so it is an upper bound, not the same instrument.
pnpm check:doc-authoring exits 0 over all of them. Rule 3 does not recognise the reason / replacement / acceptanceCriteria positions, and Rule 3b excludes packages/spec/src.
Why it matters
An operator running os migrate meta on a real project reads 「why:」 and 「verify:」 lines that send them to tracker numbers. Some of those numbers no longer exist (178 sites), and the rest can disappear in turn: #19123 measured an 11.7–15.1% one-week decay. The lesson each entry exists to teach is then behind a link instead of in the text the author is reading.
The fix lands in packages/spec/src/migrations/entries/** (the domain:spec ledger). At about 2,060 sites it is a sweep; staging and whether the gate's reach moves with it are triage's and the lane's call.
mcp__github__search_issues (repo-scoped, semantic, closed included): doc-authoring migration entry reason replacement tracker number → 4 hits, 0 duplicates (#12996, #7753, #7491, #6967: other gates or other text). #19124 is the nearest relative (the same gate, a different path, closed not_planned).
Dedupe words: migrate meta why verify tracker number · migration entry reason tracker id · doc-authoring Rule 3 migration reason position · os migrate meta issue number printed · runtime string tracker id migrations
Filing gate ①, finding class (b): a named producer prints text to the author that breaks a stated rule, and the gate that owns the rule does not read those positions. Found by the #19123 dev round (PR #20226,
out_of_scope_findings[0]). Filed bydomain:specseat 4 (session_01CiCTczDo7tGhafXjf61dUJ, seat post #18917). ⛔ Not graded or routed here; ⛔ not a claim.The rule
AGENTS.md(origin/main93cfc3f59, lines 16–18): 「Runtime strings — refusal prose, prescriptions, anything an author is shown — carry no tracker number (pnpm check:doc-authoring): the lesson goes into the text.」The producer, read by this seat
packages/cli/src/commands/migrate/meta.ts(about :519–526 on93cfc3f59) prints each semantic TODO to the author:The three fields come from the ADR-0087 semantic entries under
packages/spec/src/migrations/entries/**. So their text is 「anything an author is shown」.The measurement
packages/spec/src/migrations/**, those positions hold 2,060 tracker-id sites (478 distinct numbers). 178 of those sites cite numbers that answer 404 today (deleted, not moved: the census found 0 answering 301). PR docs(spec): anchor five dead tracker citations to commits, and measure the true clean-up scale #20226's body carries the census method and its controls.93cfc3f59:git grep -c -E '#[0-9]{4,5}\b'overpackages/spec/src/migrations/entries/**counts 1,529 lines in 590 files. That count is line-level and wider than the three positions, so it is an upper bound, not the same instrument.pnpm check:doc-authoringexits 0 over all of them. Rule 3 does not recognise thereason/replacement/acceptanceCriteriapositions, and Rule 3b excludespackages/spec/src.Why it matters
An operator running
os migrate metaon a real project reads 「why:」 and 「verify:」 lines that send them to tracker numbers. Some of those numbers no longer exist (178 sites), and the rest can disappear in turn: #19123 measured an 11.7–15.1% one-week decay. The lesson each entry exists to teach is then behind a link instead of in the text the author is reading.Routing notes (for triage, not a grade)
packages/spec/scripts/**) was closednot_plannedunder the tooling stock cleanup (ruling 🔗 Broken links detected in documentation #202 B, Stock cleanup under ruling #202 B (maintainer 「B(荐)A + 清理存量」, amended to close): the triage seat closes the 90 listed toolingpm:queuecardsnot_planned#19458). So ⛔ this card is not filed as a request to widen the gate. The defect is the author-facing text itself.packages/spec/src/migrations/entries/**(thedomain:specledger). At about 2,060 sites it is a sweep; staging and whether the gate's reach moves with it are triage's and the lane's call.5749154545) already sets the form: D for anything an author is shown, i.e. the lesson in words, no number.Dedupe
mcp__github__search_issues(repo-scoped, semantic, closed included):doc-authoring migration entry reason replacement tracker number→ 4 hits, 0 duplicates (#12996, #7753, #7491, #6967: other gates or other text). #19124 is the nearest relative (the same gate, a different path, closednot_planned).Dedupe words:
migrate meta why verify tracker number·migration entry reason tracker id·doc-authoring Rule 3 migration reason position·os migrate meta issue number printed·runtime string tracker id migrations