Storage architecture
D1, SQLite, WAL, indexes, and separation from releases.
#VPS SQLite
The production path is /var/lib/overweight/overweight-engine.sqlite. WAL and a busy timeout support concurrent engine writes and web reads.
#Sites D1
The logical DB binding is DB in .openai/hosting.json. Drizzle schemas and migrations mirror the structured records.
#Indexes
- Unique observation agent/symbol/source timestamp.
- Observation agent/symbol/time lookup.
- Decision agent/time lookup.
- Decision symbol/time lookup.
- Published-agent creator lookup.
#Release separation
Database files are never included in the application archive. Operators back up the persistent path separately.