docs: establish simulation architecture gate

This commit is contained in:
2026-07-04 19:55:30 +02:00
parent 0900022558
commit 83fc258afc
7 changed files with 288 additions and 56 deletions
+14 -7
View File
@@ -112,7 +112,7 @@ type proves what is actually common.
## Fit with the current code
The existing flow is:
Before this migration, the flow was:
```text
SimNPC chooses a task string
@@ -124,7 +124,7 @@ SimNPC chooses a task string
-> SimVillage applies a hard-coded task result
```
The migrated flow should become:
The migrated flow is:
```text
SimNPC chooses an action
@@ -139,15 +139,16 @@ SimNPC chooses an action
-> reservation is released
```
During migration:
Current target behavior:
```text
gather_food -> prefer matching ResourceNode -> fallback FarmZone
gather_wood -> prefer matching ResourceNode -> fallback ForestZone
gather_food -> matching ResourceNode -> recover/wander when unavailable
gather_wood -> matching ResourceNode -> recover/wander when unavailable
other tasks -> existing zones
```
Fallbacks should log clearly so accidental reliance on zones is visible.
Food and wood zone fallback was deliberately removed to preserve resource
conservation.
## Repository-specific file layout
@@ -472,6 +473,12 @@ authoritative-yield rules.
### Phase 5 — Jajce world placement
This phase is a bounded handoff to
[the build-in-public visual plan](BUILD_IN_PUBLIC_PLAN.md), not permission for
open-ended environment polish. Complete the scaffold, placement, and navigation
proof, then pass the learning roadmap's architecture gate before the beauty
baseline.
- place bushes and trees as real world objects in `JajceWorld`;
- keep their IDs stable;
- validate interaction points against terrain and navigation;
@@ -516,7 +523,7 @@ At minimum, exercise:
7. NPC dies while working;
8. navigation fails;
9. node is disabled while reserved;
10. fallback zone is used because no matching node exists;
10. no matching node causes recovery without zone production; ✅ implemented
11. player and NPC contend for the same source; ✅ automated
12. duplicate node IDs are detected.