You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Grazable and Drinkable are objective world facts derivable from terrain
type, not subjective beliefs. The audit on issue #739 showed perception
churned 717K HasTrait mutations on a 12-game-hour run, dominated by the
"agent walks in → asserts (Tile, HasTrait, Grazable) → walks out →
removes it" cycle, with N agents perceiving the same tile producing N
duplicate triples.
Replace the per-agent belief path with a direct WorldMap spatial query:
- Add TileType::has_trait(concept) and WorldMap::tiles_with_trait(...)
that map terrain types to concepts (Grass→Grazable, water→Drinkable).
- target_enumeration::enumerate_tiles_with_trait now scans the world
map within a planning radius of the agent — no MindGraph round-trip.
- Delete perceive_grass_tiles and perceive_water_tiles entirely. No
legacy shim per the no-backwards-compat rule.
Subjective tile beliefs that are *not* derivable from terrain stay in
MindGraph: Unreachable (per-agent learned pathing failure with TTL),
Territory (per-agent claim, set once at spawn).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments