Can you get it back? The Recovery register names the 24 ways a change becomes irreversible, from the moment it is made to the moment nothing will bring it back.
Because every recovery mechanism has to exist before the change it recovers from. Human caution is what normally buys you the time to install one, and an agent has none - it runs a destructive command with exactly the confidence it brings to listing a directory. Three of the 24 can be made impossible, ten can be undone if the right thing was in place beforehand, and eleven cannot be undone at all.
An AI agent has just changed forty files. Some of it is wrong. How much of it can you actually get back?
Everyone has destroyed something they needed. A file overwritten, a branch force-pushed, a folder deleted from one directory up. Good times.
And it is usually the last one. What that experience delivers is a flinch reaction. From then on you commit before the risky step, you read the path twice before you press enter, and you feel the difference between a command that can be undone and one that cannot. Nobody trained you. That one experience did.
An agent has no flinch. It runs a destructive command with precisely the confidence it brings to listing a directory, because nothing in its experience separates them – it has no experience. It will not hesitate before the irreversible step, and it does not get more careful after the incident, because as far as it is concerned there was no incident.
Which lands on the one mechanical fact underneath this whole register: every recovery mechanism has to exist before the change it recovers from. Human caution is what normally buys you the time to install one. Without it, the mechanism is either already there or it is not.
So every fix on this page is external, and most of it is a setting rather than software. You are not making the agent careful. You are making the dangerous thing either impossible, or cheap to undo.
What this register does
The recovery register names the 24 ways a change becomes irreversible, from the moment it is made to the moment nothing will bring it back. The register carries 19 evidenced rows and five candidates; the hub's headline counts count evidenced rows only. Three can be made impossible. Ten can be undone if the right thing was in place beforehand. Eleven cannot be undone at all.
The register produces one working rule: decide what a restore point covers before you need one, because every mechanism that gets you back had to exist before the change did.
This is a technical page listing every row in the register and what it costs, what closes it (if anything). It sits under the hub. Its companion page is can you believe your agent?, the truth register, which asks whether the agent's account of the work can be trusted – a different question with a different answer.
Many of the controls on this page are standard software engineering – protected branches, backups, down scripts – and experienced engineers already run some of them.
What the register adds is the failure behind each control: which failures are prevented, which are only recoverable, and which ones nothing gets back. This shows where your remaining gaps are.
THE DEFINING FINDING
Every mechanism that gets you back had to exist before the change did. Decide what a restore point covers before you need one.
The question this register asks
Can you get it back? The unit this register tests is a change:
A file edited in place.
A migration run against real rows.
A branch force-pushed over the only copy.
An email that has already left the machine.
Each one has a life. The register grades each failure by what it costs to undo and by whether anything gets you back at all.
None of this is new. The failure mode is ordinary; what has changed is the rate. A session that edits forty files in 20 minutes compresses a week of change into an afternoon, across paths a person would not have touched, at a speed nobody reads at.
What a recovery failure looks like
A WORKED EXAMPLE / RL-1E
Here is one from our own build.
Here is one from our own build, in August 2026, and it is the only row on this register we have watched fail with a date on it.
Two agents were fanned out from one session to work in parallel. Each was given its own Git worktree, which is the standard answer and looks like isolation. It is not isolation. Both trees sat on the same writable filesystem, and each agent could reach the other's tree by absolute path. Work landed in a place neither agent's own record accounted for, and the question at the end was the one this row is named after: whose version is this?
The interesting part is what did not fix it. The worktrees were correctly created. Nobody bypassed anything. The separation was real in the sense that the default paths differed, and yet still incomplete – neither boundary was enforced anywhere the agents could not reach.
That is RL-1E, and it is Class C – irreversible: nothing gets it back. Worktrees reduce accidental collisions. They are not an adversarial boundary. The row stays open until an externally enforced write boundary or a mandatory broker exists, and it is one of three rows that co-own the same incident: this one for the recovery loss, [AL-3C] for the ambient second-session route, and [PL-6C] for the correct change that disappeared from the record. Three registers, three units, one afternoon.
ONE FILE CAME BACK / THE OTHER WAS LOST OUTRIGHT
Why the plan is not the mechanism
The property that makes this register worth having is easy to state and hard to act on. Recovery class is a property of the mechanism, not of the change. This is why the register grades mechanisms rather than intentions, and why only a mechanism that refuses the action yields the top class. Everything else is a promise about the future made by people who will be busy at the time.
Severity here means the cost of getting back, multiplied by how quietly the change goes unnoticed. S1 you undo in seconds. S2 you undo with effort. S3 you undo only by rebuilding it by hand. S4 cannot be undone at any price.
The distribution is also revealing. Twelve of 24 rows are S4, and none is S1. This is what makes working with agents so risky if the right controls aren't in place.
How this register works
The recovery register lists 24 failures and grades them against a base install – an agent, a repository, a CI pipeline, and nothing else pointed at this problem. It then names the strongest mechanism you can add against each one. Whether any of them is actually switched on is a separate question, and one you answer against your own configuration. The source repository is private. You can read the catalogue on these register pages.
The rows were derived by working through the life of a change, stage by stage, and asking at each stage what could go wrong and what would get you back. Every register in this framework is built that way rather than from an incident log, because selecting for "we have seen this go wrong" filters out the failures that never announce themselves.
Nine of the 24 are recorded here with dates. 15 are not, and that number means something different on this register than it would on Truth. A recovery failure is not silent – losing work is the loudest thing that happens in a week. So a low first-party count here is not evidence that the mechanisms are untested; it is a consequence of how the register was built, and of the fact that most of what is listed has a mechanism precisely because somebody already lost the work once.
The life of a change: five stages and an assurance band
Rows are grouped by how far a change has travelled when the failure bites. The stages are sequential, and the ordering is the point: the further along, the less gets you back.
Captured – is there a point to go back to? Whether any restore point exists between the last good state and now. Six rows.
Contained – how far can one mistake reach? How much of the machine, the account and the production estate a single turn can touch. Four rows.
Noticed – do you find out while it is still cheap? Whether the damage surfaces in the session, at review, or in July. Four rows.
Reversible – can the change be taken back? Whether the mechanism to undo it was written alongside it. Five rows.
Restored – does undoing it put you back? Whether the reversal returns you to a working system rather than half of one. Three rows.
Cutting across all five is an assurance band, Rehearsed – would you get back if you had to today?Two rows. It is not a sixth stage. Each of its rows asks whether the stages above would actually hold under a real attempt, which is a question nobody asks until the attempt is happening.
The stage tells you when you can still act; the outcome class tells you whether acting helps. Read together they produce the finding on this register, and it is in the next section.
The three outcomes: prevented, recoverable, irreversible
Every row carries one of three outcomes. The outcome describes the strongest mechanism available against that failure, not how serious the failure is.
Prevented – it cannot be done irreversibly (three rows). The action is refused before it happens, by something the agent cannot switch off. A protected branch that only accepts a reviewed merge. A server-side block on force-push. Make production reachable only through a gate. There is nothing to recover from because nothing happened.
Recoverable – it happened, and you can get back (10 rows). The change landed and something exists that returns you to the prior state: a snapshot, a commit, a checkpoint, a down script, a tested restore. The cost is real – you are spending time on an incident rather than on the work – but the state comes back.
Irreversible – nothing gets you back (11 rows). Most have no mechanism at all – among them decisions nobody has written down and orchestration gaps where the work exists and nothing carries it across a handoff. Two others have a mechanism that only reduces the failure without closing it – bounding the writable surface, and a deny rule that refuses named command shapes but not every destructive one. And one has a mechanism that exists, requires no configuration, and has been shown on the field record to fail outright: an automatic checkpoint that can itself hold zero tracked files.
So the score is three prevented, 10 recoverable, 11 irreversible. More than a third of the ways a change escapes you have no way back at all.
Now the cross-cut. The irreversible rows are not spread evenly across the life of a change – they cluster at the end. Stage 5, restored, is two-thirds irreversible: two of its three rows have no mechanism. Stage 4, reversible, has none at all. In other words, the failures you can still do something about are the ones early in a change's life, when the change is small and nobody is panicking. The ones with no way back arrive at the moment you are already trying to recover.
A second cross-cut worth knowing: Severity and outcome do not track each other. Of the 12 S4 rows – the ones that cannot be undone at any price – three are prevented outright and five are recoverable. The most expensive failures on this register are mostly the ones with an answer. What is left over is not the expensive half. It is the undecided half.
Vocabulary: this register reads its three classes as prevented, recoverable and irreversible – the only one of the six that does. The other five read B and C as detected and survives. Class C here means unrecoverable, not undetectable. The class letter means the same thing everywhere – how complete the remedy is. [A note on vocabulary] on the hub covers the rest.
Interviews, registers and essays. Free.
Confirm the link in your inbox.
That didn't go through. Try again.
What to install
Start from a base install and add in this sequence. Settings first, then tools, then the decisions – which is also the order of increasing cost, and the reverse of the order most teams reach for.
Protect the branch that deploys, and block force-push on it. Two server-side settings, no tooling, and they close two S4 rows outright. Production becomes reachable only through a gate, and history stops being something a single command can overwrite. Cheapest items on this list by a wide margin.
Install a deny rule on destructive command shapes. Refuse the shape, not the intent. The point is that rm -rf never runs, rather than that somebody reviews it quickly afterwards.
Never open a session with permissions waived. Waive per action, and only inside a sandbox. A whole-session waiver is faster for exactly as long as nothing goes wrong, and it converts every other control on this list into a suggestion.
Bring every writable path under version control. Work that happened where Git cannot see it has no restore point, and stray working folders are where agents put things when a path was ambiguous.
Gate every action that leaves the machine. Outbound mail, payments, anything with a third party at the other end. Nothing inside the session can undo what has already left it.
Snapshot before every migration, and write the down script first. Two rituals rather than two tools. The snapshot is the restore point; the down script is what makes the change reversible rather than merely regrettable.
Read the diff, not the summary. The cheapest catch on the register, and the one most often skipped because the summary is well written.
Restore from backup on a schedule and time it. Not on an incident. A backup nobody has restored from is a claim, and this register grades mechanisms rather than claims. Alert on snapshot age while you are there, not on snapshot existence.
Then the four decisions. What a restore point must cover for each system. Who calls the rollback. How one action is waived without waiving the session. How partial work reaches disk before a handoff. These have no mechanism and never will. They take an afternoon and they are the difference between an incident and an outage.
Run the free trust-check tool to find out which of these you already have. Or start without it: protect the deploy branch this afternoon. It is one setting and it closes the most expensive row on this register.
REFERENCE
Every row on the recovery register
THIS PAGE IS A VIEW, NOT THE RECORD
Rendered from catalogue FF-2026.3+, last updated 2026-09-10. The source register is authoritative where this view differs. It carries no install state: whether a control is switched on anywhere is an assessment, not a catalogue entry. The source repository is private. Read the published register here, or use Copy as Markdown to save a copy.
This page assumes a developer's setup. The mechanisms below are written for an agent with hooks, a git repository, plain-text notes carrying a frontmatter schema, and a CI pipeline. The reference implementation is a markdown second-brain vault, which is where these rows were derived. If that is your stack, everything here is directly installable as written.
If your work sits in Microsoft 365, Google Workspace, Confluence or Notion, the failure is identical – a change you cannot get back is the same failure anywhere – but the mechanism is not. Document-library version history stands in for a commit, a retention policy for a backup, the recycle bin for a checkpoint, an approval flow for a confirm gate. A few rows are native to a repository and have no clean equivalent: blocking force-push, requiring a down script, and the parent-count check after a squash merge are the clearest of them.
Those mappings are not published here. Enterprise mapping is available on request.
How to read each row
Every row in every register in this framework is described the same five ways.
Stage – how far the change had travelled when the failure bit. Stages map to the life of a change, not to controls.
The failure – what goes wrong, and the sentence you actually hear when it does.
Severity – the cost of getting back, multiplied by how quietly the change goes unnoticed. A judgement, not a measurement.
S1 undone in seconds
S2 undone with effort
S3 undone only by rebuilding it by hand
S4 cannot be undone at any price
Outcome – the strongest mechanism available against the failure.
Prevented: the action is refused, by something the agent cannot reach.
Recoverable: it happened, and something returns you to the prior state.
Irreversible: nothing converts it.
The fix – the mechanism itself, and when it has to be in place. Note the trigger: ONCE means install it and forget it; AT EVERY MIGRATION and EVERY SESSION mean it is a ritual, and rituals decay.
Nine rows on this register carry a dated first-party incident – RL-1E is told in full above, and each is marked Seen here: Recorded in the row list below. The other 15 do not, or not that we know of. See "How this register works" for why a low first-party count reads differently here than on the Truth register.
Nothing on this page says whether a mechanism is switched on in your setup. That is a property of an installation, not of a failure. It is also why "there is a mechanism" and "you are covered" are different sentences, and why this register grades the first.
How to test your own setup
The register describes what is available. Whether any of it is running on your machine is the other question, and you answer it by working down the rows below against your own configuration. Use Copy as Markdown to save the published rows for your own notes.
Two things reading the rows will not tell you, and no tool would either. Whether your last restore actually worked – only a drill settles that. And who calls the rollback, which is a name, not a setting.
STAGE 1
Captured: is there a point to go back to?
None prevented, two recoverable, four irreversible. This is the stage where the cheapest possible answer exists and is most often absent
RL-1AS3IRREVERSIBLE
“It worked an hour and forty edits ago.”
No restore point exists between the last good state and now. It shows up at the moment you realise the last thing you are sure about was some distance back, and everything since is a single undifferentiated blob of edits.
THE FIX
There is no mechanism. An automatic checkpoint before each user prompt, with rewind, is built into Claude Code and requires no configuration – but the checkpoint itself can hold zero tracked files while edits are recorded against it, so /rewind has nothing to restore. A limit: it counts only edits made through the direct file-editing tools. Bash commands, most subagent edits, external changes and long-term history sit outside that boundary and still need Git. Regraded from prevented to irreversible on 2026-09-10, on FC-20 (Claude Code issue #14002): the checkpoint held zero tracked files while file modifications were tracked against it, so the built-in rewind had nothing to restore. A mechanism that fails outright when tested is never Class A.
RL-1BS4RECOVERABLE
“It edited a file the repo has never held.”
Work happened where version control cannot see it. It appears whenever an agent resolves an ambiguous path to somewhere outside the tree, or works in a scratch folder that was never initialised.
THE FIX
Keep every writable path under version control, and run an untracked-path audit over the working set.
RL-1CS4RECOVERABLE
“The migration ran; the old rows are gone.”
The data changed with no restore point. It appears the first time an agent is trusted with a schema or data change on anything that matters.
THE FIX
Snapshot or branch before any schema or data change, gated before the tool runs rather than remembered afterwards.
RL-1DS3IRREVERSIBLE
“The code came back; the data did not.”
The restore point caught the files and not the state. It appears at the worst possible moment, during a restore that everybody believed was going to work.
THE FIX
There is no mechanism. Decide, per system, what a restore point must include, and write it down. This is one of the four decisions on this register.
RL-1ES3IRREVERSIBLE
“Whose version is this?”
Two agents in a fan-out you started wrote the same tree at once. It appears in any parallel run where isolation was assumed rather than enforced.
THE FIX
Give each agent a writable surface beyond the other's reach. Git worktrees separate the default paths and remain mutually reachable on the same filesystem, so they reduce accidents without constraining an agent that goes looking. No adversarial boundary currently exists, which is why the row is irreversible rather than recoverable.
RL-1FS4IRREVERSIBLE
“Time Machine had a snapshot before and one after, nothing in between.”
The backup you trusted has a cadence too coarse to catch a live incident. It appears the day you go to restore and find the automatic snapshots skip straight from before the loss to after it, with the moment you need never captured.
THE FIX
No general mechanism. An operating-system or vendor snapshot cadence is fixed and not something an agent or a user tightens around a moment of risk. A deny hook that stashes a dirty tree before a destructive command (RL-2C) does give one subclass a restore point at the exact moment of risk, but only for a git-tracked file inside that gate. An untracked file, a non-git edit or an editor overwrite stays exactly as exposed.
STAGE 2
Contained: how far can one mistake reach?
RL-2AS4IRREVERSIBLE
“It tidied a folder you never named.”
The agent could write anywhere on the machine. It appears when a helpful cleanup reaches outside the project, and the blast radius turns out to have been the whole home directory all along.
THE FIX
Bound the writable surface before the turn starts, using an operating-system or host sandbox the agent cannot modify. Settings the agent can edit do not bound the operating-system principal it runs as, which is why this row sits at irreversible despite an obvious-looking control.
RL-2BS4IRREVERSIBLE
“It was faster with the prompts off.”
Permissions were waived for the whole session. It appears in hour three of a long task, and it is always a reasonable decision at the time.
THE FIX
No mechanism exists to waive one action without waiving the session. Until one does, the rule is the control: never open a session with permissions off, and if you must, do it inside a sandbox. The second of the four decisions.
RL-2CS4IRREVERSIBLE
“rm -rf, and it was already gone.”
A destructive command ran before you saw it. It appears once, memorably.
THE FIX
A deny hook that refuses five enumerated command shapes – rm, git reset --hard, git clean -f, git checkout -- and git restore – and only when the working tree is dirty. The enumeration is what keeps this at irreversible rather than prevented: it names the shapes it knows about, not every destructive command, so it reduces the failure without closing it.
RL-2DS4PREVENTED
“There was nothing in between.”
The change reached production directly. It appears in any setup where an agent holds a credential that talks to production, which is more setups than expected.
THE FIX
Make production reachable only through a gate. Deploy from a protected branch, and let the branch rule be the thing that refuses.
STAGE 3
Noticed: do you find out while it is still cheap?
None prevented, three recoverable, one irreversible. Nothing here is preventable by construction – noticing is not an action that can be refused – so the whole stage is about shortening the gap
RL-3AS2RECOVERABLE
“It said done, so it was done.”
Nobody read the diff before it was committed. It appears whenever the summary is good enough that reading the diff feels redundant, which is most of the time now.
THE FIX
A diff review gate on agent commits. Read the diff, not the summary. Lowest severity on the register and the highest-frequency catch.
RL-3BS4RECOVERABLE
“This has been wrong since July.”
The damage surfaced weeks later. It appears as a bug report that turns into an archaeology exercise.
THE FIX
At every late bug, add the regression test that would have failed at the time. The recovery here is not of the change but of the invariant, and the test is what stops the same silence recurring.
RL-3CS3RECOVERABLE
“The report says done; the file is not there.”
Success was reported on work never finished. It appears at the end of any task where the report is generated from intent rather than from the filesystem.
THE FIX
An artifact existence check at end of turn. Verify the artifact, not the report.
RL-3DS3IRREVERSIBLE
“The agent finished and the work went with it.”
Partial work stayed in context and was never written. It appears in long generative tasks and in subagent fan-outs, where a finished result held in memory and never saved is simply gone when the session ends.
THE FIX
No mechanism. Instruct every brief to write incrementally rather than once at the end. Partial work on disk is recoverable; a complete result in context is not. The first of the three orchestration gaps.
STAGE 4
Reversible: can the change be taken back?
RL-4AS2RECOVERABLE
“The next PR re-applied everything.”
The merge was squashed and the branch reused. It appears on the second pull request in a stack, as a conflict that makes no sense until you look at the parents.
THE FIX
Cut a fresh branch after a squash merge, and check the parent count before branching. A squash merge produces one parent, so the old branch's commits are not ancestors of the base and the next PR re-applies all of them.
RL-4BS4PREVENTED
“Force-pushed, and the old commits are gone.”
History was rewritten over the only copy. It appears when a rebase goes sideways and the fastest-looking exit is to overwrite.
THE FIX
Block force-push server-side on shared branches. A setting, not a habit.
RL-4CS3RECOVERABLE
“You can go forward or nowhere.”
The migration has no way back. It appears the moment a forward migration turns out to be wrong.
THE FIX
Refuse the migration in CI unless a down script is present. Write the reversal with the change, not after it.
RL-4DS3RECOVERABLE
“The move flattened the folders.”
Files were moved rather than copied, and the structure did not survive. It appears in bulk migrations, especially into mounted drives where a move behaves differently from the way it reads.
THE FIX
Copy, verify, then delete – gated so that a move is not available as a single step.
RL-4ES4PREVENTED
“The email has already gone.”
The side effect left the machine. It appears once an agent is given anything that talks to a third party, and it is the row that separates this register from every other one: nothing inside the session can undo it.
THE FIX
Hold every outbound and paid action behind a confirm gate. Prevention is the only class available, because there is no post-hoc control over something that has already arrived in somebody else's inbox.
STAGE 5
Restored: does undoing it put you back?
None prevented, one recoverable, two irreversible. **Two-thirds of this stage has no mechanism, and it is the stage you are standing in during an actual incident.**
RL-5AS3IRREVERSIBLE
“The rollback made it worse.”
The revert restored the code and broke the data. It appears during the recovery itself, which is the least convenient moment for a new problem.
THE FIX
No mechanism. Reverse code and data as one unit, and say at every release how the data comes back. The third of the four decisions.
RL-5BS4RECOVERABLE
“The backups existed; none of them worked.”
The restore was never once tested – including the runbook that exists and has never been run, where "in theory, yes" is the whole answer. It appears exactly once, during the incident that needed it.
THE FIX
A scheduled restore drill that must pass. Restore on a schedule, not on an incident, and time it.
RL-5DS3IRREVERSIBLE
“It started again from nothing.”
The retry re-derived work already paid for. It appears after any failed fan-out, when the orphaned children's completed output is discarded and the retry begins from a blank context.
THE FIX
No mechanism. Collect the orphan output before retrying, and feed it to the retry. The second orchestration gap, and the most expensive one in tokens.
ASSURANCE
Rehearsed: would you get back if you had to today?
None prevented, one recoverable, one irreversible. Not a sixth stage. These rows cut across all five above, and each asks whether the stage it applies to would actually hold under a real attempt
RL-6BS4RECOVERABLE
“The last good snapshot is from March.”
The restore point is older than you think. It appears when the snapshot job failed quietly some months ago and nothing was watching the job.
THE FIX
Alert on snapshot age, not on snapshot existence. Existence is what the dashboard shows; age is what decides whether the restore is worth anything.
RL-6CS3IRREVERSIBLE
“Everyone waited for someone else.”
Nobody knows who calls the rollback. It appears in the first 20 minutes of an incident.
THE FIX
No mechanism beyond a required field. Name the decider before the incident.
The fixes: dedupe view
Protected deploy branch
Makes production reachable only through a gate, so a change cannot go straight out.
Branch protection rules on any hosted Git
Server-side force-push block
Refuses history rewrites on shared branches.
Branch protection rules
Destructive-command deny hook
Refuses named command shapes before they run, rather than judging intent. Reduces RL-2C; does not close it – it enumerates five shapes and only fires on a dirty tree, so it is not every destructive command.
Pre-tool hooks · shell wrappers
Outbound confirm gate
Holds anything that leaves the machine behind a human yes.
Pre-tool hooks on mail, payment and third-party calls
Host or OS sandbox
Bounds the writable surface outside the agent's own settings.
Container, VM or OS-level sandbox. Reduces RL-2A; does not close it – agent-editable settings do not bound the OS principal.
Checkpoint and rewind
Restores the state before the last prompt. Reduces RL-1A; does not close it – the checkpoint itself can hold zero tracked files while edits are recorded against it, so /rewind sometimes has nothing to restore.
Claude Code session checkpoints. Covers direct file-tool edits only – not Bash, most subagent edits, or external changes.
Restore point at the moment of risk
Captures the at-risk tree exactly when a destructive step runs, closing the gap a fixed-cadence OS backup leaves. Reduces RL-1F; does not close it – only the git-tracked, RL-2C-gated subclass is covered, and no tool tightens the OS cadence for anything else.
The RL-2C deny hook's forced git stash · otherwise none
Everything under version control
Gives every writable path a restore point, plus an audit for paths that escaped.
Git, with an untracked-path audit over the working set
Pre-migration snapshot, and snapshot-age alerting
Takes the restore point before the change, and tells you when the newest one has gone stale.
Database snapshots or branches · a freshness check on age
Down script required in CI
Refuses a migration that has no way back.
Any CI that blocks the merge
Copy-and-verify in place of move
Removes the single-step move, so structure is checked before anything is deleted.
rsync -a then a content diff before delete
Diff review gate
Puts the actual diff in front of a person before the commit is accepted.
Git plus a review step that blocks
Regression test on the broken invariant
Adds the check at every late bug that would have failed at the time.
Any CI
Artifact existence check at end of turn
Verifies the file on disk rather than the report about it.
Stop hooks
Parent-count check before branching
Detects a squash merge, so the merged branch is not reused.
git rev-list --parents -n 1 in a pre-commit or branch script
Scheduled restore drill
Restores from backup on a calendar and records the time it took.
Cron plus a dated drill record
Written decisions
No tooling. Three fields somebody has to fill in: what a restore point covers, who calls the rollback, and how one action is waived without waiving the session.
A schema lint can require the field. It cannot supply the answer.
Incremental-write and orphan-collection instructions
Puts partial work on disk before a handoff, and feeds finished output into a retry.
No tooling. A line in every subagent brief.
GROUNDING
Grounding, per the project's claim discipline: these counts and outcomes come from one coding-agent harness and one production codebase, assessed row by row. The recorded instances come from this project's own corrections register. Install-state markers on this register are provisional and await machine verification. It is not a universal benchmark.
https://cdn.prod.website-files.com/6a7aa3a0f7f8fcde86d2b76b/6aa24b1ca89ee171751dc84a_false-floors-recovery-diagram.svgDiagram of the Recovery register: the 24 ways a change becomes irreversible, from the moment it is made to the moment nothing will bring it back, each row showing the symptom, what catches it, the outcome, and the action left to you. Every failure is also listed as text below this diagram.The whole Recovery register on one page: every failure, what catches it, and what is left to your judgement. Open it, zoom in to read the rows, then drag to move around.