log-to-evidence
Skill15 starsChanged 10 days agoMITView on GitHub
Turn raw logs into EVIDENCE.md rows and LaTeX/Markdown tables so that every number in the paper traces to a command, a log, a commit and a machine. Use after every benchmark or estimation campaign, and before every paper build, where `crbench audit-tex` must pass.
In this repository29 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- abstract-craftSkill
- anonymize-checkSkill
- artifact-packSkill
- baseline-pinSkill
- bench-protocolSkill
- bib-verifySkill
- camera-readySkill
- eprint-searchSkill
- experiments-writingSkill
- falsifySkill
- figure-harvestSkill
- idea-mining-loopSkill
- lean-bridgeSkill
- lit-matrixSkill
- mock-reviewSkill
- paper-figuresSkill
- paper-playbookSkill
- param-estimationSkill
- phase-gateSkill
- polish-writingSkill
- reading-notesSkill
- rebuttalSkill
- related-work-writingSkill
- sage-checkSkill
- technique-overviewSkill
- textbook-indexSkill
- venue-calibrationSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
Keep the recomputation script under scripts/ so it can run again.
- Distinctive: line 40
Audit: before every paper build:
- Distinctive: line 67
"Best over the sweep": must really be the best, for both arms.
- Distinctive: line 72
Contaminated sessions: If a later same-session rerun contradicts a row, withdraw the row visibly, with a reason.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
log-to-evidence
Rule
No number enters the paper without an EVIDENCE row. Each row records the number
as printed (after rounding), the exact command, the log path, the commit, the machine,
the date, and runs/statistic. Derived numbers (ratios, sums, percentages) get their own
row with derived: <formula over IDs>.
Procedure
- Parse the logs with a registered parser:
crbench parse results/x/new/r003.log --parser criterion, orcrbench stats results/x/run.json --baseline base. For a new log format, register a parser. A regex plus a test is enough: seelib/bench/crbench/parsers.py,regex_parser. - Recompute the number from the raw logs. Do not copy it from an earlier summary.
Keep the recomputation script under
scripts/so it can run again. - Decide the printed form: significant digits, unit, rounding rule. Use the same
rule everywhere. Document whether you round or ceil: a
round()vsceil()mismatch between two tables produces off-by-one discrepancies that reviewers catch. - Add the row:
crbench evidence add EVIDENCE.md --printed '0.61 s' \ --command 'crbench run -a base=... -a new=... -n 7 --threads 1' \ --log results/2026-01-01-toy-ab/run.json --runs '7 / median' --target ./src crbench evidence add EVIDENCE.md --printed '2.02×' --command 'derived: E1/E2' --log ---commit autorecords the target repository's SHA and a+dirtyflag;--machine autorecords a host hash. - Generate the table from the same
run.json, with evidence IDs:crbench table results/x/run.json --latex --evidence new=E2 new:speedup=E3. In LaTeX each cell carries\evid{E3}. Add\providecommand{\evid}[1]{}to the preamble so the markers are invisible in print, or render them as superscripts in drafts. - Audit before every paper build:
Fix everycrbench evidence check EVIDENCE.md --root . # rows complete, logs exist crbench audit-tex paper/main.tex EVIDENCE.md # each measurement-like number traceduntracedandmismatchfinding. Use% crbench:ignoreonly for numbers that are not claims (a year, a section count), and prefer rewording.
Row examples (synthetic)
| ID | number/fact as printed in paper | command | log path | commit | machine | date | runs/median |
|---|---|---|---|---|---|---|---|
| E1 | 1.23 s | crbench run -a base='./b/bench --set toy' ... -n 7 --threads 1 | results/2026-01-01-toy-ab/run.json | 1a2b3c4d5e6f | host:3f9a0c1d2e4b | 2026-01-01 | 7 / median |
| E2 | 0.61 s | (same run, arm new) | results/2026-01-01-toy-ab/run.json | 1a2b3c4d5e6f | host:3f9a0c1d2e4b | 2026-01-01 | 7 / median |
| E3 | 2.02× | derived: E1/E2 (CI [1.95, 2.08], paired bootstrap) | - | - | - | 2026-01-01 | - |
| E4 | ~~2.40×~~ | withdrawn: not reproducible in a same-session rerun (see E3) | results/2025-12-30-toy-ab/run.json | ... | ... | 2026-01-01 | - |
| E5 | 2^128.4 | sage -python est.py toy128 (MATZOV, estimator commit abcdef0) | results/est/toy128.log | abcdef0 | host:3f9a0c1d2e4b | 2026-01-01 | 1 |
| E6 | 7 results, zero sorry | lake build && scripts_check_no_sorry.sh | results/lean/build.log | 7a8b9c0 | host:3f9a0c1d2e4b | 2026-01-01 | 1 |Pitfalls
- Mixed-configuration rows. Each table row must come from one configuration. A best-time column and a best-op-count column taken from different sweep points must not share a row. If you report both "fastest" and "fewest operations", use two sentences and two rows.
- "Best over the sweep" must really be the best, for both arms. Recompute it.
- Consistency. The same claim printed in the abstract, introduction, evaluation and appendix must cite the same ID.
- Negative results (timeouts, noise-budget failures, unsupported configurations) also get rows. The paper may cite them as boundaries.
- Contaminated sessions. If a later same-session rerun contradicts a row, withdraw the row visibly, with a reason. Do not overwrite it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

