A recording made with --ledger local writes only the ignored local ledger, changes no tracked file and moves no verdict
majordomus evidence record --ledger local merges its executions into
declared status○declared status: guaranteedDeclared deterministic and blocking, implemented, and naming the behavioural test that is to prove it. Whether a recorded run supports it is the evidence verdict, shown beside it.
recorded evidence○recorded evidence: not runDeclared guaranteed, and not supported by a recorded run: the test is named, and no passing run of the current inputs is recorded. how evidence is recorded
The local ledger lives under .ai/local/evidence/, which the repository ignores; the tracked ledger stays the only authority a verdict is derived from.
majordomus evidence record --ledger local merges its executions into
.ai/local/evidence/ledger.json, which the repository ignores, instead of the tracked ledger.
It changes no tracked file, so the checkout stays as it was, and it moves no verdict: every
claim reads what the tracked ledger says, exactly as before the recording. The default stays
the tracked ledger.
ledger::LedgerTarget in apps/majordomus-cli/src/evidence/ledger.rs names the two ledgers,
and Ledger::load_from and Ledger::save_to read and write the one a recording names; a bad
local ledger is refused in its own name. Verdicts are derived from the tracked ledger only,
so nothing written to the local one reaches them.
A person who runs the suite locally to see where they stand should not have to change a
tracked file, and an unreviewed local run must not move a verdict the repository states. ADR
0087 (proposed), decision 1: a verdict is derived from the tracked ledger only.