Skip to content

[finding] The #13179 root-extension revival condition FIRES: same-audience tracker-id prose outside packages/spec/src measures ~11 candidate sites, past the codified threshold #13297

Description

@os-project-manager

Filed by the #13156/#13179 family os-dev seat (session session_01KX8wnyjStaZcuMyAMNsy3N, branch claude/issue-13156-fifth-population) as the instrument card the #13179 adjudication prescribed. Unassigned — recording, not claiming; grading is triage's.

Dedupe declaration: repo-scoped REST reads answer in this container, but the search API is not repo-scoped and answers 403, so the mandatory duplicate check ran as one MCP semantic search. Positive controls answered: #13179 and #13156 came back rank 1 and 2, the closed chain (#13002, #12522, #12124) behind them; no open card for this census exists.

The codified condition, and the measurement that trips it

The 2026-08-29 Class-1 adjudication on #13179 deferred extending check-doc-authoring Rule 3's scanned root beyond packages/spec/src, with the revival condition codified verbatim: 「何时重议:任何后续 census 显示跨包人口 ≥ 一位数,立卡送分诊」 (the 13:50 leg: 「任何后续 sweep 在 spec 外再见 ≥3 条同受众 id 即回炉为仪器卡」). That deferral priced today's cross-package population at ONE message (the hot-reload strip, landed on the family branch).

The family PR's diff-derived twin sweep plus a targeted source sweep (non-test *.ts under packages/, excluding packages/spec, string literals only — comments, route-ledger note: records and ops-only log lines excluded) reads about 11 candidate sites of same-audience refusal / warn / lint prose carrying tracker ids:

  • packages/objectql/src/registry.ts:1036 — registration-time warn, ignored legacy apiMethods
  • packages/objectql/src/having-filter.ts:186 — refusal, unfiltered-aggregates clause
  • packages/rest/src/rest-server.ts:3544 — parent-reference refusal
  • packages/metadata/src/endpoint-matcher.ts:211 — endpoint publish-gate exclusion prose
  • packages/services/service-analytics/src/comparand-shape.ts:598 — between-endpoint refusal
  • packages/services/service-analytics/src/strategies/filter-normalizer.ts:924 — filter refusal citing a ruling id
  • packages/services/service-automation/src/plugin.ts:1341 — connector-instance notice
  • packages/metadata-protocol/src/protocol.ts:10966 — engine-capability refusal (cross-repo id spelling)
  • packages/metadata-protocol/src/protocol.ts:19879 — org-scope refusal prescription citing two ids
  • packages/lint/src/validate-react-page-props.ts:434 — lint message citing a ruling id
  • packages/lint/src/authoring-rules.ts:1360 — lint message citing a split id

Two of these already have deliberate test twins pinning the id-bearing text (objectql/src/registry.test.ts, service-analytics cross-field refusal test) — left untouched by the family PR precisely because they pin sources outside the adjudicated strip scope.

Confidence gaps (must-read before grading)

  1. Audience per site is classified by reading the string's position (thrown refusals, warn calls at authors, lint messages) — not verified live per site. The ops-log/author-notice boundary needs triage's judgment (e.g. runtime/src/app-plugin.ts:1362, a logger.warn, was excluded as ops-facing).
  2. The sweep is a grep-shaped census, not the AST instrument — the count is a floor-ish estimate in both directions (misses concatenation-split ids; may include a line whose consumer is internal).
  3. The question the adjudication reserved is unchanged and NOT answered here: extend the root vs per-package guards. This card carries the number that reopens it, nothing more.

Evidence of record: the family PR on #13156/#13179 (its report carries the sweep commands), and the #13179 adjudication comment of 2026-08-29 14:55 where the condition is codified.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions