Skip to content

Commit fb9928b

Browse files
docs(claude-md): flip ReScript→AffineScript across 3 CLAUDE.md files (#96)
AM010 admin-merge: required `Hypatia Neurosymbolic Analysis` check unreachable — hypatia-scan workflow file failing on this branch and on main since 2026-05-28 (pre-existing, unrelated to docs flip). All other 19 reported checks GREEN. Refs hypatia#376.
1 parent baab153 commit fb9928b

4 files changed

Lines changed: 45 additions & 11 deletions

File tree

.claude/CLAUDE.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ The following files in `.machine_readable/` contain structured project metadata:
1919

2020
| Language/Tool | Use Case | Notes |
2121
|---------------|----------|-------|
22-
| **ReScript** | Primary application code | Compiles to JS, type-safe |
22+
| **AffineScript** | Primary application code | Affine-typed, compiles to typed-wasm or Deno-ESM |
2323
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
2424
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
2525
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
2626
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
2727
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
2828
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
29-
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
29+
| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs |
3030
| **Nickel** | Configuration language | For complex configs |
3131
| **Guile Scheme** | State/meta files | .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml |
3232
| **Julia** | Batch scripts, data processing | Per RSR |
@@ -37,7 +37,8 @@ The following files in `.machine_readable/` contain structured project metadata:
3737

3838
| Banned | Replacement |
3939
|--------|-------------|
40-
| TypeScript | ReScript |
40+
| TypeScript | AffineScript |
41+
| ReScript | AffineScript |
4142
| Node.js | Deno |
4243
| npm | Deno |
4344
| Bun | Deno |
@@ -53,7 +54,7 @@ The following files in `.machine_readable/` contain structured project metadata:
5354

5455
For developer tools:
5556
- **Rust** preferred for CLI tools, git operations
56-
- **ReScript** for web dashboards (git-hud)
57+
- **AffineScript** for web dashboards (git-hud)
5758
- **Deno** for automation scripts
5859
- **Julia** for batch analysis (oikos metrics)
5960

.hypatia-ignore

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# .hypatia-ignore — declared exemptions from hyperpolymath/standards
5+
# governance-reusable.yml policy rules. Format:
6+
#
7+
# <rule>:<repo-relative-path>
8+
#
9+
# Lines starting with `#` and blank lines are ignored.
10+
#
11+
# Note: paths must match the form emitted by `git ls-files`, which
12+
# quotes non-ASCII bytes with octal escapes by default (see
13+
# `core.quotepath`). Below, emoji directory names are encoded as the
14+
# literal "\nnn" octal sequences `git ls-files` produces, with the
15+
# surrounding double-quotes.
16+
#
17+
# ─── Vendored ReScript compiler test fixtures (rescript-ecosystem/) ─
18+
#
19+
# These 6 .res files are unicode-name test inputs for the upstream
20+
# ReScript compiler build_tests/unicode/ corpus. They live under
21+
# vendored copies of the rescript-compiler repository and exist only
22+
# to exercise the compiler's handling of emoji-named directories.
23+
# Migration target N/A — they are third-party test fixtures, not
24+
# project source. Removal would happen only if rescript-ecosystem/
25+
# is itself dropped from the vendor tree.
26+
#
27+
cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\225annotation/a.res"
28+
cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\227block/b.res"
29+
cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\231inline/c.res"
30+
cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\225annotation/a.res"
31+
cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\227block/b.res"
32+
cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\231inline/c.res"

cadre-router/.claude/CLAUDE.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ The following files in `.machine_readable/` contain structured project metadata:
1919

2020
| Language/Tool | Use Case | Notes |
2121
|---------------|----------|-------|
22-
| **ReScript** | Primary application code | Compiles to JS, type-safe |
22+
| **AffineScript** | Primary application code | Affine-typed, compiles to typed-wasm or Deno-ESM |
2323
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
2424
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
2525
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
2626
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
2727
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
2828
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
29-
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
29+
| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs |
3030
| **Nickel** | Configuration language | For complex configs |
3131
| **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm |
3232
| **Julia** | Batch scripts, data processing | Per RSR |
@@ -37,7 +37,8 @@ The following files in `.machine_readable/` contain structured project metadata:
3737

3838
| Banned | Replacement |
3939
|--------|-------------|
40-
| TypeScript | ReScript |
40+
| TypeScript | AffineScript |
41+
| ReScript | AffineScript |
4142
| Node.js | Deno |
4243
| npm | Deno |
4344
| Bun | Deno |
@@ -53,18 +54,18 @@ The following files in `.machine_readable/` contain structured project metadata:
5354

5455
**No exceptions for Kotlin/Swift** - use Rust-first approach:
5556

56-
1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0
57+
1. **Tauri 2.0+** - Web UI (AffineScript) + Rust backend, MIT/Apache-2.0
5758
2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0
5859

5960
Both are FOSS with independent governance (no Big Tech).
6061

6162
### Enforcement Rules
6263

63-
1. **No new TypeScript files** - Convert existing TS to ReScript
64+
1. **No new TypeScript files** - Convert existing TS to AffineScript
6465
2. **No package.json for runtime deps** - Use deno.json imports
6566
3. **No node_modules in production** - Deno caches deps automatically
6667
4. **No Go code** - Use Rust instead
67-
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, ReScript for apps
68+
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
6869
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus
6970

7071
### Package Management

cadre-router/tea-router-pkg/.claude/CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ It wraps `cadre-router` with TEA-specific primitives (`Tea.Cmd.t`, `Tea.Sub.t`).
88
## Language Policy
99

1010
Same as cadre-router - see the Hyperpolymath Standard:
11-
- **ReScript** for all source code
11+
- **AffineScript** for all source code (currently .res/.resi; ReScript→AffineScript migration tracked at standards#252)
1212
- **Deno** for runtime (not Node.js)
1313
- No TypeScript
1414

0 commit comments

Comments
 (0)