Skip to content

Second and further rows for the teaching-corpus lexical ratchet — NoSQL portability gloss, retired $regex, visibleWhen claims #13745

Description

@claude

Follow-up to #13582, which shipped scripts/check-corpus-claim-drift.mjs — a shrink-only,
table-driven lexical anti-drift ratchet over content/docs/** + skills/** — deliberately carrying
exactly one VOCABULARY row (exists-key-presence), per that card's ruling. The one-row cap is
mechanically enforced: an ablation that smuggles a second row reds the gate's self-test with 10
named failures.

This card is the second row (and any further ones).

Why each new word is its own card, not a rider

The ratchet's row is a claim, not a spelling: a site is a co-occurrence of a claim phrase within
4 lines of a pinned spelling. Adding a row therefore means (a) surveying legitimate usage of the new
phrase across 225 corpus files, (b) paying whatever baseline entries that survey turns up, and (c)
proving the row does not fire on the legitimate ones. ⛔ A word added without that survey turns a
ratchet into a noise gate — which is the failure mode #13582's B' ablation demonstrates directly
(remove co-occurrence, and every legitimate-usage leg fires).

Candidate rows

1. NoSQL / the portability gloss — ⚠️ measurement already done, ⛔ do not re-derive it

#13582's dev measured this one and handed it over rather than shipping it. Recorded here so the
work is not repeated:

⇒ A new row (or a new claim member on a new axis), with its own survey and its own baseline.

2. The retired $regex spelling

Named by #13582's dev as belonging to this family. ⛔ Unmeasured — the survey is this card's work.

3. #13532's visibleWhen claims

Named by #13582's dev as belonging to this family. ⛔ Unmeasured.

⚠️ Scope fact the implementer needs up front

The gate's two roots are content/docs/** and skills/** — 225 files, zero under packages/**.
So no row added here can reach a false claim living in source-code prose. The known live instance of
exactly that is packages/spec/src/data/filter.zod.ts:997 ("Field exists check (primarily for
NoSQL) - MongoDB: $exists"
), tracked separately on #13709 — it lands in packages/spec/src/**,
which is the domain:spec seat's surface and a clause ② limb. ⛔ Do not widen this gate's roots
to chase it without a ruling; that is a different decision from adding a word.

Acceptance

  • each new row ships with its legitimate-usage survey recorded in the PR body
  • each new row's baseline entries are enumerated, not summarised
  • the gate's existing ablation legs still red when inverted (the co-occurrence and one-row-cap
    properties are the gate's whole safety argument — ⛔ a row must not weaken them)

Source

#13582 (PR #13742) — open question answered A by the domain:devx PM seat, with the NoSQL
measurement handed over rather than dropped.


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions