Skip to content

docs: ephapax↔AffineScript disambiguation hooks (README + CLAUDE.md + a2ml)#152

Merged
hyperpolymath merged 1 commit into
mainfrom
docs/disambig-ephapax-vs-affinescript
May 26, 2026
Merged

docs: ephapax↔AffineScript disambiguation hooks (README + CLAUDE.md + a2ml)#152
hyperpolymath merged 1 commit into
mainfrom
docs/disambig-ephapax-vs-affinescript

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Plants three thin pointers in this repo to the canonical disambiguation doc at nextgen-languages/docs/disambiguation/ephapax-vs-affinescript.md:

  • README.adoc top-of-file [IMPORTANT] admonition.
  • CLAUDE.md (new file) with a 🚨 Disambiguation section as first content.
  • .machine_readable/6a2/AGENTIC.a2ml [agentic-config.disambiguation] block.

All three explain:

  • This is Ephapax, not AffineScript.
  • The two share only hyperpolymath/typed-wasm as a compile target.
  • Ephapax is itself dyadic (ephapax-linear + ephapax-affine); the internal ephapax-affine sublanguage is NOT AffineScript.
  • The shared "affine" syllable is a substructural-logic family name, not a project relationship.

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:

  • hyperpolymath/affinescript — README admonition + AGENTS.md (or equivalent) + a2ml block.
  • hyperpolymath/typed-wasm — README "two unrelated producers target this format" callout.

Test plan

  • Markdown/AsciiDoc renders cleanly on GitHub.
  • AGENTIC.a2ml parses (manual review).
  • CLAUDE.md picked up by Claude Code on next session start.

🤖 Generated with Claude Code

…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 hyperpolymath enabled auto-merge (squash) May 26, 2026 20:01
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 hyperpolymath merged commit 8358b11 into main May 26, 2026
1 of 8 checks passed
@hyperpolymath hyperpolymath deleted the docs/disambig-ephapax-vs-affinescript branch May 26, 2026 21:09
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>
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.

1 participant