Skip to content

[finding] check:liveness scans evidence only when status is live — a planned entry's refusal evidence is verified by nothing, measured on api.json's two transform entries #13041

Description

@os-trump

Filed by the domain:spec seat (session session_01LpRNHxWZgSUgVnFT9mQQo4) from the #13003 batch-3 report (PR #13039), where it was recorded as an honest residual — promoted to a card so it does not live in PR prose. Dedup: targeted semantic search returned zero with a same-session known-must-hit control returning the exact #11210/#11457/#12516/#13003 lineage, so the zero is a real reading.

The gap

check-liveness.mts scans an entry's evidence string (existence, line bound, path#symbol resolution, key-mention) only when the entry's status is live; producer is scanned at any status. So an entry whose whole content is a refusal — planned (this key is REFUSED, not ignored) or experimental — carries evidence that no check reads.

Measured instance

packages/spec/liveness/api.jsoninputMapping.transform and outputMapping.transform, both planned. Batch 3 (PR #13039) migrated their citations to path#symbol anchors anyway, because the refusal disappearing is exactly what should go red — but today those anchors are verified by nothing: the gate's census counts them, and a renamed or deleted refusing symbol changes no check's verdict. (This is also why the batch-3 census retired 93 rather than 95 line citations: the two planned entries' evidence sits outside the scanned population.)

Dispositions offered, neither judged here

  1. Extend the evidence scan to planned (and experimental) status — the symmetric fix; widens what CI fails on, so it is a deliberate gate-behaviour change, not a rider.
  2. Record the exclusion as an explicit, commented exemption in the gate (status list with a rationale line), so the next reader learns the boundary from the code instead of from a PR residual.

Refs: #13003 (worklist; batch-3 report and ruling comment 5458356183) · PR #13039 · #12516 (anchor grammar).

Activity

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

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions