From 50a5e2fdb19348e6f80c5abdb7f4d239f701302a Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 27 May 2026 11:50:38 +0100 Subject: [PATCH] chore(claude.md): add TypeScript exemption for playground/ sandbox MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The governance/anti-pattern-policy check flags 6 TypeScript files in playground/ (probability.ts, ternary.ts, main.ts, ternary_test.ts, probability_test.ts, uncertainty.ts) as undocumented exemptions to the estate-wide "no new TypeScript" rule. Per playground/README.adoc, the directory is an intentional experimental sandbox "decoupled from the main compiler to allow rapid experimentation". TypeScript was one of several languages explored alongside Deno/Nickel/Idris2/Zig in the sandbox; the primary Betlang implementation in core/, lib/, and tests/ remains Racket-only. Adds the exemption to .claude/CLAUDE.md using the canonical "TypeScript Exemptions" table format from standards. Unblock condition is owner decision to either migrate the playground sample to AffineScript OR delete the files once the experimental questions they answer are settled. This is a documentation-only exemption record — it does not change estate policy. It just makes the existing carve-out auditable, which is what the governance check requires. After this lands, governance/Language/package-anti-pattern-policy will pass on betlang PRs. --- .claude/CLAUDE.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index fe06077..b573e0c 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -72,6 +72,16 @@ Both are FOSS with independent governance (no Big Tech). - **Fallback**: Nix (flake.nix) - **JS deps**: Deno (deno.json imports) +### TypeScript Exemptions (Approved) + +The hyperpolymath "no new TypeScript" policy has the following approved exemptions in this repo. These are *not* policy violations — they are documented carve-outs. + +| Path | Files | Rationale | Unblock condition | +|---|---|---|---| +| `playground/**` | 6 (`src/probability.ts`, `src/ternary.ts`, `src/main.ts`, `test/ternary_test.ts`, `test/probability_test.ts`, `examples/uncertainty.ts`) | Per `playground/README.adoc`, the directory is an **intentional experimental sandbox** "decoupled from the main compiler to allow rapid experimentation". TypeScript was chosen as one of several languages explored alongside Deno/Nickel/Idris2/Zig in the sandbox. The primary Betlang implementation in `core/`, `lib/`, and `tests/` remains Racket-only. | Owner decision to either (a) migrate the playground sample to AffineScript, or (b) delete the TypeScript files once the experimental questions they answer are settled. No scheduled issue. | + +Adding to this list requires explicit user approval and an unblock condition. New TypeScript files outside this list are blocked by the RSR antipattern check (`governance / Language / package anti-pattern policy`). + ### Security Requirements - No MD5/SHA1 for security (use SHA256+)