Skip to content

Foundation: correspondence-model design spec (re-point toward Duolingo-for-PLs)#19

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/dreamy-sagan-1ukmue
Jun 18, 2026
Merged

Foundation: correspondence-model design spec (re-point toward Duolingo-for-PLs)#19
hyperpolymath merged 1 commit into
mainfrom
claude/dreamy-sagan-1ukmue

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What this establishes

First foundation commit re-pointing the engine away from a "JS→AffineScript pattern linter" toward its actual purpose: a language-comprehension & transfer engine — Duolingo / Rosetta Stone for programming languages that computes and classifies cross-language correspondences, feeds PanLL (it is not itself the IDE), and is extended by community cartridges.

This PR is draft / WIP. It opens with the design spec; further commits (identity re-point of README/CLAUDE/manifests, standards/machine-readable hygiene, AffineScript host scaffolding) will follow on this branch.

In this PR

docs/theory/CORRESPONDENCE-MODEL.adoc — the engine's canonical design spec:

  • Identity — not an IDE (that's PanLL + eNSAID), not a linter, not a universal translator (no Curry–Howard-fidelity goal).
  • Object model — Concept / Form / Transition, classified per stratum of meaning (surface → structure → intention → trope → invariant).
  • Formal carrier — Dyadic Relation + Echo loss-with-residue + the three Echo bridges (cites proven-tests-and-benches and echo-types); invariant-path as the governance front-end.
  • The Rosetta false-friends taxonomyCorrespondenceKind as graded Echo fibres: cognate / false-friend / antonym / alien-realization / novel / vanished, each with worked examples (e.g. BASIC = vs Erlang =; return vanishing in ReScript; types from assembly) and a pedagogy.
  • Engine ↔ cartridge boundary — we build the engine + vocabulary + residue model; community cartridges supply the per-language facts (with a fact-schema sketch).
  • Downstream contracts — overlay-protocol view-layers, HAS accessibility (Level A→AA), octad emission to VeriSimDB/PanLL, ENSAID_CONFIG.
  • Honesty caveat — records that "knot theory" is an aspirational lens here, not a literal invariant computation.

Notes

  • Toolchain-deferred — AffineScript/Idris2/Zig are not installable in the authoring environment, so this is verified by inspection against estate exemplars, not yet by build.
  • JTV grammar v2 is stubbed as the canonical alien-realization / novel-concept example, pending julia-the-viper repo access (currently a not-checked-out submodule, outside session scope).

🤖 Generated with Claude Code

https://claude.ai/code/session_01A1BaAhqxUjkgVb1yg1sZap


Generated by Claude Code

…not translates

Canonical design spec for the comprehension/transfer engine: the
Concept/Form/Transition object model, the levels-of-objects strata, the
Dyadic+Echo formal carrier, and the Rosetta false-friends taxonomy
(cognate / false-friend / antonym / alien-realization / novel / vanished)
as graded Echo fibres.

Also records the engine<->cartridge division of labour, the
overlay-protocol / accessibility / PanLL-emit downstream contracts, and the
knot-theory honesty caveat. JTV grammar v2 is stubbed pending repo access.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A1BaAhqxUjkgVb1yg1sZap
@hyperpolymath hyperpolymath marked this pull request as ready for review June 18, 2026 10:52
@hyperpolymath hyperpolymath merged commit 6307b88 into main Jun 18, 2026
36 checks passed
@hyperpolymath hyperpolymath deleted the claude/dreamy-sagan-1ukmue branch June 18, 2026 10:52
hyperpolymath added a commit that referenced this pull request Jun 18, 2026
…D config (#20)

## Standards hygiene (track 3 of the 3→1→2 plan)

Brings the repo up to the estate machine-readable + CI standard, on top
of the merged correspondence-model spec.

### Changes
- **`.machine_readable/6a2/AGENTIC.a2ml`**, **`NEUROSYM.a2ml`**,
**`PLAYBOOK.a2ml`** (new) — completes the canonical six manifests
alongside the existing `STATE/META/ECOSYSTEM`. Tuned to the
correspondence-engine identity: no-shame narrative voice,
*classify-not-translate*, toolchain-deferred build honesty, and the
no-relicense guardrail.
- **`.github/workflows/static-analysis-gate.yml`** (new) — the
panic-attack gate (`assail` + hypatia scan + patch-bridge triage). Fails
only on **critical** findings; skips gracefully when the binaries aren't
in the runner.
- **`.machine_readable/ENSAID_CONFIG.a2ml`** (new) — PanLL/eNSAID
per-repo config with a correspondence-engine view-layer portfolio (focus
/ glyph / raw-code / side-by-side).
- **`Justfile`** — fix stale `panic-attacker` → `panic-attack`
references (the tool was renamed 2026-02-08).

### Note on the diff
This branch carries the **pre-squash original** of #19's spec commit, so
*Files changed* also lists `docs/theory/CORRESPONDENCE-MODEL.adoc`. That
content is **already in `main`** (identical), so the net new change here
is just the six hygiene items above, and merging is a no-op for the spec
file. (The clean fix — force-pushing the branch onto `main`'s tip — is
blocked by policy; happy to tidy if force-push is enabled.)

### Verification
Authored against estate exemplars (RSR template + aggregate-library 6a2
manifests). A2ML/TOML inspected by hand; full toolchain (`just
validate-rsr`, the new gate) runs in CI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01A1BaAhqxUjkgVb1yg1sZap

---
_Generated by [Claude
Code](https://claude.ai/code/session_01A1BaAhqxUjkgVb1yg1sZap)_

---------

Co-authored-by: Claude <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request Jun 18, 2026
…ingo-for-PLs) (#21)

## Identity re-point (track 1 of the 3→1→2 plan)

Brings the repo's public + machine-readable identity into line with the
merged correspondence-model spec. The docs described a "JS→AffineScript
pattern linter"; they now describe what the project actually is.

### What changed (11 files — identity only)
- **`README.adoc`, `EXPLAINME.adoc`, `ROADMAP.adoc`** — **Duolingo /
Rosetta-Stone for programming languages**: a comprehension+transfer
engine that **classifies** cross-language correspondences
(Concept/Form/Transition + the six `CorrespondenceKind`s), **not** an
IDE / linter / universal translator. Engine-vs-cartridge division; feeds
PanLL; no-shame, transfer-first pedagogy; HAS accessibility; toolchain
honesty.
- **`CLAUDE.md`, `.claude/CLAUDE.md`** — corrected overview + "notes for
Claude"; **policy tables preserved** (Deno/Justfile/Zig/Idris2; ReScript
banned in new code).
- **`.machine_readable/{STATE,META,ECOSYSTEM}.a2ml` + `6a2/` copies** —
corrected identity/purpose/ADRs/related-projects; filled the empty
`purpose`/`architecture-decisions` fields and repaired a corrupted
`6a2/ECOSYSTEM` purpose.

### Licence: nothing relicensed (FLAG-ONLY)
Per the estate manual-only licence guardrail, I did **not** touch any
licence label. The SPDX diff across this PR is **empty** — no licence
identifier changed. Three *pre-existing* inconsistencies vs the repo's
`MPL-2.0` SPDX are flagged for your decision, not edited:
1. `README.adoc` badge reads `PMPL-1.0-or-later` (links to
palimpsest-license) while the SPDX + badge alt-text say `MPL-2.0`.
2. `README.adoc` body text: "licensed under the *Palimpsest License
(MPL-2.0)*".
3. `ROADMAP.adoc` SPDX header reads `MPL-2.0-or-later` (vs `MPL-2.0`
everywhere else).

### Notes
- Spec (#19) and hygiene (#20) already merged; `main` was merged into
this branch so the diff is the 11 identity files only.
- The first drafting pass used a subagent that got rate-limited after 3
files (`README`/`EXPLAINME`/`ROADMAP`); the remaining 8 were authored
directly. EXPLAINME verified on-message with no stale framing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01A1BaAhqxUjkgVb1yg1sZap

---
_Generated by [Claude
Code](https://claude.ai/code/session_01A1BaAhqxUjkgVb1yg1sZap)_

---------

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants