World-Model Separation
Maintain an explicit, surprise-updated model of the environment (humans, repos, services, capabilities) in a separate file from the agent's self-model, so the two cannot be confused or co-mutated by reflection.
Problem
When self-model and world-model live in the same store (one big personality file), the agent conflates 'what I am' with 'what is around me'. Surprise-driven updates to one corrupt the other; a reflection pass meant to update facts about a collaborator can drift into editing the agent's own values.
Solution
Maintain a dedicated world-model store (humans, repos, services, capabilities, optionally with substructure) as a separate, reflection-writable surface. Personality, charter, and boundaries live in their own surfaces with separate write paths. Surprise events (prediction error against the world model) trigger a focused world-update pass; self-update is a different pass with different gating. The tick prompt loads both, but they are visibly distinct sections.
When to use
- The agent reflects on both itself and its environment and these reflections need to be auditable separately.
- Confusing self-state with world-state would corrupt either kind of reasoning.
- Charter or rule writes should never be entangled with environment observations.
Open the full interactive page →
Diagram, neighbourhood map, code examples, related patterns and full provenance.