|
| 1 | +// SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | +// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
| 3 | + |
| 4 | += Toolchain Readiness Grades (TRG) |
| 5 | +:toc: |
| 6 | + |
| 7 | +*Status:* Active, v1.0, 2026-04-12 + |
| 8 | +*License:* PMPL-1.0-or-later (MPL-2.0 automatic legal fallback) + |
| 9 | +*Companion to:* Component Readiness Grades (CRG) v2.2 + |
| 10 | +*Part of:* Rhodium Standard Repositories (RSR) |
| 11 | + |
| 12 | +== What this is |
| 13 | + |
| 14 | +A *strict superset* of CRG specifically for the *core toolchain components* |
| 15 | +of a programming-language project: grammar, lexer, parser, AST, semantic |
| 16 | +analyser, type checker, IR, codegen, linker, runtime, stdlib, REPL, |
| 17 | +formatter, LSP, diagnostics, debugger, package manager, proof dispatcher, |
| 18 | +ABI/FFI surface, backend registry. |
| 19 | + |
| 20 | +TRG uses the same letter grades as CRG (`X | F | E | D | C | B | A`) but |
| 21 | +the evidence required at each grade is significantly higher, because |
| 22 | +toolchain components are *critical infrastructure* — every program |
| 23 | +ever compiled by the toolchain inherits its bugs. |
| 24 | + |
| 25 | +== Why it exists |
| 26 | + |
| 27 | +Three reasons: |
| 28 | + |
| 29 | +. CRG is a general-purpose component scheme. Toolchains need a tighter |
| 30 | + rubric. |
| 31 | +. The 007 language project already runs MK2-style four-tier MoSCoW audits |
| 32 | + (`audits/audit-<component>.md`). TRG promotes that pattern to an |
| 33 | + estate-wide standard, with grade-thresholds attached to each tier. |
| 34 | +. Hyperpolymath's standing priority order (dependability > security > |
| 35 | + interop > usability > performance > versatility > functional-extension) |
| 36 | + needs an enforcement vehicle for the parts of the estate that sit upstream |
| 37 | + of everything else. |
| 38 | + |
| 39 | +== Files in this directory |
| 40 | + |
| 41 | +[cols="2,5",options="header"] |
| 42 | +|=== |
| 43 | +| File | Purpose |
| 44 | +| `TOOLCHAIN-READINESS-GRADES.adoc` | The normative spec. Read this first. |
| 45 | +| `README.adoc` | This file. |
| 46 | +| `references/007/` | The 24 component audit documents |
| 47 | + copied verbatim from the 007 language |
| 48 | + project, plus the seed lexer-MK2 audit |
| 49 | + that originated the four-tier format. |
| 50 | + These are the canonical exemplars of |
| 51 | + the per-component audit format. |
| 52 | +| `templates/` | (Forthcoming) `AUDIT-TEMPLATE.adoc`, |
| 53 | + `CANONICAL-PROOF-SUITE.adoc`, |
| 54 | + `QUALIFYING-PROVERS.adoc`, |
| 55 | + `FUZZING-CORPUS-FLOOR.adoc`, |
| 56 | + `A-GRADE-LLM-PANEL.adoc`. Skeletons |
| 57 | + for the templates referenced in the |
| 58 | + spec. |
| 59 | +|=== |
| 60 | + |
| 61 | +== Quick mental model |
| 62 | + |
| 63 | +[horizontal] |
| 64 | +X:: absent / not working / any Must row failed |
| 65 | +F:: tested + harmful / wasteful (delegate or remove) |
| 66 | +E:: pre-alpha. All Must passed. Banned constructs ZERO. panic-attack |
| 67 | + zero Critical/High. Six A2ML files + 0-AI-MANIFEST present. Immaculate |
| 68 | + Guide passing. |
| 69 | +D:: pre-alpha+. All Must + Should + the *Canonical Proof Suite* (this is |
| 70 | + the foundational gate). RSR-FULL. panic-attack zero across all |
| 71 | + severities. Fuzzing harness exists. |
| 72 | +C:: *alpha*. All Must + Should + Could. Full Testing-Taxonomy 16×14 |
| 73 | + coverage in Six Sigma range. Continuous fuzzing 14d. 5 fully-proven |
| 74 | + programs. 3-nines on top-4 priority axes. |
| 75 | +B:: *beta*. All four tiers passed. Multi-prover cross-validation (≥2 of |
| 76 | + {Idris2, Lean 4, Rocq, Agda}). Single external audit. Continuous |
| 77 | + fuzzing 30d. 100 distinct external users. 5-nines top-4, 4-nines rest. |
| 78 | +A:: *stable / release*. Six Sigma vs trailing-12-month IPO cohort (bottom |
| 79 | + decile). 5,000,000 external processor-hours. 21 fully-proven programs |
| 80 | + cross-validated by ≥3 independent provers. Type-theory upstream |
| 81 | + contribution in last 12 months. 1000 distinct external users. |
| 82 | + Unanimous 6+6 (humans + LLMs) signoff. *Plus* full hyperpolymath |
| 83 | + standards conformance (RSR, CI/CD 90d green, launch-scaffolder, PanLL, |
| 84 | + Hypatia zero, panic-attack zero, VeriSimDB, Stapeln, Groove, SLSA L3, |
| 85 | + reproducible builds, Coordination.k9, UX Manifesto). |
| 86 | + |
| 87 | +== Demotion is immediate |
| 88 | + |
| 89 | +Loss of any A-grade gate (canonical proof regresses, six-sigma slips, |
| 90 | +processor-hours window drops, signoff rescinded, standards drift) |
| 91 | +immediately demotes the component. There is no grace period. See §5.8. |
| 92 | + |
| 93 | +== How strict is this really? |
| 94 | + |
| 95 | +See §11 of the spec. Honest answer: TRG-A is, to the author's knowledge, |
| 96 | +*not matched by any standard currently in use anywhere*. The author expects |
| 97 | +approximately *zero* hyperpolymath toolchain components to hit A in the |
| 98 | +first year, and is comfortable with the possibility that *no toolchain |
| 99 | +component anywhere reaches A for many years*. That is the correct order of |
| 100 | +magnitude. If A becomes easy to hit, the bar is wrong and the standard MUST |
| 101 | +be raised. |
| 102 | + |
| 103 | +== Per-language profiles |
| 104 | + |
| 105 | +TRG is the *baseline*. Each hyperpolymath language is expected to publish |
| 106 | +a `spec/TRG-PROFILE.adoc` in its own repo that *tightens* TRG with |
| 107 | +language-specific obligations (e.g. Eclexia tropical-semiring soundness, |
| 108 | +AffineScript region/affinity discipline, Idris2 totality discipline). A |
| 109 | +profile may only tighten, never loosen. See §1.1. |
| 110 | + |
| 111 | +== Interaction with CRG |
| 112 | + |
| 113 | +A project that ships a language toolchain MUST publish *both*: a CRG grade |
| 114 | +for the project as a whole, and a TRG grade for the toolchain. Where the |
| 115 | +two rubrics overlap, the *stricter* grade governs. TRG is always at least |
| 116 | +as strict as CRG. |
| 117 | + |
| 118 | +== Open invitation |
| 119 | + |
| 120 | +If you think TRG is still too lax (or too strict in a way that lets bad |
| 121 | +work hide), file an issue with concrete evidence and a proposed |
| 122 | +tightening. TRG earns trust by surviving critique. |
0 commit comments