From b72183ef2a9c3bdf06d933675d10686cae33464d Mon Sep 17 00:00:00 2001 From: mptyl Date: Sat, 27 Jun 2026 19:52:00 +0200 Subject: [PATCH] docs(plans): test setup per importare il gate (typebox devDep, import ESM) --- docs/superpowers/plans/2026-06-27-harness-rpc-readiness.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/superpowers/plans/2026-06-27-harness-rpc-readiness.md b/docs/superpowers/plans/2026-06-27-harness-rpc-readiness.md index 95fdb7f9..a46b7966 100644 --- a/docs/superpowers/plans/2026-06-27-harness-rpc-readiness.md +++ b/docs/superpowers/plans/2026-06-27-harness-rpc-readiness.md @@ -17,6 +17,7 @@ - **`--json` mantiene stdout puro**: in modalità JSON nessun warning/tabella umana su stdout (pattern già in `tht/cli/search_cmd.py`). Output: `typer.echo(json.dumps(data, ensure_ascii=False, indent=2))`. - **Nessun segreto nel codice/test**: le credenziali stanno solo in `harness/.env` (gitignored). I task L2/spike che toccano Pi reale richiedono `.env` + VPN e NON girano in CI. - **Il gate resta load-bearing**: gli invarianti verbatim del gate (anti-bypass `tool_call` hook, input-lock, no-limbo) non vanno indeboliti dagli adattamenti RPC. +- **Test setup per importare il gate (Task 3–5):** `tht-gate.js` è ESM e importa `typebox` (fornito a runtime da Pi, NON presente in `harness/`). Per testarlo, aggiungere `typebox` come **devDependency** in `harness/package.json` (versione allineata a Pi: `"typebox": "1.1.38"`) ed eseguire `npm install` una volta (Task 3, prima di scrivere i test). Su Node ≥ 22 `require()` di un modulo ESM senza top-level await funziona; se in questo ambiente dà problemi, usare `await import("../../tht-gate.js")` dentro un test `async` (i file di test possono restare `node --test`). Verificare l'import del gate PRIMA di scrivere asserzioni. ---