docs: ephapax↔AffineScript disambiguation hooks (README + CLAUDE.md + a2ml)#152
Merged
Merged
Conversation
…d + a2ml)
Adds three thin pointers to the canonical disambiguation doc at
nextgen-languages/docs/disambiguation/ephapax-vs-affinescript.md
(commit 2fcb55a on hyperpolymath/nextgen-languages main):
1. README.adoc — top-of-file [IMPORTANT] admonition immediately after
the title, explaining (a) this is Ephapax not AffineScript, (b) the
two share only the typed-wasm target, (c) the internal naming trap
where the `ephapax-affine` sublanguage is NOT AffineScript.
2. CLAUDE.md (new) — agent guidance with a 🚨 Disambiguation block as
first content, plus side-by-side path/extension/build/checker table.
Documents the dyadic-internal-naming trap explicitly. Cross-refers
the canonical memory entry feedback_affinescript_ephapax_siblings_not_impl_proof.md.
3. .machine_readable/6a2/AGENTIC.a2ml — new [agentic-config.disambiguation]
block with fields: this, canonical-name, distinct-from,
shared-with-distinct, internal-sublanguages,
ephapax-affine-is-not-affinescript, canonical-doc,
canonical-memory-entry,
do-not-apply-cross-repo-lessons-without-explicit-check.
Why: AI agents have repeatedly conflated Ephapax with AffineScript
across sessions ("we have gone through this a dozen times before",
2026-05-26). The shared `affine` syllable is logic-family terminology
(both type systems exhibit affine-flavored substructural properties,
like nearly every modern resource-safe language) — not a project
relationship.
Companion hooks land in hyperpolymath/affinescript and
hyperpolymath/typed-wasm via separate PRs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
to hyperpolymath/typed-wasm
that referenced
this pull request
May 26, 2026
## Summary Adds a top-of-file [NOTE] admonition to README.adoc making it unambiguous that **AffineScript** and **Ephapax** — both of which target typed-wasm and both of which interface with \`crates/typed-wasm-verify/\` — are two SEPARATE, UNRELATED languages. The shared \`affine\` syllable in both names is substructural-logic family terminology, not a project relationship. Ephapax is internally dyadic and contains an \`ephapax-affine\` sublanguage — that sublanguage is *not* AffineScript. ## Why AI agents have repeatedly conflated AffineScript with Ephapax (or with Ephapax's internal \`ephapax-affine\` sublanguage). The two repos share zero AST / typing / borrow-checker / codegen — they meet only here, at typed-wasm. Workers on \`crates/typed-wasm-verify/\` in particular need to know that the agreement theorems against each consumer are independent. ## Companion PRs - hyperpolymath/ephapax#152 — adds README admonition + CLAUDE.md disambiguation + a2ml [disambiguation] block. - hyperpolymath/affinescript#393 — symmetric hooks in affinescript. - Canonical disambiguation doc at [nextgen-languages/docs/disambiguation/ephapax-vs-affinescript.md](https://github.com/hyperpolymath/nextgen-languages/blob/main/docs/disambiguation/ephapax-vs-affinescript.md) (commit 2fcb55a). ## Test plan - [ ] AsciiDoc renders cleanly on GitHub. - [ ] Admonition appears before the existing \"Progressive type safety\" tagline. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
to hyperpolymath/affinescript
that referenced
this pull request
May 26, 2026
… a2ml) (#393) ## Summary Plants three thin pointers to the canonical disambiguation doc at [nextgen-languages/docs/disambiguation/ephapax-vs-affinescript.md](https://github.com/hyperpolymath/nextgen-languages/blob/main/docs/disambiguation/ephapax-vs-affinescript.md): - **README.adoc** new top-of-file [IMPORTANT] admonition (before the existing CAPABILITY-MATRIX one). - **.claude/CLAUDE.md** new "🚨 Disambiguation (read first)" block as first content. - **.machine_readable/6a2/AGENTIC.a2ml** new [disambiguation] block. All three explain: this is AffineScript not Ephapax; the two share only hyperpolymath/typed-wasm; the ephapax-affine sublanguage is NOT AffineScript; shared "affine" syllable is logic-family not project relationship. ## Why AI agents have repeatedly conflated this repo with hyperpolymath/ephapax across sessions. The two share zero AST / typing / borrow-checker / codegen. ## Companion PR hyperpolymath/ephapax#152 lands the symmetric hooks in ephapax. typed-wasm callout will follow. ## Test plan - [ ] AsciiDoc renders cleanly on GitHub. - [ ] AGENTIC.a2ml parses (manual review). - [ ] .claude/CLAUDE.md picked up by Claude Code on next session. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Plants three thin pointers in this repo to the canonical disambiguation doc at nextgen-languages/docs/disambiguation/ephapax-vs-affinescript.md:
All three explain:
Why
AI agents (and humans) have repeatedly conflated this repo with hyperpolymath/affinescript across sessions. The two languages share zero AST / typing / borrow-checker / codegen.
Companion PRs
Symmetric disambiguation hooks landing in:
Test plan
🤖 Generated with Claude Code