Skip to content

Ship committed verification harnesses: byte-identity, gate probes, vacancy fixtures #19

Description

@systemfsoftware-maker

Problem

The restore-single-document branch (restore-single-document, head 0e853af) proved its guarantees with throwaway checks that are not in the repo:

  • Byte identity (34/34 live rules, 5/5 restored modulo the two declared KTD4 edits) was proven by a scratch script since deleted. Nothing in the repo can mechanically re-prove it; a future contributor can reword a merged rule and the gate stays green.
  • Gate probes (dangling-citation fail, empty-corpus fail, exit codes) were hand-run against mutated files and reverted. No fixture encodes them.
  • Vacancy fixtures (--against 9654836~1 -> exactly 9 vacated ids; --against ebd9b10~1 -> 6) are documented in the plan's Verification Contract but nothing re-runs them.
  • README badge (Rules: 40) is hardcoded; the gate recomputes the count but nothing ties the two.

Why filed, not fixed

This repo's law (AGENTS.md) declares no test suite; verification is the gate plus ad-hoc probes, and the plan's Execution note deliberately made the battery throwaway. Committing harnesses means new scripts, new wiring into deno task test, and a decision about what the repo's verification identity becomes — a design conversation, not a mechanical fix.

Suggested fix

One committed script (scripts/verify-byte-identity.ts or a validator extension) wired into the pre-commit hook: per-id extraction diff against the pinned revisions, plus the three --against fixture rows, plus a badge-equals-gate-count assertion.

Severity: P2 (advisory)
Confidence: 100 (observation), 75 (fix shape)
Reviewer(s): correctness, testing, adversarial
Source: branch restore-single-document, commit 0e853af; ce-code-review run 20260901-050207-ecc9e7b4

Source: PR #21 (#21)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions