Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
Validated Bucket-A self-consistency assumptions against current `STATE.a2ml` values for the 17 repos listed in `CRG-BULK-TRIAGE-2026-04-18.md`.

## Result Summary
- 15/17 still match auto-demotion conditions (including 3 repos with missing `completion-percentage`).
- 15/17 still match auto-demotion conditions (including 3 repos with missing `overall-completion`).
- 2/17 no longer match (stale triage values):
- `developer-ecosystem/valence-shell` (`version=0.9.0`, `completion=74`)
- `007-lang` (`version=0.1.0`, `completion=55`)
- Rule updates applied in `HYP-S005` to treat missing `completion-percentage` as a high-severity self-consistency failure for `C/B/A` claims.
- Rule updates applied in `HYP-S005` to treat missing `overall-completion` as a high-severity self-consistency failure for `C/B/A` claims.

## Validation Table
| Repo | version | completion | dogfooding-status | Bucket-A match now |
Expand All @@ -23,9 +23,9 @@ Validated Bucket-A self-consistency assumptions against current `STATE.a2ml` val
| verification-ecosystem/rrecord-verity | 0.1.0 | 35 | absent | yes |
| developer-ecosystem/rescript-ecosystem/idaptik-rescript13-staging | 0.1.0 | 0 | absent | yes |
| verification-ecosystem/tropical-resource-typing | 0.1.0 | 30 | absent | yes |
| verification-ecosystem/a2ml-showcase | 0.1.0 | absent | absent | yes (missing completion) |
| developer-ecosystem/nextgen-languages/anvomidav | 0.1.0 | absent | absent | yes (missing completion) |
| verification-ecosystem/a2ml-showcase | 0.1.0 | absent | absent | yes (missing overall-completion) |
| developer-ecosystem/nextgen-languages/anvomidav | 0.1.0 | absent | absent | yes (missing overall-completion) |
| developer-ecosystem | 0.1.0 | 45 | absent | yes |
| verification-ecosystem/k9-ecosystem/k9-showcase | 0.1.0 | absent | absent | yes (missing completion) |
| verification-ecosystem/k9-ecosystem/k9-showcase | 0.1.0 | absent | absent | yes (missing overall-completion) |
| developer-ecosystem/valence-shell | 0.9.0 | 74 | absent | no |
| 007-lang | 0.1.0 | 55 | absent | no |
16 changes: 10 additions & 6 deletions hypatia-rules/crg-overclaim-detector.a2ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# SPDX-License-Identifier: MPL-2.0
# HYP-S005 — CRG Overclaim Detector
# Flags repos self-declaring a CRG grade that lacks the evidence artefacts
# required by CRG v2.0 (STRICT). Sibling rule to HYP-S001 (demotion detector):
Expand Down Expand Up @@ -162,7 +162,11 @@ sections:
#
# Contradiction rule: a repo cannot self-consistently claim C (or higher) if
# its own metadata says it is <50% complete and pre-0.5.0. Either the grade
# is wrong, the version is wrong, or the completion-percentage is wrong.
# is wrong, the version is wrong, or the completion score is wrong.
#
# Canonical field: `overall-completion` in STATE.a2ml. A legacy
# `completion-percentage` field may still appear in older snapshots, but it is
# not the primary schema key and must not be required for modern repos.
# The audit convention is: trust version + completion, demote the grade.
#
# This fires BEFORE the file-tree evidence checks; if it fires, a full audit
Expand All @@ -173,8 +177,8 @@ grade_ge_c_but_early_stage:
parse_state.crg-grade IN {"C", "B", "A"}
AND parse_state.version < "0.5.0"
AND (
parse_state.completion-percentage < 50
OR parse_state.completion-percentage IS empty_or_absent
parse_state.overall-completion < 50
OR parse_state.overall-completion IS empty_or_absent
)
AND parse_state.dogfooding-status IS empty_or_absent
severity: high
Expand All @@ -194,13 +198,13 @@ grade_ge_c_but_missing_self_consistency_inputs:
parse_state.crg-grade IN {"C", "B", "A"}
AND (
parse_state.version IS empty_or_absent
OR parse_state.completion-percentage IS empty_or_absent
OR parse_state.overall-completion IS empty_or_absent
)
severity: high
finding_kind: self-inconsistent-claim
message: >-
{component} claims {declared} but STATE.a2ml is missing version and/or
completion-percentage. The CRG self-consistency precheck cannot run
overall-completion. The CRG self-consistency precheck cannot run
without these keys — treat this as a structural overclaim until state
metadata is completed.

Expand Down
Loading