Handovers
A handover is everything a fresh AI needs to continue your project without drift · and nothing it doesn't.
A handover is the thing Soil produces and stores. It is not a transcript and not "everything ever written." A handover is exactly enough for a fresh AI, given only this, to continue the project without drift · and deliberately no more, so it never leaks and never gets refused on load.
What a complete handover contains
Soil's completeness target is a fixed set of 17 sections, in three tiers. A handover is "complete" only when a new model reading just these could pick the project up cold:
The project · the durable truth that outlives any one session
| Section | What it captures |
|---|---|
| Project identity | The project's purpose, domain, vocabulary, and the user's working style, stated preferences, and corrections. |
| Decisions + why | Every locked decision and its reason · the section that stops relitigation. |
| Workflow | How the work is actually run: the process rules, conventions, and the user's standing instructions. |
| Architecture | The durable shape of the system or work: key components and their roles, how they fit, and build/run truth vs. what's planned. |
| Constraints | The hard invariants and rules the work must never violate. |
| Rejected paths | Approaches tried and abandoned, or explicitly ruled out, and why · so they are never retried. |
The latest · this session's frontier
| Section | What it captures |
|---|---|
| Executive handover | The one screen a new model reads first: what this is, its domain, where it stands, and the most important next move. |
| Current task | The exact task in flight: the chosen approach and why, how far along, and what "done" looks like. |
| Latest intent | What the user most recently asked for, in their own framing · the live direction that overrides stale plans. |
| Session delta | What changed this session: what was decided, built, reversed, or learned since the conversation began. |
| Blockers | What's blocking progress, how it shows up, what's been tried, and the dependencies it imposes. |
| Next steps | The concrete, ordered next actions · specific enough to start immediately, with dependencies and sequencing. |
| Open questions | Unresolved questions and pending decisions, so the next model knows what is not yet decided and must not assume. |
Save meta · how the handover carries and proves itself
| Section | What it captures |
|---|---|
| Session activity | The consequential actions taken and their outcomes · commands, changes, deploys, tests · meaning only, never raw output. |
| Restore prompt | A paste-ready boot prompt that drops a brand-new model into the whole working state cold · written to stand alone, assuming no shared context. |
| Provenance map | For the load-bearing claims, where each one came from (see Provenance). |
| Safety summary | Anything deliberately withheld for safety · stated as existing and where, never its value · so omissions are visible. |
Alongside the 17 sections, every save also records working-style observations · the saving model's answers to a few situational working-style questions, stored raw with the handover and rendered as a clearly labeled block when it is loaded. They are recorded observations, never scored · see working-style observations.
One handover, always standalone
There is one kind of handover, and it is always written to be restored cold. It assumes the reader has only this · no shared thread, no prior model, no memory of the conversation · and carries exactly enough that a fresh AI can pick the project up without drift. A handover that drops you back into the same project and one that hands the work to a different person, model, or provider are the same artifact: self-sufficient by construction.
That is why there is nothing to choose. You ask for the save; Soil produces the one comprehensive, standalone handover. Working with a team, the same handover can be saved into a shared project so others can load it.
Why "just enough," not "everything"
Two failure modes, designed out
A max-dump handover fails twice over: it buries the signal (the opposite of zero-drift continuation), and it risks leaking secrets or triggering a model refusal on load. Soil's job is to decide what's needed · adaptively · not to copy everything. You don't tune the depth; the engine does.
When the need for completeness and the need for safety collide, safety wins and the gap is reported · never silently dropped. You'll see it surfaced as an unsafe omission: "there's a credential here; it exists and is configured in X, but its value is not carried."
When a handover isn't ready
If the extraction doesn't come back complete, safe, and clean on the drift check, Soil does not save a confident-looking half-handover. It returns "Needs work · missing: …" with the exact gaps, so you can fill them and try again. Honest "not yet" beats a handover you can't trust. See extraction & verification.
Concepts
The ideas that make Soil work. Handovers, the extraction and verification engine, how Soil verifies on your own models, working-style observations, provenance, safe projections, and projects.
Extraction & verification
The engine. The active model fills a recipe; Soil checks it over multiple iterations, runs a drift check, and only then saves a real handover.