Skip to content

Commit 848844b

Browse files
hyperpolymathclaude
andcommitted
feat(toolchain-readiness-grades): add TRG v1.0 spec + 25 reference audits
Toolchain Readiness Grades v1.0 — strict superset of CRG for the core toolchain components of a programming-language project (grammar, lexer, parser, AST, semantic analyser, type checker, IR, codegen, linker, runtime, stdlib, REPL, formatter, LSP, diagnostics, debugger, package manager, proof dispatcher, ABI/FFI surface, backend registry). Grade-compatible with CRG (X|F|E|D|C|B|A) but with significantly higher evidence bars because toolchain components are critical infrastructure. Promotion cascade: banned constructs ZERO at E, panic-attack zero Critical/High at E, A2ML+manifest+Immaculate Guide at E, RSR-FULL at D, fuzz harness at D, full Testing-Taxonomy 16x14 in Six-Sigma range at C (alpha gate), multi-prover (>=2 of Idris2/Lean4/Rocq/Agda) at B, multi-prover (>=3 with one kernel-soundness-proven) at A, type-theory upstream contribution at A. A-grade primary release gate is Six Sigma vs trailing-12-month IPO cohort + 5M external processor-hours (<=10% internal CI) + 21 fully-proven programs cross-validated by >=3 independent provers + full hyperpolymath standards conformance (RSR 90d-green, launch-scaffolder, PanLL, Hypatia zero, panic-attack zero, VeriSimDB, Stapeln, Groove, SLSA L3, reproducible builds) + unanimous 6+6 (humans + LLMs) signoff. Demotion is immediate on loss of any gate (no grace period). Per-language extension hook at \u00a71.1 for tightening profiles (Eclexia, AffineScript etc.). Canonical Mathematical/Scientific/Engineering Proof Suite at \u00a76.6 as the gate to leave grade E. References: 25 component-audit MK2 documents from 007 as canonical exemplars of the four-tier MoSCoW audit format (Must -> E, Should -> D, Could -> C, Aspirational -> B). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 9b1805d commit 848844b

27 files changed

Lines changed: 2036 additions & 0 deletions
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
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

Comments
 (0)