# Correcting the record: supersede, withdraw, reaffirm, decide

Nothing is deleted. A later claim replaces an earlier one, and `resume --text --all` still lists what was replaced,
each statement showing which Session wrote it (`from Session k`).

```bash
memprove checkpoint create --fact "<new text>" --evidence r1 --supersedes 3 --next "<next>"   # #3 was wrong or is done
memprove checkpoint create --next "<next>" --withdraw 4 --withdraw-reason "<why>"             # #4 no longer holds, nothing replaces it
memprove checkpoint create --reaffirm 1 --evidence r2 --next "<next>"                          # #1 holds again on a new run
memprove checkpoint create --reaffirm-all --next "<next>"                                      # every stale fact, on the latest runs
memprove decide "<decision>" --rationale "<why>" --supersedes 5                                 # a Decision, no run needed
```

- `--supersedes <CLAIM>` takes a number from `resume --text` (`3` or `#3`) or a claim ID; a fact that completes an
  open item supersedes it.
- `--withdraw <CLAIM>` needs `--withdraw-reason`; `--withdraw-session <K>` withdraws every active statement of Session
  `k`.
- `--reaffirm <N>` reuses the original text as it is, on new Evidence (`--evidence` after it). It reuses the original
  text as it is: to change the wording, record a new `--fact` with `--supersedes <CLAIM>` instead. Only an active fact
  can be reaffirmed.
- `--reaffirm-all` reaffirms, in one Checkpoint, every fact that stands, is not `verified`, and that the command names
  nowhere else. Without `--evidence` after it, a fact is reaffirmed only on the same commands its Evidence ran: the
  latest run of each (the same argv) among the runs of the current repository state must have passed, and the fact
  then cites those runs; after a commit or an edit with no run since, every fact is skipped. A run answers only for
  Evidence of its own kind (a test run for a test run, a command run for a command run). With an explicit
  `--workspace` of another Workspace the runs of this context are not used, and the reason says they are of another
  Workspace. With `--evidence` after it, every such fact cites that Evidence, as one `--reaffirm <N> --evidence ...`
  per fact would; a fact whose cited runs are not runs of the commands its Evidence ran is named in a warning on
  standard error before the request is sent. Standard error then names the facts the request would have reaffirmed and
  skipped, each skip with its reason, and each reaffirmed fact's actual verdict and reasons, read from the Task
  Capsule after the write. When no fact is reaffirmed, nothing is sent unless `--next` differs from the next action in
  force.
- `decide` records a Decision with its rationale; it is in force until a later claim supersedes it or a Checkpoint
  withdraws it, and its verdict says whether the Evidence it cites still holds.

Statement texts, rationales and withdrawal reasons are at most 4096 characters; a text that holds a token-shaped
string (43 characters of `A-Za-z0-9_-` with an upper-case letter, a lower-case letter and a digit, or the digest of a
token this daemon issued) is refused before anything is written.
