8a1913c5ae
Add narrative event types (task_started, npc_slept, npc_died, resource_depleted) alongside economic transfers. EconomicEventRecord gains create_narrative factory and human-readable description method. SimulationManager records task-start and sleep/death events, exposes get_npc_events() for per-NPC history queries. Inspector now shows a Recent timeline of the last 5 events for the selected NPC, plus displays carried wood count. Relax EconomicEventRecord validation to accept non-economic events. Update roadmap with completed milestones.
Documentation map
The project uses a small hierarchy so overlapping plans do not become competing sources of truth.
PROJECT_CONTEXT.mdis the canonical description of the vision, current implementation, target architecture, and active constraints.LEARNING_ROADMAP.mdowns milestone order, architecture gates, reusable-system exit tests, and intentionally deferred work.BUILD_IN_PUBLIC_PLAN.mdowns the scoped Jajce visual slice. It must respect the architecture gates in the learning roadmap.RESOURCE_NODE_MIGRATION.mdis a focused migration plan. Phases 1–6 are complete; follow-up work should expand resource discovery without reintroducing abstract resource zones.ACTION_SYSTEM_ARCHITECTURE.md,ECONOMIC_EVENTS.md,FOOD_STORAGE_ARCHITECTURE.md,SIMULATION_DEFINITIONS.md, andSIMULATION_STATE_SCHEMA.mddocument the current data contracts.decisions/contains durable architectural decisions, including consequences and revisit conditions.
When documents disagree:
- code and tests describe current behavior;
- the newest accepted decision record governs architecture;
PROJECT_CONTEXT.mdgoverns product intent;LEARNING_ROADMAP.mdgoverns what should be built next;- focused plans govern only their stated scope.
Update the smallest relevant set of documents after a decision or milestone. Do not copy full status tables into every plan.