Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
Markdown
kidlisp → Datomic migration punchlist #
Generated from a grep across the repo for .collection('kidlisp'). Each
entry is one place that reads or writes the Mongo kidlisp collection
and needs a decision: migrate to sidecar, keep on Mongo read-only, or
retire.
✅ Migrated in v1 #
system/netlify/functions/store-kidlisp.mjs→ routes tostore-kidlisp-datomic.mjsbehindKIDLISP_DATOMIC=on.system/backend/backfill-kidlisp-to-datomic.mjs— one-shot Mongo → Datomic replay. Idempotent.silo/server.mjs—/api/datomic/*proxy to the sidecar's admin surface. Silo dashboard still browses Mongokidlispfor historical comparison during validation.
🟡 Production hot path — migrate before flipping KIDLISP_DATOMIC=on everywhere #
These functions read/write the kidlisp collection directly. Each needs
to be rewritten to call the sidecar client in
system/backend/kidlisp-sidecar.mjs.
🟠 Other services (non-Netlify, need own sidecar client) #
🟢 Tezos tooling (operator-run CLIs; low urgency) #
🟢 Feed worker (Cloudflare; runs off its own schedule) #
🔵 Scripts / utilities / one-offs — likely retire after cutover #
scripts/kidlisp-db-stats.mjs— ad-hoc stats. Can be replaced byGET /admin/stats+/api/datomic/stats.scripts/atproto/backfill-kidlisp-rkeys.mjs— one-shot backfill, already ran. Keep for reference, no migration needed.scripts/atproto/check-fifi-kidlisp.mjs— ad-hoc debug.scripts/atproto/check-kidlisp-atproto.mjs— ad-hoc debug.scripts/atproto/sync-fifi-kidlisp.mjs— ad-hoc sync.scripts/atproto/sync-jeffrey-kidlisp.mjs— ad-hoc sync.at/scripts/atproto/backfill-kidlisp-to-atproto.mjs— one-shot.utilities/keep-cleanup.mjs— cleanup utility; rewrite against sidecar if still needed.
Cutover sequence (when ready) #
- Bring Datomic + sidecar up on silo (see README.md).
- Populate vault entries (already done in
aesthetic-computer-vault/kidlisp-datomic/). - Run backfill from silo:
node system/backend/backfill-kidlisp-to-datomic.mjs. - Verify counts match:
/api/datomic/statsvs Mongokidlisp.countDocuments(). - Set
KIDLISP_DATOMIC=onin lith's.envand redeploy.store-kidlisp.mjsis now Datomic-authoritative for create/read/update-hit/mint/etc. - Work through the 🟡 hot-path list above. Each file becomes a small PR.
- When 🟡 list is empty, Mongo
kidlispcollection is frozen (read-only for the migrated paths; unused by new code). - After stable operation, work the 🟠 + 🟢 lists.
- 🔵 list can be retired anytime — confirm no scheduled jobs invoke them.