Skip to content

docs(gates): delete the spec-docblock gate's stale "symbol is ZERO" reason - #19786

Merged
os-warren merged 1 commit into
mainfrom
claude/issue-17242-spec-citation-corpus
Sep 23, 2026
Merged

os-warren merged 1 commit into
mainfrom
claude/issue-17242-spec-citation-corpus

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #17242
Clause-②: no

Round 6: one file, scripts/check-spec-docblock-symbol-anchors.mjs, comments only.

What was stale

The header section headed "counts.symbol is ZERO on this corpus", the case-4 note and one sentence of the case-5 note said the spec tree holds exactly one symbol-anchor-shaped span and that it does not resolve. They gave that as the reason the live-corpus self-test does not assert symbol > 0.

Re-derived

Instrument: this gate's CORPUS and scripts/symbol-anchors.mjs at 4b23e4fab5, swept over a checkout of each tree.

tree anchors symbol (declaration) declined symbol-anchor-shaped spans the websocket.zod.ts span
08e38c6377 (census) 2639 0 (0) 183 1 present, unresolved
fa29803417 (re-census) 3437 6 (6) 467 7 present, unresolved
4b23e4fab5 (base) 3448 6 (6) 502 7 present, unresolved, pinned

Controls: each older tree's own instrument gives the same counts. The gate at fa29803417 prints 3437 / 6 (6) / 467. 08e38c6377 has no gate, so its own symbol-anchors.mjs was run with the same corpus spec and read 0 / 2639 / 183. The six resolving spans are 2 in data/analytics.zod.ts, 3 in kernel/functional-completeness.ts and 1 in ui/action-params.zod.ts.

⇒ The text was true at the census tree and false at fa29803417 and at base.

Change: deleted only

  • The header section, from its heading to its last paragraph. The websocket.zod.ts part was still true, and its CENSUS_RESIDUAL row still carries the doc, the citation and the repair.
  • The case-4 note.
  • The case-5 sentence that called that loop the positive control for "the ONE symbol-shaped span".

No reason replaces them. Claim audit: 0 sentences added or changed in the file. The self-test still asserts fileLevel and does not assert symbol > 0. The ratchet recommendation recorded by #19733 is unchanged and not restated here.

Verification, at d23edb4eef

  • Gate, --list-unresolvable and --self-test: exit 0 at base and head, stdout byte-identical (cmp 0; sha256 44a6a984…, af5d0039…, 1dcc0b91…), stderr empty.
  • Comment-only: the TypeScript printer's output with comments removed is identical at base and head (sha256 8865ec39…). Lit control: a one-character code mutation makes it differ. The self-test floor stays 124.
  • check-scripts-symbol-anchors (sweeps this file): exit 0. Anchors 3694 → 3691 and file-level 3642 → 3639; symbol 52 and declined 14 unchanged. The −3 are the three code spans in the deleted text. Its self-test exits 0.
  • dispatch-gates: 31 derived, 31 run, all exit 0; --ran reads 0 NOT-MEASURED, 0 UNRUN. Outside that total: the 2 workflow-valued families and the Test Core steps run in CI only. The 14 changeset-pending families do not apply (no changeset: a repo-root script in the private root package).
  • ESLint on the file: 0 errors, 0 warnings. Repo-wide lint is left to CI.
  • 0 control bytes and 0 model identifiers in the file and the commit message. Lit control: a planted control byte and a planted model identifier are both found.

Acceptance notes

  • No symbol > 0 live control is proposed. Case 1 already asserts declaration >= 1 and literal >= 1 through the same CORPUS on its fixture. A live floor would add a constraint on authors and no new detection. Noted, not filed; carrier: none.

Generated by Claude Code

…eason

The header section headed "`counts.symbol` is ZERO on this corpus", the
case-4 note and the case-5 sentence said the whole spec tree holds exactly
one symbol-anchor-shaped span and that it does not resolve, and used that
as the reason the live-corpus self-test does not assert `symbol > 0`.

Re-derived with this gate's own corpus and resolver: true at the census
tree 08e38c6 (symbol 0, one shaped span, unresolved); false at
fa29803 and at 4b23e4f (symbol 6, all 6 declaration, 7 shaped spans,
the websocket.zod.ts one still unresolved and still pinned).

The false reason is deleted, not replaced. No sentence is added; no code,
assertion or case changes.

Claude-Session: https://claude.ai/code/session_01UDXER3sdqfeVYpEWZs5mZx
Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants