1.4 KiB
1.4 KiB
thoughts.md
Current Status
- Scaffold complete:
charactergarden/folder structure created per spec section 9 - Core contracts defined in
app/src/types.ts: Entity, Action, Verb, ValidationResult, StateChange, GameEvent, Turn, Belief, Summary docker-compose.ymlcreated; ollama service gated behind--profile llm(not required for MVP).envcreated with defaults- Nothing is implemented yet — no logic, no database, no server
Current Architecture Decisions
- App: Node.js + Fastify + TypeScript
- Frontend: React + Vite + TypeScript
- Database: better-sqlite3 (synchronous, no ORM)
- Ollama is optional; system must work without it (per section 14)
Eventtype renamedGameEventin code to avoid collision with the DOMEventglobal
Next Steps
- Implement Truth Engine (
app/src/truthEngine.ts) — pure validation, no I/O - Add SQLite schema + db module (
app/src/db.ts) with the 5 tables from section 7 - Implement App service / turn flow (
app/src/index.ts) per section 6 - Add Fastify route
POST /turnthat executes the full pipeline - Stub LLM adapter (
app/src/llmAdapter.ts) with a fallback parser
Open Questions
- Should room/location be an Entity attribute or a separate entity type?
- What is the initial world state for the MVP (1–2 rooms, ≤3 characters)?
Session Notes
- 2026-04-23: Project started. Scaffold and type contracts created. No logic yet.