aboutsummaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 516228f..05fb318 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -122,7 +122,7 @@ that produced it.
| Looking for | Read |
|---|---|
| What a label means (`C1`, `H3`, `NS6`, `T3`, `C5b`, `W2`, `E9`, `F1`, `AV4`, …) | `docs/MESHBAY_DESIGN.md` §13 |
-| What one member can cost the others (`AV1`–`AV15`) | §13.5b — the newest category, and the one the first three reviews had no question for |
+| What one member can cost the others (`AV1`–`AV17`) | §13.5b — the newest category, and the one the first three reviews had no question for |
| Trust model, and what the project may and may not claim | §2 |
| Identity, devices, admission, recovery, the keypair bundle | §3 |
| Cryptography, key hierarchy, the group and chat envelopes | §4 |
@@ -148,6 +148,13 @@ These are about working on the tree rather than about the design:
interface, for the web and the app alike; `packages/meshbay-client/scripts/
sync-ui.js` copies it (`npm run sync-ui`) and CI fails if the copy drifts —
**never edit `packages/meshbay-client/ui/` by hand**
+- **`node --check` reports success on a module-syntax error, and a green one
+ cost a full suite run.** An unclosed `.map(` inside a tagged template came
+ back clean four times in a row. `test_spa_syntax.py` says this in its own
+ docstring — copying to `.mjs` first is what forces the module parser — and
+ it is still the reflex that reaches for `node --check`. Use
+ `node --input-type=module --eval "$(cat file.js)"`, or just run that test
+
- **A test fixture narrower than production tests the fixture — and when it
writes down *why* it has to be narrow, that is a bug report nobody filed.**
`test_federation.py` built its MHP envelopes by hand without an `aud`, and