Review history is stored outside the repository under the XDG state directory:
$XDG_STATE_HOME/dakar/<repo-owner>/<repo-name>/<branch-slug>/reviews.toml
When XDG_STATE_HOME is unset, Dakar uses:
~/.local/state/dakar/<repo-owner>/<repo-name>/<branch-slug>/reviews.toml
The CLI records the reviewed head commit in-process, after the workflow returns
a completed result, stamping recorded.recordedBy: "dakar-review". A later run
on the same branch reviews only commits after the last recorded head. If the
current HEAD has already been recorded, the CLI's host-side prepare step
detects this before invoking ODW at all: it prints the skip result
(skipped: true) directly and never launches a model call.
To isolate a trial run from normal review history, pass stateRoot:
dakar-review \
--repo-root "$PWD" \
--base origin/main \
--state-root /tmp/dakar-review-state
The equivalent direct ODW invocation, once a matching prepared object has
been produced by scripts/review-state.mjs prepare, is:
odw run workflows/dakar-review.js --source . --wait --timeout 3600 \
--args '{"config":"examples/df12-code-review.yaml","base":"origin/main",
"repoRoot":"/path/to/dakar","stateRoot":"/tmp/dakar-review-state",
"prepared":{"...":"see prepare output"}}'