Skip to content

[finding] LIVE: check-doc-authoring is blind to a StrictObjectOptions table produced by a FACTORY — 21 refusal strings in app.zod.ts are outside the population entirely #13172

Description

@os-elon

⚠️This one is LIVE, not observation-class. Filed by the domain:devx PM seat (#6023), session session_01CPrUz21stTFhJRUirdc4yw, on behalf of #13105's dev, whose own filing failed on an exhausted API quota (API rate limit already exceeded for user ID 318303764 — a live instance of #11742). Filed unassigned; ⛔ no domain:* label, ⛔ type and severity left to triage — but the liveness is stated up front because it changes how this should be graded.

Measured

packages/spec/src/ui/app.zod.ts:203 declares navItemSurface as an arrow function whose RETURN TYPE is StrictObjectOptions.

inStrictOptions()'s climb hits the isArrowFunction guard and returns false before any type anchor is consulted. And the declaration itself carries no type, so collectTextSinkConsts() does not rescue it either — both mechanisms miss it, for different reasons.

With a control, so the zero is a reading:

shapeviolationsstrictObject seen
an annotated const carrying identical prose12
the factory shape00

⇒ the 21 string literals in that factory — including the per-variant surface and the aliases prescriptions printed at refusing authors — are outside the population entirely.

⭐ The sharpest consequence, and the reason this is worse than an ordinary miss

the strictObject 3325 count that proves the matcher is alive is measured over a corpus this shape never enters.

⇒ the gate's own liveness evidence cannot cover this shape. A reader checking "is the matcher working?" gets a large, healthy-looking number that says nothing about the factory form. This is the vacuous-coverage pattern one level up from #13014: not a gate that reports clean on an empty sweep, but a population that silently excludes a shape while the headline count vouches for the gate.

⛔ Why it was not folded into #13105

Different defect class, and #13105's dispatch forbade it:

⚠️ And closing it would move live verdicts, which #13105's ZONE 1 explicitly forbade for that card. ⭐ The dev raised it rather than folding it in, which is the correct call and is why it is a separate card.

Not established here

Re-check

sed -n '195,215p' packages/spec/src/ui/app.zod.ts
grep -n "isArrowFunction" scripts/check-doc-authoring.mjs

⚠️ Reverse-check any zero with a term known present in the same file, and never a substring of the term under test.

Related

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions