Central connector for the Cathedral of Circuits. It now runs as a pure JSON API so other repos can stay synchronized without a front-end.
server.mjs
provides an Express application that exposes offline registry data at/registry/*
./registry
returns a directory listing, while/registry/:path
streams JSON, CSV (converted to JSON), and NDJSON files directly from./registry
./sync
aggregatesregistry/ids.json
,registry/notes/bridge_manifest.json
, and the event queue for quick status polls.- Every response is JSON; there is no SPA or rendered HTML served by the process.
- Install dependencies:
npm install
. - Start the API:
npm start
(defaults to port 3000). - Example checks:
curl http://localhost:3000/registry
→ list registry folders/files.curl http://localhost:3000/registry/ids.json
→ parsed registry IDs.curl http://localhost:3000/sync
→ combined manifest + queue snapshot.
- Update
registry/ids.json
before introducing new IDs in downstream repos to keepcore/check_ids.py
happy. registry/notes/bridge_manifest.json
records status for liber-arcanae, liber-arcanae-game, circuitum99, cosmogenesis-learning-engine, and stone-cathedral.- Run
python3 core/check_ids.py --bridge .
to verify IDs remain consistent.
index.html
and the related assets remain for offline study of the layered geometry (Vesica grid, Tree-of-Life nodes, Fibonacci curve, static helix). Open the file directly; it is not served by the API.
- Deploy manually with
flyctl deploy --config fly.toml
when ready. fly.toml
builds the Docker image defined inDockerfile
and keeps autosuspend enabled (auto_stop_machines = true
,min_machines_running = 0
).- Update the Fly app name locally; never commit secrets or automation workflows.
Keep all updates offline-first, trauma-informed, and layered—never flatten the Cathedral geometry.