Skip to content

Commit 3f54c9d

Browse files
hyperpolymathclaude
andcommitted
docs(policy): ban ReScript explicitly and pin production installs
Addresses the two live static-analysis findings on this PR, across every subproject CLAUDE.md in this repository. ReScript was absent from the BANNED table although canon bans it (destination AffineScript). Enforcement Rule 3 omitted `--frozen-lockfile`, so a lockfile mismatch silently re-resolved instead of failing. Enforcement Rule 1 is deliberately untouched: standards#655 records that collision as not resolvable unilaterally. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent db7f1ab commit 3f54c9d

7 files changed

Lines changed: 14 additions & 7 deletions

File tree

‎fogbinder/.claude/CLAUDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3030
| Banned | Replacement |
3131
|--------|-------------|
3232
| TypeScript | AffineScript |
33+
| ReScript | AffineScript |
3334
| Deno | Bun |
3435
| Node.js | Bun |
3536
| npm | Bun |
@@ -54,7 +55,7 @@ Both are FOSS with independent governance (no Big Tech).
5455

5556
1. **No new TypeScript files** - Convert existing TS to AffineScript
5657
2. **Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
57-
3. **`bun install --production` for production deps** - resolved from `package.json`, pinned via `bun.lock`
58+
3. **`bun install --production --frozen-lockfile` for production deps** - resolved from `package.json` and pinned via `bun.lock`; `--frozen-lockfile` makes a lockfile mismatch a build failure rather than a silent re-resolve
5859
4. **No Go code** - Use Rust instead
5960
5. **Python only for SaltStack** - All other Python must be rewritten
6061
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

‎nesy/.claude/CLAUDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ The following files in `.machine_readable/` contain structured project metadata:
4242
| Banned | Replacement |
4343
|--------|-------------|
4444
| TypeScript | AffineScript |
45+
| ReScript | AffineScript |
4546
| Deno | Bun |
4647
| Node.js | Bun |
4748
| npm | Bun |
@@ -66,7 +67,7 @@ Both are FOSS with independent governance (no Big Tech).
6667

6768
1. **No new TypeScript files** - Convert existing TS to AffineScript
6869
2. **Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
69-
3. **`bun install --production` for production deps** - resolved from `package.json`, pinned via `bun.lock`
70+
3. **`bun install --production --frozen-lockfile` for production deps** - resolved from `package.json` and pinned via `bun.lock`; `--frozen-lockfile` makes a lockfile mismatch a build failure rather than a silent re-resolve
7071
4. **No Go code** - Use Rust instead
7172
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
7273
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

‎rescript-templater/.claude/CLAUDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ The following files in `.machine_readable/` contain structured project metadata:
4242
| Banned | Replacement |
4343
|--------|-------------|
4444
| TypeScript | AffineScript |
45+
| ReScript | AffineScript |
4546
| Deno | Bun |
4647
| Node.js | Bun |
4748
| npm | Bun |
@@ -66,7 +67,7 @@ Both are FOSS with independent governance (no Big Tech).
6667

6768
1. **No new TypeScript files** - Convert existing TS to AffineScript
6869
2. **Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
69-
3. **`bun install --production` for production deps** - resolved from `package.json`, pinned via `bun.lock`
70+
3. **`bun install --production --frozen-lockfile` for production deps** - resolved from `package.json` and pinned via `bun.lock`; `--frozen-lockfile` makes a lockfile mismatch a build failure rather than a silent re-resolve
7071
4. **No Go code** - Use Rust instead
7172
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
7273
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

‎voyant-export/.claude/CLAUDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ The following files in `.machine_readable/` contain structured project metadata:
4242
| Banned | Replacement |
4343
|--------|-------------|
4444
| TypeScript | AffineScript |
45+
| ReScript | AffineScript |
4546
| Deno | Bun |
4647
| Node.js | Bun |
4748
| npm | Bun |
@@ -66,7 +67,7 @@ Both are FOSS with independent governance (no Big Tech).
6667

6768
1. **No new TypeScript files** - Convert existing TS to AffineScript
6869
2. **Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
69-
3. **`bun install --production` for production deps** - resolved from `package.json`, pinned via `bun.lock`
70+
3. **`bun install --production --frozen-lockfile` for production deps** - resolved from `package.json` and pinned via `bun.lock`; `--frozen-lockfile` makes a lockfile mismatch a build failure rather than a silent re-resolve
7071
4. **No Go code** - Use Rust instead
7172
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
7273
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

‎zoterho-template/.claude/CLAUDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
2929
| Banned | Replacement |
3030
|--------|-------------|
3131
| TypeScript | AffineScript |
32+
| ReScript | AffineScript |
3233
| Deno | Bun |
3334
| Node.js | Bun |
3435
| npm | Bun |
@@ -53,7 +54,7 @@ Both are FOSS with independent governance (no Big Tech).
5354

5455
1. **No new TypeScript files** - Convert existing TS to AffineScript
5556
2. **Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
56-
3. **`bun install --production` for production deps** - resolved from `package.json`, pinned via `bun.lock`
57+
3. **`bun install --production --frozen-lockfile` for production deps** - resolved from `package.json` and pinned via `bun.lock`; `--frozen-lockfile` makes a lockfile mismatch a build failure rather than a silent re-resolve
5758
4. **No Go code** - Use Rust instead
5859
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
5960
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

‎zoterho/.claude/CLAUDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ The following files in `.machine_readable/` contain structured project metadata:
4242
| Banned | Replacement |
4343
|--------|-------------|
4444
| TypeScript | AffineScript |
45+
| ReScript | AffineScript |
4546
| Deno | Bun |
4647
| Node.js | Bun |
4748
| npm | Bun |
@@ -66,7 +67,7 @@ Both are FOSS with independent governance (no Big Tech).
6667

6768
1. **No new TypeScript files** - Convert existing TS to AffineScript
6869
2. **Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
69-
3. **`bun install --production` for production deps** - resolved from `package.json`, pinned via `bun.lock`
70+
3. **`bun install --production --frozen-lockfile` for production deps** - resolved from `package.json` and pinned via `bun.lock`; `--frozen-lockfile` makes a lockfile mismatch a build failure rather than a silent re-resolve
7071
4. **No Go code** - Use Rust instead
7172
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
7273
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

‎zotpress/.claude/CLAUDE.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ The following files in `.machine_readable/` contain structured project metadata:
4242
| Banned | Replacement |
4343
|--------|-------------|
4444
| TypeScript | AffineScript |
45+
| ReScript | AffineScript |
4546
| Deno | Bun |
4647
| Node.js | Bun |
4748
| npm | Bun |
@@ -66,7 +67,7 @@ Both are FOSS with independent governance (no Big Tech).
6667

6768
1. **No new TypeScript files** - Convert existing TS to AffineScript
6869
2. **Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
69-
3. **`bun install --production` for production deps** - resolved from `package.json`, pinned via `bun.lock`
70+
3. **`bun install --production --frozen-lockfile` for production deps** - resolved from `package.json` and pinned via `bun.lock`; `--frozen-lockfile` makes a lockfile mismatch a build failure rather than a silent re-resolve
7071
4. **No Go code** - Use Rust instead
7172
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
7273
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

0 commit comments

Comments
 (0)