|
1 | 1 | # SPDX-License-Identifier: MPL-2.0 |
2 | | -# Intentfile (A2ML Canonical) — north-star contractile for rsr-template-repo |
| 2 | +# Intentfile (A2ML Canonical) — north-star contractile for my-lang |
3 | 3 | # Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
4 | 4 | # |
5 | 5 | # Paired runner: intend.ncl |
|
10 | 10 | # become. Two sections share one file because they answer |
11 | 11 | # the same question at different ranges: |
12 | 12 | # [[intents]] — "we WILL do this; track progress" |
13 | | -# status: declared → in_progress → done | |
| 13 | +# status: declared -> in_progress -> done | |
14 | 14 | # deferred | retired |
15 | 15 | # [[wishes]] — "we WISH this were true; revisit later" |
16 | | -# status: declared → in_progress → achieved | |
| 16 | +# status: declared -> in_progress -> achieved | |
17 | 17 | # abandoned |
18 | 18 | # grouped by horizon: near / mid / far. |
19 | 19 | # Non-gating — this is a report, not a gate. See the `must` |
20 | 20 | # contractile for hard gates. |
21 | 21 |
|
22 | 22 | @abstract: |
23 | | -North-star contractile for rsr-template-repo. This repository is the |
24 | | -canonical template for Rhodium Standard Repository compliance. It provides |
25 | | -the scaffold that all hyperpolymath repos should copy and customize. |
| 23 | +North-star contractile for my-lang: a multi-dialect programming language with a |
| 24 | +Quantitative Type Theory (QTT) semantic core, whose affine Solo kernel is |
| 25 | +mechanised twice (Coq + Idris2) as a first-class deliverable alongside the Rust |
| 26 | +compiler. Echo-types are integrated into the formal type system. |
26 | 27 | @end |
27 | 28 |
|
28 | 29 | ## Purpose |
29 | 30 |
|
30 | | -The rsr-template-repo serves as the master template for all hyperpolymath |
31 | | -repositories. It contains the complete set of contractile files, machine-readable |
32 | | -specifications, and governance documentation that define the Rhodium Standard. |
33 | | - |
34 | | -Every new repository in the hyperpolymath estate should be initialized by |
35 | | -copying this template and substituting the placeholder values with |
36 | | -repo-specific content. |
| 31 | +my-lang explores a QTT-cored language with THREE NESTED dialects — |
| 32 | +Solo (affine, single-agent) c Duet (session-typed, two-party) c Ensemble |
| 33 | +(multi-agent) — plus "Me", an on-the-fly agent-generated PROJECTION over the |
| 34 | +dialect hierarchy (NOT a fourth dialect). Formal verification of the kernel |
| 35 | +(progress + preservation over the separated QTT context, both products, and the |
| 36 | +Echo modality) is a first-class deliverable: the mechanised solo-core leads the |
| 37 | +Rust implementation and becomes the spec the checker must satisfy. |
37 | 38 |
|
38 | 39 | ## Anti-Purpose |
39 | 40 |
|
40 | | -This repository is NOT: |
41 | | -- A general-purpose project scaffold for external use (hyperpolymath-only) |
42 | | -- A replacement for per-repo customization (all files must be bespoke) |
43 | | -- A static template that never changes (evolves with RSR spec) |
44 | | -- A runtime library or framework (build-time only) |
| 41 | +my-lang is NOT: |
| 42 | +- The RSR template repository (it is a CONSUMER of that template) |
| 43 | +- A single-dialect language (the dialect hierarchy is the point) |
| 44 | +- A dependently-typed language (Echo is the non-dependent approximation) |
| 45 | +- A finished compiler (the mechanised core currently leads the implementation) |
45 | 46 |
|
46 | 47 | ## If In Doubt |
47 | 48 |
|
48 | 49 | If you are unsure whether a change is in scope, ask. Sensitive areas: |
49 | | -- .machine_readable/ contractile definitions |
50 | | -- RSR specification files |
51 | | -- Governance templates |
52 | | -- License policy documents |
| 50 | +- proofs/verification/ mechanised cores (Coq + Idris2 solo-core) |
| 51 | +- .machine_readable/ contractile + 6a2 definitions |
| 52 | +- the scope-arrest ANCHOR and AUTHORITY_STACK |
| 53 | +- governance / licence policy documents |
53 | 54 |
|
54 | 55 | ## Committed Next-Actions |
55 | 56 |
|
56 | | -### repo-initialization |
57 | | -- description: Provide just copy-and-substitute template for new repos |
58 | | -- probe: test -f scripts/init-repo.sh |
59 | | -- status: done |
60 | | -- notes: Run with source scripts/init-repo.sh <new-repo-name> |
| 57 | +### proof-ci |
| 58 | +- description: Add a CI leg that runs coqc (solo-core) + idris2 --build so the |
| 59 | + proofs are machine-checked, not only locally-checked (closes proof-ci=absent) |
| 60 | +- probe: test -f .github/workflows/proofs.yml |
| 61 | +- status: declared |
| 62 | +- notes: Mirror echo-types' agda.yml pattern; the root F5 gap |
61 | 63 |
|
62 | | -### contractile-completeness |
63 | | -- description: Every RSR contractile has an a2ml and ncl implementation |
64 | | -- probe: ls .machine_readable/contractiles/*.a2ml | wc -l | grep -q "^6$" |
| 64 | +### idris-track-preservation |
| 65 | +- description: Discharge ?todo_preservation on the Idris2 twin (Coq F1.4 is done) |
| 66 | +- probe: test -z "$(grep -r '?todo_preservation' proofs/verification/idris 2>/dev/null)" |
65 | 67 | - status: in_progress |
66 | | -- notes: Currently 6 contractile verbs: intend, must, trust, adjust, bust, dust |
| 68 | +- notes: Open-context subst2 generalisation from the Coq track is the template |
67 | 69 |
|
68 | | -### automation-scripts |
69 | | -- description: All repetitive tasks have just recipes |
70 | | -- probe: grep -c "^# " Justfile | grep -q "^[6-9][0-9]*$" |
71 | | -- status: in_progress |
| 70 | +### four-point-semiring |
| 71 | +- description: Extend the three-point QTT semiring to four-point affine (add ?) |
| 72 | +- status: declared |
| 73 | +- notes: F1.2; matches proofs/solo/affine-types/formal-system.md |
| 74 | + |
| 75 | +### echo-parser-syntax |
| 76 | +- description: Surface syntax for Echo<A => B> in the solo dialect (slice 2) |
| 77 | +- status: declared |
72 | 78 |
|
73 | 79 | ## Wishes |
74 | 80 |
|
75 | 81 | ### Near Horizon |
76 | 82 |
|
77 | | -#### cross-repo-validation |
78 | | -- description: Tooling to validate all repos against RSR spec |
79 | | -- horizon: near |
80 | | -- status: declared |
81 | | - |
82 | | -#### automated-substitution |
83 | | -- description: Script to automate repo-specific substitution in template |
| 83 | +#### dialect-parity |
| 84 | +- description: Duet + Ensemble mechanised cores reach the Solo core's rigour |
84 | 85 | - horizon: near |
85 | 86 | - status: declared |
86 | 87 |
|
87 | 88 | ### Mid Horizon |
88 | 89 |
|
89 | | -#### formal-verification |
90 | | -- description: Idris2 proofs for all critical contractile invariants |
| 90 | +#### effects-and-memory-metatheory |
| 91 | +- description: Mechanised effect-row + ownership/borrowing soundness (F2/F3) |
91 | 92 | - horizon: mid |
92 | 93 | - status: declared |
93 | 94 |
|
94 | 95 | ### Far Horizon |
95 | 96 |
|
96 | | -#### ecosystem-visualization |
97 | | -- description: Interactive graph of all hyperpolymath repos and dependencies |
| 97 | +#### me-projection-runtime |
| 98 | +- description: The "Me" projector renders dialect-hierarchy projections on the fly |
98 | 99 | - horizon: far |
99 | 100 | - status: declared |
| 101 | +- notes: Specified in tentacles-agentic-syllabus/me/README.adoc (out-of-repo) |
| 102 | + |
| 103 | +## Structure Note |
| 104 | + |
| 105 | +The six contractile verbs are intend / must / trust / adjust / bust / dust. |
| 106 | +intend, must, trust, adjust are SINGULAR (one flat *.a2ml each). bust and dust |
| 107 | +are MULTI-FILE by design and live as directories: one `bust` entry per |
| 108 | +failure-mode / issue, one `dust` entry per cleanup intention (e.g. uninstall, |
| 109 | +detach-a-component-as-plugin, larger teardown operations). |
| 110 | + |
| 111 | +### contractile-completeness |
| 112 | +- description: Four singular verbs present as flat files; bust/ and dust/ present |
| 113 | + as (multi-file) directories |
| 114 | +- probe: test -f .machine_readable/contractiles/Intentfile.a2ml && test -f .machine_readable/contractiles/Mustfile.a2ml && test -f .machine_readable/contractiles/Trustfile.a2ml && test -f .machine_readable/contractiles/Adjustfile.a2ml && test -d .machine_readable/contractiles/bust && test -d .machine_readable/contractiles/dust |
| 115 | +- status: done |
| 116 | +- notes: Six verbs; bust/dust are directories (see Structure Note) |
0 commit comments