version-control
Advanced Version Control v2.1
Every meaningful change should be attributable and reversible. History exists so that a bad structural decision costs an afternoon rather than the novel.
Operations
SNAPSHOT · DIFF · COMPARE · RESTORE · BRANCH · EXPERIMENT · MERGE · RECON · CANONIZE
Represent major story states as snapshots or branches recording parent, purpose, scope, and canon status in versions/SNAPSHOT.md and versions/BRANCH.md.
Before editing
Snapshot first. A structural change without a recorded parent cannot be evaluated, because there is nothing to compare it against, and a change that turns out wrong cannot be undone without guessing what came before.
Snapshot scope should match the change: a single scene repair needs a scoped snapshot, a restructure needs a full one. Snapshotting everything indiscriminately makes the history unreadable and the storage meaningless.
Branches
A branch is isolated from main canon until explicitly merged. Branches are for genuine alternatives and experiments: what happens if this character survives, what if the reveal happens here instead, what if the faction sides differently.