A Soul in a File
A language model wakes up as a stranger every session. The soul.md is the file it reads first - it sets character, not capability.
The starting point: A language model is stateless. Every session starts from zero - the agent "wakes up as a stranger". The
soul.mdis the file it reads first at the start of each session, fixing its identity, tone and boundaries.
Character, not capability
The key distinction of this unit: a soul.md describes who an agent is - not
what it can do. Values, tone, boundaries belong in it. Project rules and facts
belong elsewhere: in AGENTS.md and MEMORY.md.
Identity is a swappable file
The platform's signature pattern - familiar from the Ant Lab - carries over to the
persona here: the agent, the model and the question stay constant. Only the
soul.md changes. You will see the effect live in a moment.
An honest framing
The file does not make the model truly persistent. It only lets it behave as if it had a continuous identity. That is not a flaw - it is exactly the tool, as long as you know what it does.