Files
CharacterGardenStack/thoughts.md

30 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.yml` created; ollama service gated behind `--profile llm` (not required for MVP)
- `.env` created 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)
- `Event` type renamed `GameEvent` in code to avoid collision with the DOM `Event` global
## Next Steps
1. Implement Truth Engine (`app/src/truthEngine.ts`) — pure validation, no I/O
2. Add SQLite schema + db module (`app/src/db.ts`) with the 5 tables from section 7
3. Implement App service / turn flow (`app/src/index.ts`) per section 6
4. Add Fastify route `POST /turn` that executes the full pipeline
5. 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 (12 rooms, ≤3 characters)?
## Session Notes
- 2026-04-23: Project started. Scaffold and type contracts created. No logic yet.