Skip to content

Commit 4e88f47

Browse files
docs: post-#65 sweep — remove stale npx/npm/Tauri prose (#66)
Follows panll#65 (npm → Deno migration: package.json + package-lock.json deleted; ReScript + Tailwind now run via `npm:` specifiers in deno.json through `deno task res:build` / `deno run -A npm:tailwindcss`). Files touched (no overlap with #65): - README.adoc — `npx rescript build` → `deno task res:build` in Development + Quick Start sections; Runtime cell reworded ("Deno-only build, no package.json or npm CLI"). - src/model/README.md — `npx rescript build` → `deno task res:build` in the "Adding a New Module" checklist. - docs/guides/llm-warmup-user.md — Rules line updated to "Deno only (ReScript + Tailwind run via `npm:` specifiers in deno.json)". - AGENTS.md + GEMINI.md + .junie/guidelines.md — `no-npm-bun` rule and `deno-npm-hybrid` decision (renamed `deno-only-with-npm-specifiers`) reworded to match shipped reality. These three files are auto-generated from coordination.k9, so coordination.k9 is updated in the same pass to prevent drift on next regeneration. - coordination.k9 — source-of-truth update for the three K9-generated files above (no-npm-bun + decision block). - CONTRIBUTING.md — "Deno instead of npm/Node" paragraph updated: ReScript + Tailwind via `npm:` specifiers, no package.json, no npm CLI. - CHANGELOG.md — added an `Unreleased` entry for 2026-05-30 documenting the panll#65 migration (deno.json tasks, setup-node removed from CI, supersedes panll#62 band-aid). - scripts/bundle.ts:19 — Tauri JS APIs comment replaced with accurate Gossamer IPC bindings description (PanLL migrated FROM Tauri long ago). - docs/archive/NPM-TO-DENO-MIGRATION.md — added a "CLOSED 2026-05-30 by panll#65" status banner at top; body preserved as historical planning document (no rewrite). - tests/cross_panel_integration_test.js:243 — SeamEngine.fullScan input list updated `"package.json"` → `"deno.json"` to reflect post-#65 file layout (the literal-array test still passes either way; this is a doc-correctness fix on the test fixture). Untouched (deliberately): - panll/.claude/CLAUDE.md — owner directive (panll#60 reverted; excluded from sweeps). - .github/workflows/build-validation.yml + e2e.yml — panll#65 territory; this PR does not touch them. - All .res/.resi files — out of scope (standards#252). - TOPOLOGY.md — already clean (uses `deno task res:build`; remaining Tauri references are historical-migration context, accurate). Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 0f9709b commit 4e88f47

12 files changed

Lines changed: 49 additions & 29 deletions

File tree

.junie/guidelines.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ or contradict deliberate architectural decisions.
7070

7171
**Rule:** No npm, Bun, pnpm, or yarn — Deno is the orchestrator
7272

73-
**Why:** npm is used ONLY for the ReScript compiler (which requires it). All other tooling uses Deno. Do not add npm dependencies.
73+
**Why:** Deno-only build (post panll#65). ReScript and Tailwind run via `npm:` specifiers in `deno.json` — there is no `package.json` and no npm CLI is invoked. Do not reintroduce npm/bun/yarn/pnpm tooling.
7474

7575
### [CRITICAL] anticrash-validates-all
7676

@@ -150,11 +150,11 @@ These choices may look unusual but are intentional:
150150

151151
**Rejected alternatives:** rescript-tea, Redux, MobX, React hooks pattern
152152

153-
### deno-npm-hybrid
153+
### deno-only-with-npm-specifiers
154154

155-
**Decision:** Deno orchestrates everything, but npm is used solely for the ReScript compiler
155+
**Decision:** Deno orchestrates everything; ReScript and Tailwind run via `npm:` specifiers in `deno.json`
156156

157-
**Why:** ReScript compiler requires npm — this is the ONLY permitted npm usage. Do not extend npm's role.
157+
**Why:** Post panll#65: `package.json` + `package-lock.json` deleted; ReScript compiles via `deno run -A --allow-scripts=npm:rescript npm:rescript@^12.0.0 build`, Tailwind via `deno run -A npm:tailwindcss`. No npm CLI invocation. Do not extend npm's role.
158158

159159
### binary-star
160160

AGENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ or contradict deliberate architectural decisions.
7070

7171
**Rule:** No npm, Bun, pnpm, or yarn — Deno is the orchestrator
7272

73-
**Why:** npm is used ONLY for the ReScript compiler (which requires it). All other tooling uses Deno. Do not add npm dependencies.
73+
**Why:** Deno-only build (post panll#65). ReScript and Tailwind run via `npm:` specifiers in `deno.json` — there is no `package.json` and no npm CLI is invoked. Do not reintroduce npm/bun/yarn/pnpm tooling.
7474

7575
### [CRITICAL] anticrash-validates-all
7676

@@ -150,11 +150,11 @@ These choices may look unusual but are intentional:
150150

151151
**Rejected alternatives:** rescript-tea, Redux, MobX, React hooks pattern
152152

153-
### deno-npm-hybrid
153+
### deno-only-with-npm-specifiers
154154

155-
**Decision:** Deno orchestrates everything, but npm is used solely for the ReScript compiler
155+
**Decision:** Deno orchestrates everything; ReScript and Tailwind run via `npm:` specifiers in `deno.json`
156156

157-
**Why:** ReScript compiler requires npm — this is the ONLY permitted npm usage. Do not extend npm's role.
157+
**Why:** Post panll#65: `package.json` + `package-lock.json` deleted; ReScript compiles via `deno run -A --allow-scripts=npm:rescript npm:rescript@^12.0.0 build`, Tailwind via `deno run -A npm:tailwindcss`. No npm CLI invocation. Do not extend npm's role.
158158

159159
### binary-star
160160

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed (2026-05-30 — npm → Deno migration)
11+
- **`package.json` + `package-lock.json` deleted.** ReScript and Tailwind now
12+
run via `npm:` specifiers in `deno.json`:
13+
- ReScript: `deno run -A --allow-scripts=npm:rescript npm:rescript@^12.0.0 build`
14+
(exposed as `deno task res:build`)
15+
- Tailwind: `deno run -A npm:tailwindcss` (transitional — no Deno-native
16+
drop-in yet)
17+
- **`setup-node` removed from CI** in `.github/workflows/build-validation.yml`
18+
and `.github/workflows/e2e.yml`; supersedes the `panll#62` `npm install`
19+
band-aid. See `panll#65` for the migration PR.
20+
1021
### Changed (2026-05-17 — Tech-debt remediation: lib/bin split)
1122
- **`[lib] panll` crate extracted** — all GTK-free backend logic
1223
(`http_client`, `service_registry`, `settings`, `identity`, `groove`,

CONTRIBUTING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ container support and tighter integration with the hyperpolymath stack.
2626

2727
**Deno instead of npm/Node** — No `node_modules` directory (1,200+ transitive
2828
deps for a typical Node project). Built-in test runner. Secure-by-default
29-
permissions. npm is only used for the ReScript compiler itself.
29+
permissions. ReScript and Tailwind run via `npm:` specifiers in `deno.json`;
30+
there is no `package.json` and no npm CLI is invoked.
3031

3132
**Elixir/BEAM for middleware** — BEAM's supervision trees mean a crashing backend
3233
connection restarts itself without taking down the whole panel surface. Pattern

GEMINI.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ or contradict deliberate architectural decisions.
7070

7171
**Rule:** No npm, Bun, pnpm, or yarn — Deno is the orchestrator
7272

73-
**Why:** npm is used ONLY for the ReScript compiler (which requires it). All other tooling uses Deno. Do not add npm dependencies.
73+
**Why:** Deno-only build (post panll#65). ReScript and Tailwind run via `npm:` specifiers in `deno.json` — there is no `package.json` and no npm CLI is invoked. Do not reintroduce npm/bun/yarn/pnpm tooling.
7474

7575
### [CRITICAL] anticrash-validates-all
7676

@@ -150,11 +150,11 @@ These choices may look unusual but are intentional:
150150

151151
**Rejected alternatives:** rescript-tea, Redux, MobX, React hooks pattern
152152

153-
### deno-npm-hybrid
153+
### deno-only-with-npm-specifiers
154154

155-
**Decision:** Deno orchestrates everything, but npm is used solely for the ReScript compiler
155+
**Decision:** Deno orchestrates everything; ReScript and Tailwind run via `npm:` specifiers in `deno.json`
156156

157-
**Why:** ReScript compiler requires npm — this is the ONLY permitted npm usage. Do not extend npm's role.
157+
**Why:** Post panll#65: `package.json` + `package-lock.json` deleted; ReScript compiles via `deno run -A --allow-scripts=npm:rescript npm:rescript@^12.0.0 build`, Tailwind via `deno run -A npm:tailwindcss`. No npm CLI invocation. Do not extend npm's role.
158158

159159
### binary-star
160160

README.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ PanLL components aim to:
145145

146146
|Runtime
147147
|Deno (tests, build orchestration)
148-
|No `node_modules` black hole — URL imports, built-in TypeScript support for glue code, secure-by-default permissions model. npm is only used for the ReScript compiler itself (pending upstream Deno support). See https://deno.com[Deno].
148+
|No `node_modules` black hole — URL imports, built-in TypeScript support for glue code, secure-by-default permissions model. Deno-only build: ReScript and Tailwind run through `npm:` specifiers in `deno.json`, no `package.json` or npm CLI invocation. See https://deno.com[Deno].
149149

150150
|Testing
151151
|Deno.test (97 JS) + cargo test (12 Rust)
@@ -170,15 +170,15 @@ PanLL components aim to:
170170

171171
== Development
172172

173-
PanLL uses Deno for runtime, testing, and build orchestration. ReScript compilation uses the symlinked compiler in `node_modules`.
173+
PanLL uses Deno for runtime, testing, and build orchestration. ReScript compilation runs through `deno run -A --allow-scripts=npm:rescript npm:rescript@^12.0.0` (no `package.json` or npm CLI).
174174

175175
[source,bash]
176176
----
177177
# Compile ReScript modules
178-
npx rescript build
178+
deno task res:build
179179
180180
# Watch ReScript sources during development
181-
npx rescript build -w
181+
deno task res:watch
182182
183183
# Run tests (97 JS tests + 12 Rust tests)
184184
deno task test
@@ -201,7 +201,7 @@ deno task build
201201
[source,bash]
202202
----
203203
# 1. Compile ReScript
204-
npx rescript build
204+
deno task res:build
205205
206206
# 2. Run tests to verify
207207
deno task test

coordination.k9

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ invariants:
7171

7272
- id: no-npm-bun
7373
rule: "No npm, Bun, pnpm, or yarn — Deno is the orchestrator"
74-
reason: "npm is used ONLY for the ReScript compiler (which requires it). All other tooling uses Deno. Do not add npm dependencies."
74+
reason: "Deno-only build (post panll#65). ReScript and Tailwind run via `npm:` specifiers in deno.json — there is no `package.json` and no npm CLI is invoked. Do not reintroduce npm/bun/yarn/pnpm tooling."
7575
severity: critical
7676

7777
- id: anticrash-validates-all
@@ -154,9 +154,9 @@ architecture:
154154
- MobX
155155
- React hooks pattern
156156

157-
- id: deno-npm-hybrid
158-
decision: "Deno orchestrates everything, but npm is used solely for the ReScript compiler"
159-
reason: "ReScript compiler requires npm — this is the ONLY permitted npm usage. Do not extend npm's role."
157+
- id: deno-only-with-npm-specifiers
158+
decision: "Deno orchestrates everything; ReScript and Tailwind run via `npm:` specifiers in deno.json"
159+
reason: "Post panll#65: package.json + package-lock.json deleted; ReScript compiles via `deno run -A --allow-scripts=npm:rescript npm:rescript@^12.0.0 build`, Tailwind via `deno run -A npm:tailwindcss`. No npm CLI invocation. Do not extend npm's role."
160160

161161
- id: binary-star
162162
decision: "Three panel types: Panel-L (symbolic/human), Panel-N (neural/machine), Panel-W (world/shared)"

docs/archive/NPM-TO-DENO-MIGRATION.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# npm → Deno Migration Plan for PanLL
22

3-
**Status:** Planning phase
3+
> **STATUS: CLOSED (2026-05-30).** Closed by panll#65`package.json` and
4+
> `package-lock.json` deleted; ReScript + Tailwind now run through `npm:`
5+
> specifiers in `deno.json`. See the `deno.json` task table and
6+
> `.github/workflows/build-validation.yml` for the shipped state. The text
7+
> below is preserved as the original planning document for historical context;
8+
> details may not reflect what actually shipped.
9+
10+
**Status:** Planning phase (superseded)
411
**Priority:** Medium (blocks full hyperpolymath policy compliance)
512
**Timeline:** 1-2 weeks implementation
613
**Blocker:** ReScript compiler requires Node.js/npm (no Deno support yet)

docs/guides/llm-warmup-user.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Optional: Elixir >= 1.16 (for beam/ middleware).
6868
## Rules
6969

7070
- No TypeScript. ReScript only.
71-
- No npm/bun. Deno only (npm only for ReScript compiler).
71+
- No npm/bun. Deno only (ReScript + Tailwind run via `npm:` specifiers in `deno.json`).
7272
- Panels, not panes.
7373
- TEA pattern only. All state in Model.model.
7474
- Anti-Crash validates ALL neural tokens.

scripts/bundle.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ const ctx = await esbuild.context({
1616
format: "esm",
1717
outfile: "public/app.bundle.js",
1818
sourcemap: true,
19-
// Tauri JS APIs are thin wrappers around window.__TAURI_INTERNALS__ IPC —
20-
// bundling them is the standard approach and avoids bare-specifier issues
21-
// in WebKitGTK which lacks import map support.
19+
// Gossamer IPC bindings are thin wrappers around the WebKitGTK message
20+
// handlers exposed by the Rust backend — bundling them is the standard
21+
// approach and avoids bare-specifier issues in WebKitGTK which lacks
22+
// import map support.
2223
nodePaths: ["node_modules"],
2324
logLevel: "info",
2425
});

0 commit comments

Comments
 (0)