Skip to content
EN · PT

anchors keep-evidence

Declare that a change proves nothing new, keeping the files’ evidence fresh.

Moves the evidence of each file to its current content — the tests that proved it, the
stamps and judgments of its edges, what other tests recorded of it — because the change
does not touch what was proven. Anchors cannot tell a trace annotation, a region marker or
a comment from a behaviour change in every language; whoever made the change can, and says
why. The reason is required, and recorded on the file's node.
anchors keep-evidence a.spec.md b.spec.md --reason "only @realizes added to the rule lines"
anchors keep-evidence src/Screen.tsx --reason "#region markers around the scenarios"
anchors keep-evidence src/pay.ts --lines --reason "a comment on a line of its own was reworded"
Coverage and mutation name lines by number, and an edit that added or removed lines moved
them: they are kept only with --lines, when no line moved. When the map was rebuilt after
the change and no longer holds the evidence, it is taken from the map at HEAD.
The `@contract` stamps of the doubles pointing at the file are refreshed too, and listed.
What proves nothing by itself needs no declaration: the map carries the evidence across a
header's date, a spec's navigation or change history, and the chain's flags (`@dep`,
`@used-by`, `@navigates`). A spec whose rule changed and nothing else keeps its other
proofs, with that rule's scenarios stale; this command keeps those too.
Do not use it for a change in behaviour: the evidence is what stops that change from passing
unproven.
Terminal window
anchors keep-evidence <file>... [flags]
Flag Default What it does
--lines also keep coverage and mutation: no line moved
--reason why the change proves nothing new (required)
--root . project root

Commands of the same family — what tells each apart:

Command What it does
anchors map Operate the dependency map (anchors.graph.yaml)
anchors ingest Ingest test signals (JUnit/lcov) the project generated and bind them to the map
anchors test Run the test suites declared in anchors.yaml and ingest the reports
anchors mutation Run the mutation suites declared in anchors.yaml and ingest the reports
anchors keep-evidence Declare that a change proves nothing new, keeping the files’ evidence fresh
anchors stamp Write the missing @contract stamps on test doubles (never rewrites an existing one)
anchors recode Rename an identity code and propagate it across the project
anchors renumber Renumber the revisions this branch added when the base already took their number
anchors generated-paths The paths of DERIVED files — whoever conflicts in them rebuilds
anchors merge-progress Progress merge driver: unites both sides, [x] beats [ ]