You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: reconcile local history with origin (R-16/R-24)
Owner rulings R-24 + R-28a/R-28b (2026-08-28): full reconciliation - merge the
advanced remote and publish local history. Workflow conflicts resolved
origin-side per R-28a; non-workflow conflicts resolved per the supervisor's
per-class rulings (forensics/r16-r28b-class-rulings-2026-08-28.md); every
discarded local hunk recorded in a forensics diff report.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|**AffineScript**| Primary application code | Affine-typed, compiles to typed-wasm or ESM |
27
+
|**Bun**|JS runtime & package management (tier 1) | Default for all new work. Runs compiled ESM/JS directly — no bundler step. Uses an npm-compatible `package.json` plus `bun.lock` — both are expected, not anti-patterns.|
28
28
|**Rust**| Performance-critical, systems, WASM | Preferred for CLI tools |
29
29
|**Tauri 2.0+**| Mobile apps (iOS/Android) | Rust backend + web UI |
30
30
|**Dioxus**| Mobile apps (native UI) | Pure Rust, React-like |
31
31
|**Gleam**| Backend services | Runs on BEAM or compiles to JS |
|**Julia**| Batch scripts, data processing | Per RSR |
@@ -42,10 +42,11 @@ The following files in `.machine_readable/` contain structured project metadata:
42
42
| Banned | Replacement |
43
43
|--------|-------------|
44
44
| TypeScript | AffineScript |
45
-
| Node.js | Deno |
46
-
| npm | Deno |
47
-
| Bun | Deno |
48
-
| pnpm/yarn | Deno |
45
+
| ReScript | AffineScript |
46
+
| Deno | Bun |
47
+
| Node.js | Bun |
48
+
| npm | Bun |
49
+
| pnpm/yarn | Bun |
49
50
| Go | Rust |
50
51
| Python | Julia/Rust/AffineScript |
51
52
| Java/Kotlin | Rust/Tauri/Dioxus |
@@ -65,17 +66,17 @@ Both are FOSS with independent governance (no Big Tech).
65
66
### Enforcement Rules
66
67
67
68
1.**No new TypeScript files** - Convert existing TS to AffineScript
68
-
2.**No package.json - use deno.json deps** - Use deno.json imports
69
-
3.**No node_modules in production** - Deno caches deps automatically
69
+
2.**Use `package.json` + `bun.lock` for JS runtime deps** - Bun is npm-compatible; a manifest is REQUIRED
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
70
71
4.**No Go code** - Use Rust instead
71
72
5.**No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
72
73
6.**No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus
73
74
74
75
### Package Management
75
76
76
77
-**Primary**: Guix (guix.scm)
77
-
-**Fallback**: Nix (flake.nix)
78
-
-**JS deps**: Deno (deno.json imports)
78
+
-**Fallback**: Guix (flake.guix)
79
+
-**JS deps**: Bun (`package.json` + `bun.lock`). Declare tooling as a devDependency and run `bunx --no-install --bun <tool>` — a bare `bunx <tool>` can fetch an unpinned package and may start Node via its shebang.
0 commit comments