Standard: Component Readiness Grades (CRG) v2.0 STRICT
Assessed: 2026-05-18
Assessor: Jonathan Jewell
Previous assessment: <date or "none">
Current Grade: X
This line is parsed by just crg-grade / just crg-badge. The grade above is
the worst-graded in-scope component — the project’s weakest link sets its
grade. See the per-component table in §3.
|
Note
|
Honest grading. Per CRG v2.0 Principle 4: grade as-is today, not aspirationally. Long alpha is discipline, not shame. Demote immediately if evidence doesn’t support the claim. |
| Grade | Name | Release Stage | Stability Posture | Shorthand |
|---|---|---|---|---|
X |
Untested |
— |
— |
— |
F |
Harmful / Wasteful |
— |
— |
reject/delegate |
E |
Minimal / Salvageable |
Pre-alpha |
Unstable |
|
D |
Partial / Inconsistent |
Alpha |
Unstable |
|
C |
Self-Validated |
Alpha |
Stable in home context |
|
B |
Broadly Validated |
Beta |
Stable for broad trial |
|
A |
Field-Proven |
Stable |
Stable |
|
Evidence gates (v2.0 is stricter than v1.0):
-
D: RSR-compliant + per-capability tests + documented scope. Test matrix must cite counts and live in
.machine_readable/6a2/STATE.a2mlor CI. -
C: All of D, plus active dogfooding in home context with no known home-context failures over an evidence window, plus deep per-file and per-directory annotation (purpose, boundaries, invariants, execution/test/proof surfaces, per-directory orientation READMEs). STATE.a2ml
[dogfooding-status]populated with concrete "done — <evidence>" entries. -
B: All of C, plus six genuinely diverse external targets with feedback fed back. STATE.a2ml
[external-targets]holds target identities + dates + outcomes;[issues-fed-back]holds the closed-issue trail. Internal-capability items do not count. -
A: All of B, plus multi-source real-world external feedback confirming value, no harm in the wild. STATE.a2ml
[field-signal]populated.
Publication gate: non-abstract implementation claims require B+. Below B, any publication must be explicitly abstract or provisional.
| Metric | Value | Source |
|---|---|---|
Test count |
<N> |
|
Formal-verification posture |
<N |
grep of proof dirs |
Dangerous patterns ( |
<N> |
grep 2026-05-18 |
Per-unit README coverage |
<M/N (percentage)> |
filesystem scan of unit dirs |
CI status |
<workflow name + last green run> |
|
RSR mandatory workflows |
<N/17> |
|
Third-party badges (if any) |
<e.g. Glama AAA; Scorecard N/10> |
external |
LIVE deployment (if any) |
<URL + last health check> |
production |
All components graded as-is today, per CRG v2.0 Principle 4. Stability posture reflects the component’s state within its home context only unless noted.
| Component | Grade | Posture | Evidence Summary | Promotion blocker | Last Assessed |
|---|---|---|---|---|---|
<component 1> |
X/F/E/D/C/B/A |
<shorthand> |
<what was checked + counts> |
<specific, actionable gap to next grade> |
2026-05-18 |
<component 2> |
… |
… |
… |
… |
2026-05-18 |
<component 3> |
… |
… |
… |
… |
2026-05-18 |
Rules of thumb for populating this table:
-
One row per independently-gradable unit. If a subsystem can ship or break independently, it gets its own row.
-
Evidence Summary must cite numbers (test counts, LOC, file counts) or paths (e.g.
src/abi/Module.idr), never vague claims. -
Promotion blocker must be actionable — "add external consumer in home context, then annotate" beats "needs more validation".
-
Re-assess every release cycle; date-stamp each row.
CRG v2.0 requires two new pieces of evidence on top of D:
-
Active dogfooding in home context with no known home-context failures.
-
Start date: <date of first dogfood-log entry>.
-
Home context: <what "home" means for this project>.
-
"No known failures" is a moving claim — must hold continuously across the evidence window (recommended: 4 weeks, daily use).
-
Populate
STATE.a2ml [dogfooding-status]with one entry per capability:capability = "done — <concrete evidence>".
-
-
Deep code and folder annotation.
-
Per-directory orientation READMEs in every non-trivial source subtree.
-
Per-file header comments: purpose, boundaries, invariants, execution/test/proof surface.
-
Per-unit (cartridge/panel/plugin/module) README covering: purpose, tools, architecture-at-a-glance, build steps. Overview-level alone is not sufficient — depth is required where a reviewer would otherwise have to read source to orient.
-
Minimum first-ring targets for C promotion: list the trunk components here. If these aren’t C, nothing else can be.
Six genuinely diverse external targets with feedback fed back into the component. Candidate diversity axes:
-
Different language runtime (not just variants of the same one).
-
Different OS family (at least one must not be Linux).
-
Different hardware class (cloud / server / desktop / embedded / mobile).
-
Different auth posture (unauthenticated, API-key, vault-brokered, mTLS).
-
Different topology (star, mesh, peer-to-peer).
-
Different trust model (same-org, federated, adversarial).
Populate STATE.a2ml:
-
[external-targets]— target-id →"<date> — <outcome> — <contact/URL>". -
[issues-fed-back]— issue-id →"<date> — <external reporter> — <resolution>".
Six variations of the same use case do not count. Re-classify any items
currently under [grade-b-status] (legacy) and move external-eligible ones
into [external-targets].
Real-world external feedback confirming value. Populate
STATE.a2ml [field-signal] with multi-source entries:
-
External users beyond the six B-targets.
-
Third-party writeups, talks, papers, or testimonials.
-
No unresolved safety / correctness incidents in the last 90 days.
-
Project grade: <grade>. Why: <1-2 line justification>.
-
Delta since last assessment: <what changed; none if first assessment>.
-
Next milestone: <specific promotion target + timeline>.
-
Machine-readable grade line present (§ header) for
just crg-grade/just crg-badge.
-
docs/governance/CRG-CRITERIA.adoc— grade definitions (boilerplate). -
docs/governance/CRG-AUDIT-<DATE>.adoc— formal audit (populate fromrsr-template-repo/docs/governance/CRG-AUDIT-TEMPLATE.adoc). -
docs/practice/DOGFOOD-LOG.adoc— dated dogfood evidence (required for C). -
.machine_readable/6a2/STATE.a2ml— authoritative state (canonical keys[dogfooding-status],[external-targets],[issues-fed-back],[field-signal]).
Run just crg-badge to generate the shields.io badge for your README.