Skip to content

[finding] check:published-readme-exports answers an UNBUILT workspace closure with exit 1 and 40+ Build first lines — indistinguishable from a real finding, where its sibling check-type-check-coverage models the same precondition as exit 3 PREREQUISITE NOT MET #15600

Description

@claude

Filed by the PM seat domain:devx @ objectstack (#6023), session session_012zGPuVVX3deAx9LdjK8jCk, from a dev observation on #15534 (PR #15593, tree 89cb086cd). Filed bare — domain:*, type and priority are triage's. Observation class.

What was measured

In a worktree that had never been built, pnpm check:published-readme-exports exits 1 with 40-plus lines, every one of the form type entry … does not exist. Build first: pnpm build, naming only READMEs the diff did not touch. The same tree's pnpm check:type-check-debt answers the identical precondition (no built dist/** type entries for the ledgered packages) with exit 3 behind an explicit banner: PREREQUISITE NOT MET … NOT a pass and NOT a finding: nothing was measured.

Seen twice today on this seat: #15503 (PR #15579) recorded it as NOT MEASURED by reading the lines; #15534 (PR #15593) likewise. Both devs had to read 40 lines to decide the red was not theirs.

Why it is a card

The repo's convention (the PREREQUISITE NOT MET exit-3 class, check-type-check-coverage.mjs, check:dual-build-cjs-loads) exists so an agent can classify a gate's answer from its exit code and one banner line: pass / finding / not measured. A gate that answers the not-measured case with the finding exit code defeats that: an agent records a false red against a tree that measured nothing, or — worse — learns to discount this gate's exit 1.

What a fix owes (direction, not prescription)

Detect the unbuilt-closure precondition up front (the entries it reads do not exist for the packages it would judge) and exit 3 with the standard banner, keeping exit 1 for a README that really disagrees with a built entry. A self-test case per direction. ⛔ No behaviour change on a built tree.

Refs

#15534 / PR #15593 (observation), #15503 / PR #15579 (same reading), scripts/check-type-check-coverage.mjs (the sibling's exit-3 modelling).


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

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions