From 9a472666736f86b8ada2819cc6efb8cbf52c5cd3 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Sun, 3 May 2026 00:25:58 +0100 Subject: [PATCH] docs(policy): create .claude/CLAUDE.md with TypeScript exemption table Establishes the .claude/CLAUDE.md scaffold for this repo (previously had no agent-instructions file). The body is intentionally short: points at hyperpolymath/standards as the canonical policy source, restates the key rules (no new TS, Deno not Node, AffineScript for new code), and documents the 6 approved TypeScript exemptions in this repo (MCP cartridge adapters in cartridges/*-mcp/adapter/mod.ts, all gated on AffineScript MCP bindings). Mirror tables exist in affinescript / standards / my-lang. Audit lineage: TS-elimination audit, 2026-05-02. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/CLAUDE.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .claude/CLAUDE.md diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md new file mode 100644 index 0000000..5a5a518 --- /dev/null +++ b/.claude/CLAUDE.md @@ -0,0 +1,29 @@ +# CLAUDE.md - AI Assistant Instructions + +## Machine-Readable Artefacts + +This repo follows the hyperpolymath standard. See `https://github.com/hyperpolymath/standards` for the canonical 6-file `.machine_readable/` layout (STATE/META/ECOSYSTEM/AGENTIC/NEUROSYM/PLAYBOOK in A2ML format). + +--- + +## Language Policy (Hyperpolymath Standard) + +The full policy is canonical in `hyperpolymath/standards`. Key points relevant to this repo: + +- **No new TypeScript** — convert existing TS to AffineScript (`.affine`) directly; ReScript is no longer the destination as of 2026-04-30. +- **Deno** for the runtime, not Node. `deno.json` for imports, no `node_modules` in production. +- **AffineScript** for new application code. Compiles to typed-wasm. + +### TypeScript Exemptions (Approved) + +The "no new TypeScript" rule has 6 approved exemptions in this repo — all MCP cartridge adapters. The MCP SDK (`@anthropic/sdk`) is TypeScript-native, and the adapters are JSON-RPC-over-stdio glue. Until AffineScript has bindings to the MCP protocol, these adapters must remain TS. + +| Path | Files | Rationale | Unblock condition | +|---|---|---|---| +| `cartridges/{academic-workflow,bofig,ephapax,fireflag,hesiod,sanctify}-mcp/adapter/mod.ts` | 6 | MCP cartridge adapters using `@anthropic/sdk`. The SDK is TS-native; equivalent functionality requires AffineScript bindings to MCP, which don't exist yet. | AffineScript MCP bindings (no scheduled issue — file under `affinescript` when scope is decided). | + +Adding to this list requires explicit user approval and an unblock condition. Audit lineage: TS-elimination audit, 2026-05-02. Mirror tables in `affinescript`, `standards`, and `my-lang` repos. + +### Documentation Format + +- All docs `.adoc` (AsciiDoc) except GitHub-required files (SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, CHANGELOG.md).