diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 66437328..d15e3b41 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -19,14 +19,14 @@ The following files in `.machine_readable/` contain structured project metadata: | Language/Tool | Use Case | Notes | |---------------|----------|-------| -| **ReScript** | Primary application code | Compiles to JS, type-safe | +| **AffineScript** | Primary application code | Affine-typed, compiles to typed-wasm or Deno-ESM | | **Deno** | Runtime & package management | Replaces Node/npm/bun | | **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools | | **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI | | **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like | | **Gleam** | Backend services | Runs on BEAM or compiles to JS | | **Bash/POSIX Shell** | Scripts, automation | Keep minimal | -| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs | +| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs | | **Nickel** | Configuration language | For complex configs | | **Guile Scheme** | State/meta files | .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml | | **Julia** | Batch scripts, data processing | Per RSR | @@ -37,7 +37,8 @@ The following files in `.machine_readable/` contain structured project metadata: | Banned | Replacement | |--------|-------------| -| TypeScript | ReScript | +| TypeScript | AffineScript | +| ReScript | AffineScript | | Node.js | Deno | | npm | Deno | | Bun | Deno | @@ -53,7 +54,7 @@ The following files in `.machine_readable/` contain structured project metadata: For developer tools: - **Rust** preferred for CLI tools, git operations -- **ReScript** for web dashboards (git-hud) +- **AffineScript** for web dashboards (git-hud) - **Deno** for automation scripts - **Julia** for batch analysis (oikos metrics) diff --git a/.hypatia-ignore b/.hypatia-ignore new file mode 100644 index 00000000..1202155a --- /dev/null +++ b/.hypatia-ignore @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: MPL-2.0 +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) +# +# .hypatia-ignore — declared exemptions from hyperpolymath/standards +# governance-reusable.yml policy rules. Format: +# +# : +# +# Lines starting with `#` and blank lines are ignored. +# +# Note: paths must match the form emitted by `git ls-files`, which +# quotes non-ASCII bytes with octal escapes by default (see +# `core.quotepath`). Below, emoji directory names are encoded as the +# literal "\nnn" octal sequences `git ls-files` produces, with the +# surrounding double-quotes. +# +# ─── Vendored ReScript compiler test fixtures (rescript-ecosystem/) ─ +# +# These 6 .res files are unicode-name test inputs for the upstream +# ReScript compiler build_tests/unicode/ corpus. They live under +# vendored copies of the rescript-compiler repository and exist only +# to exercise the compiler's handling of emoji-named directories. +# Migration target N/A — they are third-party test fixtures, not +# project source. Removal would happen only if rescript-ecosystem/ +# is itself dropped from the vendor tree. +# +cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\225annotation/a.res" +cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\227block/b.res" +cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\231inline/c.res" +cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\225annotation/a.res" +cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\227block/b.res" +cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\231inline/c.res" diff --git a/cadre-router/.claude/CLAUDE.md b/cadre-router/.claude/CLAUDE.md index c8782595..a680b5a1 100644 --- a/cadre-router/.claude/CLAUDE.md +++ b/cadre-router/.claude/CLAUDE.md @@ -19,14 +19,14 @@ The following files in `.machine_readable/` contain structured project metadata: | Language/Tool | Use Case | Notes | |---------------|----------|-------| -| **ReScript** | Primary application code | Compiles to JS, type-safe | +| **AffineScript** | Primary application code | Affine-typed, compiles to typed-wasm or Deno-ESM | | **Deno** | Runtime & package management | Replaces Node/npm/bun | | **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools | | **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI | | **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like | | **Gleam** | Backend services | Runs on BEAM or compiles to JS | | **Bash/POSIX Shell** | Scripts, automation | Keep minimal | -| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs | +| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs | | **Nickel** | Configuration language | For complex configs | | **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm | | **Julia** | Batch scripts, data processing | Per RSR | @@ -37,7 +37,8 @@ The following files in `.machine_readable/` contain structured project metadata: | Banned | Replacement | |--------|-------------| -| TypeScript | ReScript | +| TypeScript | AffineScript | +| ReScript | AffineScript | | Node.js | Deno | | npm | Deno | | Bun | Deno | @@ -53,18 +54,18 @@ The following files in `.machine_readable/` contain structured project metadata: **No exceptions for Kotlin/Swift** - use Rust-first approach: -1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0 +1. **Tauri 2.0+** - Web UI (AffineScript) + Rust backend, MIT/Apache-2.0 2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0 Both are FOSS with independent governance (no Big Tech). ### Enforcement Rules -1. **No new TypeScript files** - Convert existing TS to ReScript +1. **No new TypeScript files** - Convert existing TS to AffineScript 2. **No package.json for runtime deps** - Use deno.json imports 3. **No node_modules in production** - Deno caches deps automatically 4. **No Go code** - Use Rust instead -5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, ReScript for apps +5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps 6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus ### Package Management diff --git a/cadre-router/tea-router-pkg/.claude/CLAUDE.md b/cadre-router/tea-router-pkg/.claude/CLAUDE.md index 7a2634e2..8c76e578 100644 --- a/cadre-router/tea-router-pkg/.claude/CLAUDE.md +++ b/cadre-router/tea-router-pkg/.claude/CLAUDE.md @@ -8,7 +8,7 @@ It wraps `cadre-router` with TEA-specific primitives (`Tea.Cmd.t`, `Tea.Sub.t`). ## Language Policy Same as cadre-router - see the Hyperpolymath Standard: -- **ReScript** for all source code +- **AffineScript** for all source code (currently .res/.resi; ReScript→AffineScript migration tracked at standards#252) - **Deno** for runtime (not Node.js) - No TypeScript