Skip to content

[finding] two census figures in the proof-4 prose of build-schemas.ts are measured wrong — the PR body's 258 names a different population (147), and the docblock's "7 of the 8 defs are unions" is 3 of 4 #18579

Description

@os-litant

Named by the CONTRACT_REVIEW_TIER re-review of PR #18529 (record 5707796462), which re-derived the whole census with the head's own verbatim function and reproduced every figure except two. ⛔ Filed rather than fixed in-branch: a third push would move the head and void a review that executed the gate against 11 synthetic door shapes and a full 1525-def census. Neither figure moves a verdict or describes a safeguard.

What reproduced (so the instrument is trusted)

Emitted defs 1525 · artifacts with additionalProperties === false 1117 · keys promised 779 · delivered 770 · not delivered 9 · of those, 2 on shared/RateLimitConfig. The OLD head's figures also reproduce exactly (144 defs / 772 keys), which is what validates the instrument rather than the agreement.

The two that do not

(1) PR body row 「defs resolving to exactly one declaration that names an undeclared key: 258」 — measures 147.
258 is the count of defs resolving to exactly one declaration whether or not it names anything. The label and the number are from two different populations. For the record, the rest of that partition: ambiguous matches 0, empty-shape 6, no-shape 303.

(2) The docblock at build-schemas.ts l.1440-1441 says 「7 of the 8 defs in that state are unions」 — measured, the state holds 9 keys on 4 defs, 3 of them unions.
⚠️ This one is in code, not just in a PR body. It does not ship in the tarball (@objectstack/spec files[] has no scripts/ entry, verified twice), so the blast radius is the next reader of the gate, not an author — but it is the sentence that justifies the third verdict's deliberately vague wording, so a reader checking that rationale will not be able to reconstruct it from the tree.

The rationale both figures support — that unions dominate the not-delivered set — still holds on the measured numbers (3 of 4 defs, 7 of 9 keys). Only the arithmetic is wrong.

Also worth carrying: one unpinned half

The re-review noted that the message-includes half of delivers() — the leg that refuses a strict clone built without the declaration's error map — is pinned by no fixture. It is defended by construction and by census (0 such defs on the shipped graph), and the reviewer verified it refuses when probed directly. But a census zero is a fact about today's graph, not a property of the gate. A fixture would make it one.

Scope

Three one-line edits and, if taken, one fixture. ⚠️ Re-measure before editing: the figures were taken at 9e0324f807 on a branch, and packages/spec/src has since moved on main (expression.zod.ts, translation.zod.ts), so the census may shift after that PR merges.

Dedupe words: build-schemas census 258 147, 7 of the 8 defs unions docblock, proof 4 not-delivered partition, delivers message-includes unpinned, guidance route census figures.


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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions