Skip to content

Latest commit

 

History

History
85 lines (66 loc) · 4.99 KB

File metadata and controls

85 lines (66 loc) · 4.99 KB

Nextgen Languages Evangeliser — Roadmap

Current Status

Identity re-point in progress. The project is now Duolingo / Rosetta Stone for programming languages — a language-comprehension and transfer engine that classifies cross-language correspondences (it does not translate, lint, or build IDEs). The correspondence-model spec and standards hygiene have landed; the abstraction-model pivot is next.

See CORRESPONDENCE-MODEL.adoc (canonical design), CLAUDE.md, and README.adoc for overview.

Milestones

M0 — Correspondence-model spec ✅

  • ✓ Establish the engine identity: classify, not translate (and not an IDE, not a linter)

  • ✓ Concept / Form / Transition object model

  • ✓ Six `CorrespondenceKind`s (cognate / false-friend / antonym / alien-realization / novel / vanished) as graded Echo fibres

  • ✓ Strata ("levels of objects": surface → structure → intention → trope → invariant)

  • ✓ Formal carrier: Dyadic Relation + Echo loss-with-residue; invariant-path as governance front-end

  • ✓ Honesty caveat recorded: "knot theory" is an aspirational lens, not a computation

M1 — Standards / repo hygiene ✅

  • ✓ Repo renamed rescript-evangelisernextgen-languages-evangeliser

  • ✓ Estate machine-readable artefacts + SPDX present

  • ✓ Language-policy perimeter aligned (Deno, Justfile, Zig FFI; TS/Python/Go/V banned; ReScript host removed — legacy target only)

M2 — Identity re-point + abstraction-model pivot →

  • [-] Re-point identity documentation to the corrected purpose (this pass)

  • ✓ Concept / Form / Transition + CorrespondenceKind + per-stratum classification realised in the Idris2 ABI (src/interface/Abi/) and the cartridge schema

  • ✓ Kind-aware, shame-free narratives carried as cartridge fields (celebrate / minimise / better / safety / example)

  • ❏ Port the legacy pattern catalogue into cartridge facts (Forms + Transitions, not "JS→AffineScript patterns")

  • ✓ Cartridge invariant tests for the classify-not-translate model (test/run_all.js)

M3 — Browser multi-pane GUI ✅

  • ✓ Browser multi-pane workspace as the primary surface

  • ✓ Overlay view-layers: focus / glyph / blockly-flowchart / raw-code / side-by-side

  • ✓ View-layers conform to the estate overlay-protocol (additive, idempotent)

  • ✓ Accessibility: Hyperpolymath Accessibility Standard Level A → AA (keyboard-only, ≥4.5:1 contrast, ARIA, reduced-motion, plain-language mode)

  • ✓ CLI retained as the offline fallback (bin/evangeliser.js, reads cartridges)

M4 — AffineScript host application (Zig FFI + Idris2 ABI) →

  • ✓ Idris2 ABI seam for the certifiable carrier (src/interface/Abi/ — typechecks)

  • ✓ Zig FFI seam mirroring the ABI (src/interface/ffi/)

  • ✓ AffineScript host binding authored (src/interface/host/Correspondence.affine)

  • ✓ Legacy ReScript host removed (no .res to port — the host is built fresh on the seams)

  • ❏ End-to-end "hello world → typed-wasm → WASM" proof-of-life (gated on the AffineScript compiler)

  • ❏ Note: ReScript is a legacy target only; AffineScript remains a first-class teaching target and the future host

M5 — Cartridge contract + 2nd language pack →

  • ❏ Specify the cartridge fact format (concept / from / to / kind / strata / residue / witness)

  • ❏ Wire standards/cartridges/ as the community authoring surface

  • ❏ Ship the reference language pack as the worked exemplar

  • ❏ Author a second language pack to validate the engine is language-agnostic (JTV is the canonical alien-realization / novel exemplar)

M6 — Proofs/benches + PanLL octad emission →

  • ❏ Carry Idris2/Echo witnesses where the math pays (high-value / dangerous Transitions)

  • ❏ Benches via proven-tests-and-benches

  • ❏ Emit octads → VeriSimDB (:8097) + Groove signals; PanLL panels subscribe

  • ❏ Read ergonomics from .machine_readable/ENSAID_CONFIG.a2ml

Division of labour

  • We build — the general engine + interface + classification vocabulary + residue model + a reference language pack.

  • The community builds — the per-language modules as cartridges (standards/cartridges/).

The engine is language-agnostic; the nextgen-language collection is merely the substrate we dogfood.

Toolchain honesty

AffineScript / Idris2 / Zig / Deno may be absent in some environments. Material is authored now and verified in CI — we do not claim local green builds we cannot run. The JTV grammar-v2 worked example remains stubbed pending repository access.

Future Directions

Beyond M6, the project is a general transfer-learning platform across programming languages:

  • A shared, language-agnostic engine (scan → classify → narrate → emit) feeding PanLL

  • Per-language correspondence cartridges authored by language advocates

  • The glyph view-layer as an accessible lingua franca across targets

  • Citation-stable URL via GitHub redirect from the legacy rescript-evangeliser slug