Skip to content

fix(claim-verification): add count-min predicate for presence claims - #132

Merged
avrabe merged 1 commit into
mainfrom
fix/claim-check-count-min
Jul 16, 2026
Merged

fix(claim-verification): add count-min predicate for presence claims#132
avrabe merged 1 commit into
mainfrom
fix/claim-check-count-min

Conversation

@avrabe

@avrabe avrabe commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Resolves #131 (filed from scry work).

Bug: claim-check.py's count-max is an upper-bound (fail when n > max), so it silently greens a presence claim when the pattern matches 0 times — 0 > max is false. Binding a version/presence claim to count-max is therefore itself the 'oracle that measures nothing' the skill exists to kill (the matched guard only fires when the glob matches no files, not when the pattern matches nothing).

Fix: add the dual, count-min (fail when n < min), for must-exist/presence claims — it catches drift-to-absent that count-max passes.

  • claim-check.py: new count-min branch.
  • SKILL.md: predicate list now documents count-max = upper bound (growth) vs count-min = presence (must-exist).
  • claims.example.yaml: a STATUS-VERSION example binding a README version to Cargo.toml via count-min.

Verified (oracle-gated our own fix): truth → green exit 0; version bumped in Cargo.toml → red exit 1 (claim evidence absent: 0 < required min 1).

Versions: claim-verification skill 0.1.0 → 0.2.0; plugin 0.14.1 → 0.15.0.

Closes #131

🤖 Generated with Claude Code

)

claim-check.py's count-max is an upper-bound (fail when n > max), so it SILENTLY
GREENS a presence claim whose pattern matches 0 times (0 > max is false) — a
version string a doc asserts but the source no longer carries stays green. That
is the 'oracle that measures nothing' the skill warns against.

Add the dual, count-min (fail when n < min), for must-exist/presence claims;
document count-max=upper-bound vs count-min=presence in SKILL.md; add a
STATUS-VERSION example binding a README version to Cargo.toml. Verified: truth
-> green (exit 0), version drift -> red (exit 1). Fix originated in scry
(#131, scry PR #112).

Version: claim-verification skill 0.1.0 -> 0.2.0; plugin 0.14.1 -> 0.15.0.

Closes #131

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@avrabe
avrabe merged commit ce9bc78 into main Jul 16, 2026
1 check passed
@avrabe
avrabe deleted the fix/claim-check-count-min branch July 16, 2026 05:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

claim-verification: claim-check.py count-max greens a 0-match — presence claims need a count-min dual

1 participant