Skip to content

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).

Terminal window
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.

From docs/guide.md at 2625064cbf0a · Markdown

memprove About Roadmap llms.txt GitHub 中文 apache-2.0 · no cookies, no tracking