| Comment: | Pin the derived/truth split so it cannot drift back
--data is derived and disposable; the OLTP is truth and is not. That is only worth stating if something checks it. Wiping the derived directory must keep accounts and capability grants, and the converse test keeps the old interleaved layout honest: without the flag the same wipe destroys them, which is exactly what the split exists to escape. Confirmed against the real binary too: wiping a 4.3M data directory leaves the forge serving 200 with its file listing intact and the index rebuilt from the stores, and the account still there. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
6c2ed4546716d34c1e7a5016841c35a7 |
| User & Date: | dmestas on 2026-08-25 21:43:33.610 |
| Other Links: | manifest | tags |
|
2026-08-25
| ||
| 21:53 | Accepted. A connection is not a render. check-in: 242e2d8c1c user: dmestas tags: trunk | |
| 21:43 |
Pin the derived/truth split so it cannot drift back
--data is derived and disposable; the OLTP is truth and is not. That is only worth stating if something checks it. Wiping the derived directory must keep accounts and capability grants, and the converse test keeps the old interleaved layout honest: without the flag the same wipe destroys them, which is exactly what the split exists to escape. Confirmed against the real binary too: wiping a 4.3M data directory leaves the forge serving 200 with its file listing intact and the index rebuilt from the stores, and the account still there. check-in: 6c2ed45467 user: dmestas tags: trunk | |
| 21:27 |
Separate forge truth from derived state: --oltp
--data holds two things that behave nothing alike. Per-repository indexes, built archives and the event store are DERIVED — rebuildable from the stores (0001 5), and therefore private to one node. oltp.db is not: accounts, capability grants, webhooks, praise, mirrors, saved views and CI runs are forge-local truth (0001 8), derivable from nothing. Interleaved in one directory they could not be deployed differently, so two nodes could not have their own fast local index without also having two account databases that disagree. 256KB of the 4.5GB was the whole obstacle to running more than one node. --oltp defaults to <data>/oltp.db, so a single-node deployment is unchanged. Every command that opens the OLTP takes it. Verified: node A creates an account, node B with its own --data and the shared --oltp sees it; node B without the flag reports no accounts, which is the divergence this removes. Both nodes serve at once, each with its own index. check-in: 308751929f user: dmestas tags: trunk | |