Skip to content

Commit 66dcbb7

Browse files
hyperpolymathclaude
andcommitted
docs(spec): add ARG-D + FRG-E (pragmatic) per-language profile
Adds the per-language Adoption + Foundations Readiness Grade profiles for AffineScript, scored against the framework being introduced in hyperpolymath/standards (ARG + FRG companion spec). Grade: ARG-D (working compiler + reasonable docs, narrow adopter base); FRG-E (no mechanised proofs but design-level rationale documented). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ac6aaae commit 66dcbb7

2 files changed

Lines changed: 460 additions & 0 deletions

File tree

spec/ARG-PROFILE.adoc

Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
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+
= ARG-PROFILE — AffineScript
5+
:toc: left
6+
:toclevels: 2
7+
8+
[cols="1,3"]
9+
|===
10+
| Field | Value
11+
12+
| Language | AffineScript (`.affine`)
13+
| Repository | https://github.com/hyperpolymath/affinescript
14+
| Current ARG Grade | *D* (toy-project usable; CLI gates user programs; vscode extension; conformance corpus)
15+
| Assessed | 2026-05-28
16+
| Assessor | Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
17+
| ARG Spec Version | 1.0
18+
| FRG Profile | spec/FRG-PROFILE.adoc
19+
| TRG Profile | spec/TRG-PROFILE.adoc (TBD)
20+
|===
21+
22+
== About this profile
23+
24+
AffineScript is the estate's general-purpose affine-typed JS/TS/ReScript
25+
successor, targeting typed-wasm. It is the most adoption-ready of the
26+
three audit-cohort languages by ARG criteria: CLI `check`/`compile`/`eval`
27+
gate user programs with QTT-style usage tracking, a conformance corpus
28+
exists, the vscode extension was packaged and published (workflow run
29+
26463510992 queued 2026-05-26), and the language has a per-repo
30+
ECOSYSTEM.adoc engineering spine (the *A-E engineering critical path*,
31+
distinct from the ARG adoption spine — see disambiguation in §11 of
32+
the ARG spec).
33+
34+
ARG = D. The full chain of axes:
35+
36+
* ARG: D
37+
* TRG: TBD (likely D)
38+
* FRG: E (see `spec/FRG-PROFILE.adoc` — informal QTT discipline
39+
embedded in implementation; no qualifying-prover formalisation
40+
*of the calculus* yet)
41+
* CRG: TBD
42+
* RSR: Compliant at TRG-D level
43+
44+
Cross-axis rule: ARG ≤ TRG holds (TRG ≥ D required, currently
45+
satisfied per implementation activity).
46+
47+
== Grade rationale (evidence for D)
48+
49+
[cols="2,1,4", options="header"]
50+
|===
51+
| Criterion | Met? | Evidence
52+
53+
| *D1 — Landing page / README*
54+
| YES
55+
| `README.adoc` (675 lines, comprehensive; "Honest status sync"
56+
block dated 2026-04-12)
57+
58+
| *D2 — Elevator pitch*
59+
| YES
60+
| README §1 — affine-typed JS/TS/ReScript successor, compiles to
61+
typed-wasm
62+
63+
| *D3 — Provenance*
64+
| YES
65+
| Maintainer + start date + current version in README
66+
67+
| *TRG ≥ D estate-wide*
68+
| YES (assumed)
69+
| CLI commands `check`, `compile`, `eval` gate user programs
70+
71+
| *RSR-compliant at TRG-D*
72+
| YES
73+
| SPDX headers, CONTRIBUTING, CODE_OF_CONDUCT, recent estate sweep
74+
complete (114 PRs filed 2026-05-26)
75+
76+
| *O1 — 5-minute hello-world*
77+
| PARTIAL
78+
| `examples/` dir exists; not explicitly time-measured
79+
80+
| *O2 — Tutorial covering distinctive features*
81+
| PARTIAL
82+
| `docs/CAPABILITY-MATRIX.adoc` provides feature coverage; tutorial
83+
form weak
84+
85+
| *O4 — Cookbook ≥ 3 worked examples ≥ 100 LoC each*
86+
| PARTIAL
87+
| Examples present; LoC threshold not explicitly verified
88+
89+
| *R1 — Reference manual*
90+
| PARTIAL
91+
| `docs/` contains coverage; not "reference manual" complete
92+
93+
| *R3 — Formal grammar*
94+
| YES
95+
| Grammar covered by parser implementation; tree-sitter migration in
96+
progress (#57 Phase 2)
97+
98+
| *Δ1 — Stable release artefacts*
99+
| YES
100+
| Tagged releases; vscode extension published (#104, 2026-05-26)
101+
102+
| *External programs ≥ 100 LoC each parse/typecheck/run*
103+
| PARTIAL
104+
| Conformance corpus (`conformance/valid/`, `conformance/invalid/`)
105+
but external (non-maintainer) programs limited
106+
107+
| *Diversity metrics: ≥ 2 distinct external authors*
108+
| NO
109+
| Founder is sole non-bot author
110+
111+
| *Onboarding O3 — Playground*
112+
| NO (D-permissive; required from C)
113+
|
114+
115+
| *R2 — Stdlib reference*
116+
| NO (D-permissive; required from C)
117+
|
118+
119+
| *R4 — Operational/denotational semantics*
120+
| NO (D-permissive; required from C)
121+
| Implementation embeds the semantics; no formal-doc form yet
122+
123+
| *R5 — Stable error-code index*
124+
| NO (D-permissive; required from C)
125+
|
126+
127+
| *C1-C5 community surface*
128+
| PARTIAL (D-permissive)
129+
| Issue tracker active, CONTRIBUTING, CoC; no public forum
130+
131+
| *Δ2-Δ5 distribution surface*
132+
| PARTIAL (D-permissive)
133+
| npm publish landed; versioning informal; SECURITY.md present
134+
135+
| *E1-E4 education*
136+
| NO
137+
|
138+
139+
| *X1-X4 ecosystem*
140+
| NO
141+
|
142+
143+
| *VeriSimDB attestation*
144+
| NO (D-permissive; required from C)
145+
|
146+
|===
147+
148+
== Language-specific tightening
149+
150+
For AffineScript, the following ARG tightening applies:
151+
152+
* *Grade C tightening:* The playground (O3) MUST let a user write
153+
an affine-typed program and observe borrow-check feedback
154+
inline.
155+
* *Grade B tightening:* MUST have at least 3 external libraries
156+
published against AffineScript (via npm or estate-equivalent
157+
registry) that exercise the QTT-affine fragment, not just the
158+
unrestricted subset.
159+
* *Grade A tightening:* The vscode extension (E4 evidence) MUST be
160+
used in a multi-week curriculum by at least one external educator.
161+
162+
== What is NOT yet met (honest gaps)
163+
164+
* No browser/local playground.
165+
* No stdlib reference (one entry per public symbol).
166+
* No operational-semantics document (separate from implementation).
167+
* No stable error-code index.
168+
* No external dogfood cohort.
169+
* No 2 distinct external program authors meeting diversity-metrics
170+
for ARG-D (this is the gap that blocks honest D — currently
171+
closest to D-with-caveat).
172+
173+
The honest reading is *ARG-D-leaning*: most D criteria hold but the
174+
diversity-metrics floor on external authors is the weakest pinning.
175+
A second external author meeting the diversity criterion would lock
176+
in D unambiguously.
177+
178+
== Path to next grade (C — alpha gate)
179+
180+
* Stand up playground (browser-runnable, single-page-app with WASM
181+
execution).
182+
* Author stdlib reference (one entry per public symbol).
183+
* Operational semantics document at R4.
184+
* Stable error-code index at R5.
185+
* Public discussion venue (forum / Discord / Zulip).
186+
* RFC/ADR process activated (3 RFCs minimum).
187+
* Package registry presence (npm publish is wired; needs versioning
188+
policy document).
189+
* Slide deck (E1) — proves language can be presented externally.
190+
* 10 dogfood users meeting diversity-metrics.
191+
* 2 substantive domains, ≥ 3 cookbook examples each.
192+
* VeriSimDB ingestion of per-commit ARG-PROFILE attestation.
193+
* Continuous fuzzing 14 days minimum per TRG floor.
194+
195+
*Realistic timeline estimate:* 4-6 months.
196+
197+
== Path to grade beyond that (B — broadly adopted)
198+
199+
* ≥ 100 distinct external users.
200+
* ≥ 6 diverse external projects.
201+
* ≥ 12 third-party libraries.
202+
* ≥ 3 third-party tools.
203+
* ≥ 2 maintainers beyond founder.
204+
* External security/correctness audit.
205+
206+
== Demotion risk
207+
208+
* *Lowest:* npm extension unpublished without replacement — drops to E.
209+
* *Medium:* `check`/`compile`/`eval` regress and stop gating user
210+
programs — drops to E.
211+
* *Catastrophic:* README "Honest status sync" becomes misleading
212+
(claims feature coverage that no longer holds) — risks F.
213+
214+
== Iteration history
215+
216+
[cols="1,1,4", options="header"]
217+
|===
218+
| Date | Grade | Notes
219+
220+
| 2026-05-28 | D | Initial ARG assessment. CLI gates programs; vscode extension published; conformance corpus exists. Diversity-metrics floor is the weakest pinning.
221+
|===
222+
223+
== Review cycle
224+
225+
* *Routine:* Reassess on every release cycle.
226+
* *Immediate:* Reassess within 7 days of any demotion trigger.
227+
228+
== Footer
229+
230+
This profile is itself a VCL-total proposition. `DECLARE`'d to
231+
VeriSimDB on each commit (once ingestion wired).

0 commit comments

Comments
 (0)