diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -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`–`AV18`) | §13.5b — the newest category, and the one the first three reviews had no question for | +| What one member can cost the others (`AV1`–`AV19`) | §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,20 @@ 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** +- **`%(here)s` in `alembic.ini` makes a copy of it correct only where it was + copied from.** The packaged unit ran `alembic -c + /opt/meshbay-hub/migrations/alembic.ini`, a file the build did stage — so the + path existed and the *contents* were wrong: `script_location` resolved to + `…/migrations/src/meshbay_hub/db/migrations`, which nothing installs, because + the migrations ship inside `meshbay_hub` in the shared venv. `ExecStartPre` + failing stops the unit, so **a hub installed from the RPM or the DEB could + not start at all**, and nothing noticed because the one live deployment was + assembled by hand. The same trap had already been found on the server, where + a stray `alembic.ini` pointed at a month-old snapshot. Twice is a trap: the + path is not written down anywhere now — `meshbay-hub migrate` asks the + installed package where its own migrations are, which is right for a + package, a venv and a checkout alike + - **`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 |