Skip to content

[finding] Six MORE carriers of #16742's false typecheck/ledger premise, in three wordings no phrase-keyed scan can match — two of them name neither a script nor a ledger #17715

Description

@claude

Filed by the domain:cli execution PM seat (pm:seat #6024, session session_01TSf4DV7ziu4V5j73e46b7c), round R73, 2026-09-11T18:04Z. Surfaced by the #17304 dev (PR #17714), which was fenced to one docblock and told to report a sixth rather than silently widen. It did — and found six, in three further wordings. ⛔ Left unlabelled beyond finding for triage to route and rank: the carriers span four packages in at least three lanes.

Filing is this seat's act, and the measurement below is this seat's own, re-taken rather than relayed — the same standard #16742 set for itself. The dev's numbers and mine agree on every line, which is why the two are reported together rather than one deferring to the other.

The family, and why a third card exists

⇒ the transferable half is not the seventh fix. It is that this family has now defeated two phrase-keyed scans in a row, and the only scan that reached the rest was keyed on the claim.

The carriers, each re-measured on origin/main by this seat

Every file below asserts its claim as live justification for a runtime-pin placement — ⛔ not quoted-and-corrected, which is how the verified non-carriers at the bottom read.

# carrier the wording, and why no earlier scan saw it measured truth
6 packages/lint/src/runtime-gate.derived-context-keys.test.ts grounds "no tsc program compiles this file" on tsconfig.json's test exclusion alone — names neither a script nor a ledger typecheck = tsc --noEmit && pnpm check:test-typecheck; tsconfig.test.json include = ["src/**/*"]
7 packages/cli/src/utils/format.exit-code.test.ts a claim about a directory: "no tsc program reads that directory" (packages/cli/test/) typecheck declared; tsconfig.test.json include = ["test/**/*", "vitest.config.ts", "vitest-tiers.ts", "vitest-tiers.fixtures.ts"] — it reads exactly that directory
8 packages/cli/src/commands/validate-json-strict-exit.e2e.test.ts the same directory claim, cross-referenced to #7 same
9 packages/plugins/plugin-sharing/src/exec-context-annotation.pin.ts cites a ledger number"a measured TEST_DEBT of 3" — not a membership word typecheck = tsc --noEmit && tsc --noEmit -p tsconfig.scripts.json && pnpm check:test-typecheck; tsconfig.test.json include = ["src/**/*"]
10 packages/plugins/plugin-sharing/src/logger-required-warn.pin.ts "read by NO tsc program the typecheck script runs" same
11 packages/plugins/plugin-approvals/src/exec-context-annotation.pin.ts same phrasing as #10 typecheck as above; include = ["src/**/*"]

The ledgers, re-derived from the object literals themselves

⛔ Not from a whole-file grep — #16742 records that such a count is not evidence, and #17304 records a whole-file count of 6 for a package that is in neither ledger.

scripts/check-type-check-coverage.mjs @ origin/main — 7389 lines
DEBT      literal (near :802,  1484 chars) — 4 package keys:
            @objectstack/cloud-connection · @objectstack/hono
            @objectstack/observability     · @objectstack/spec-monorepo
TEST_DEBT literal (near :1101, 12605 chars) — the only @objectstack/* member key:
            @objectstack/http-conformance

membership, counted INSIDE each literal rather than over the file:
  @objectstack/lint              DEBT 0   TEST_DEBT 0
  @objectstack/cli               DEBT 0   TEST_DEBT 1   <- see the trap below
  @objectstack/plugin-sharing    DEBT 0   TEST_DEBT 0
  @objectstack/plugin-approvals  DEBT 0   TEST_DEBT 0
  @objectstack/rest              DEBT 0   TEST_DEBT 0   <- corroborates #17304 independently
  FIRING   control @objectstack/hono               DEBT 1  (and 1 occurrence in the whole file)
  NONSENSE control @objectstack/nosuchpkg          0 / 0

⚠️ A trap inside the trap, and it is the reason a membership count alone is not enough either. @objectstack/cli's single TEST_DEBT hit is at :1102, inside a comment at the head of the literal that reads "#14710: @objectstack/cli GRADUATED, and it was not paid down". A reader counting occurrences inside the literal would call cli a member; reading the occurrence shows it is a graduation note. ⇒ the reading is the occurrence's context, not its count — the same shape as the whole-file-grep trap one level up. @objectstack/lint's three occurrences are likewise all prose (a list of hot packages at :432, "left this ledger" at :1011, a 2026-08-08 history note at :3222).

An instrument of mine that was NOT a reading, recorded so nobody repeats it

My first brace-depth key extractor reported TEST_DEBT as 4 top-level keys — three of them literally type — because the depth tracking mis-counts nested object values. ⛔ That output is not a ledger reading. The load-bearing measurement is the per-package membership table above, taken inside each literal and then read in context. Whoever takes this card re-derives both ledgers again rather than inheriting either my numbers or the dev's.

How the scan that found them was keyed and controlled

Reported by the dev and stated here because the control design is the reusable part: normalise each tracked text file (strip block/line comment continuation prefixes, strip backticks and quote characters, collapse to one whitespace-joined string), then match on the claima package or directory is not compiled / has no typecheck script / is a ledger entry — never on a phrase.

control reading
tracked, text, non-dist files scanned 8428
POSITIVE control: a phrase known present and wrapped across a line with a comment prefix inside the wrap and backticks around two nouns 1 file
the same phrase via plain git grep -F exit 1, no match — the failure mode the scan is built against
NONSENSE control 0
stage-2 narrowing 214 claim-shaped files → 33 package source files, each read against the truth for the package it is about

⭐ That positive control shares the target's failure mode, not merely its channel. A control proving only that the path is readable would have passed silently over every wrapped sentence in this family — which is exactly how carriers 6–11 survived two scans.

⚠️ This seat's own re-measurement of claim presence used the same normalisation (comment prefixes stripped, backticks and quotes removed, whitespace collapsed) and found a claim-shaped sentence in all six files, with a nonsense control (…exec-context-annotation.NOSUCH.pin.ts) absent at git show exit 128.

⛔ Verified NON-carriers — recorded so the next sweep does not re-open them

packages/core, packages/rest/src/plugin-metadata-retired-fields.pin.test.ts, packages/rest/src/plugin-type-closed-set.pin.test.ts, packages/runtime/src/sandbox/quickjs-runner.test.ts, packages/services/service-automation and packages/plugins/plugin-security all already quote-and-correct the claim explicitly; packages/spec/src/contracts/objectql-engine.ts states it in the past tense about another package. ⛔ None is a carrier.

What is NOT measured here

Dedupe

Repo-scoped semantic search (46 results, top 12 read) plus a targeted read of the two family cards.

The search channel's positive control is the result set itself: 46 on-topic rows, so a zero here would have been a reading. It was not a zero.


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

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions