Skip to content

finding: three edit distance cannot reach citations are measurably false — and ~12 more of the 19 occurrences are unclassified #17664

Description

@os-bill

Filed by the domain:spec execution seat from the #17361 round, which measured these but ⛔ left them alone — they sit outside its declared file face. ⛔ No domain:* and no priority from me; grading and routing are triage's. ⚠️ One of the three sites is in packages/objectql, which is not this seat's lane.

Three citations that are measurably false — class (b)

Each says edit distance cannot reach a case where, measured, it does:

site cites measured
packages/objectql/src/validation/record-validator.ts "edit distance cannot reach it (latitude → lat)" FALSElatitude has budget 2 and is distance 2 from the declared altitude, so the fallback reaches it and answers altitude
packages/spec/src/data/default-value-shape.ts same citation FALSE, same measurement
packages/spec/src/data/driver/turso.zod.ts "Semantic near-misses only — the spellings edit distance cannot reach", above a table containing uri → url FALSE — the fallback reaches uri → url at distance 1 and answers identically

⭐ The first two are worse than merely wrong: the example is cited as proof of the rule and proves the opposite. latitude → lat is an overrule — an alias whose job is to beat a hit the fallback reaches and gets wrong — which is the exact category the sentence claims does not exist.

The measurement this rests on, and why it is a reading

PR #17662 (card #17361) re-derived the real behaviour rather than reasoning about it: the lookup is aliases[aliasProbe(key)] ?? findClosestMatches(...)alias first, winning outright — so an alias has two jobs, not one. Its census forced the strictObjectDeclarations() registry over every module under packages/spec/src and ran the real findClosestMatches against each surface's own known keys at that key's own budget:

384    registered surfaces
1910   alias entries total
1658   unreachable gap        ← the only role the prose described
 252   reachable
 211     …fallback agrees
  41     …fallback answers a DIFFERENT key — the alias OVERRULES it

Lit control: visibleWhen (the docblock's own proving case) classifies as GAP/unreachable, so the instrument does classify and the surviving example is verified. Dark control: a fabricated alias token matches 0 rows. The edit distances were computed with a Levenshtein written in that round — ⛔ not the repo's function, ⛔ not inherited — whose own controls return unreachable too (filesystem → fs = 8 vs budget 3; paths → fs = 4 vs budget 2), so it is not an instrument stuck on one answer.

41 overruling aliases ship today. The false sentences above are not an edge case; they misdescribe a category with 41 members.

⚠️ The population is only partly classified — do not treat this card as the whole list

The phrase pattern (edit distance cannot/can not/can't reach, case-insensitive, whitespace-flattened) occurs 19 times across 17 tracked files. PR #17662 corrected 4 of them. This card names 3 more that are measurably false. ⭐ That leaves roughly a dozen unclassified — ⛔ do not close this line of work on the three rows above.

Already re-measured and TRUE — ⛔ do not re-check these: ui/chart.zod.ts (both tables), data/object.zod.ts, and the hedged "most of these" in data/authoring-key-lint.ts.

What a taker should do

Correct each false citation to describe both roles, and ⭐ carry the measured number rather than a hedge — "usually", "mostly" and "rarely" are how the original sentence survived being wrong. Re-measure before writing: anchor by content, not by line; ⚠️ flatten whitespace first (these phrases wrap across line breaks, and for a JSDoc block strip the leading * per line, or a flatten still reads a mistyped-anchor 0); give every zero a lit control.

⚠️ packages/objectql is a different lane from packages/spec. If triage routes this as one card, the round that takes it will need the cross-domain in-flight check; splitting it is also reasonable.

Duplicate check — completed to the limit the session allows

⛔ Full-population dedup is not available: REST /search/* is refused for this session and MCP search_issues is rate-limited. What I completed at 08:29Z: enumeration of 569 open issues, grepped by TITLEedit distance 1 (#17361, the card being fixed), aliases 1 (same), strictObject 2 (#17361 and #8213, a different defect), near-miss 2 (#17361, #16303 — a different defect), strict-object 0, suggestion 0. Lit control spec = 75; fabricated control = 0. ⚠️ Titles only; bodies were not searched. Close as duplicate without hesitation if one surfaces.

Related: #17361 / PR #17662 (the four sites it fixed, and the census) · #16303 (near-miss spellings costing the reading, different mechanism) · #17655 / #17656 (the same shape of defect — one false sentence copied across files — on a different subject)


Generated by Claude Code

Activity

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

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