Provenance CSV¶
Summarizes SPEC.md §10; SPEC.md is authoritative.
The everyday way to see where a number came from is the PDF's provenance appendix (see LaTeX interface). The CSV is the same information as a table, for when there is no draft PDF: a final (double-blind) submission's supplementary material, artifact evaluation, a spreadsheet, or a script.
vouch export --csv PATH writes it on demand. Setting provenance_csv under
[[paper]] makes every build write it too; it is then committed and checked
for out-of-sync like the other generated files. Its cited_at column holds
file:line sites, so a paper edit that shifts citations to other lines puts it
out of sync too: vouch check warns that the citations moved and no value
changed, and vouch build brings the column up to date.
It has one row per key the paper cites, in reading order. Figures cited
through \includegraphics get rows too. It is deterministic, so a committed
copy's diff is readable.
| Column | Content |
|---|---|
key |
the cited key |
kind |
value · claim · derived · param · table-cell · table · figure · pending |
rendered |
every rendered form cited, joined with \| |
raw_value |
the raw value (a JSON number, or JSON for Stat and tuple); for a claim, true/false plus the values it read |
fmt, unit, description, better |
as recorded |
experiment |
the run id, or derive:vouch_values.py::<function> for derived values |
script |
the run's entry script, or the values module |
call_site |
file:line of the record() call or the definition |
command |
the exact command that produced the run |
params |
the run's parameters, as JSON |
inputs |
input paths with short hashes; for derived values, the keys read |
git_commit, git_dirty |
at record time |
recorded_at, duration_s |
from the run |
freshness |
a freshness state (see Freshness) |
change_status |
acked · changed · suspicious · hidden · new |
previous_value, acked_at |
from the baseline |
cited_at |
every tex file:line, joined with ; |
vouch export --csv PATH [--all] [--json] writes the same table on demand.
--all also includes keys that are recorded but not cited. There is exactly
one CSV per paper, covering every cited key — no per-key files.