Ledger
Opens after the Claim Ledger is built.
You confirm the extracted claims, values and which are computational. Edits are logged, and nothing downstream runs on a claim you rejected.
A language model reads the paper and the repository and suggests what to run. Everything that decides a verdict is ordinary code over recorded runs.
The model proposes claim extractions, mappings and fixes. Deterministic code parses metrics, computes bands and assigns verdicts. The model never outputs a final number or verdict.
Blocked is reported separately and never counted against the paper.
A gap inside the statistically justified band is reproduction.
A paper-level summary always shows coverage, blocked rate and evidence strength next to the reproduction rate.
Every sentence that asserts something links to a log line, file:line or table cell.
Reasoning runs on the GPU host. Experiments run only in the CPU sandbox, which has no network at run time.
Five swimlanes. Hover or focus an agent to see what it takes in, what it hands on, its tools and the failures it handles.
Solid arrows carry artifacts forward. Dashed loops are repair (environment fixes after a failed run) and counterfactual reruns (isolating the cause of a gap).
Uploaded code is untrusted. It runs only on the far side of a narrow, fixed-schema API, on a machine with no GPU and no network.
A claim reproduces when our mean lands inside a band around the reported value. The band is the widest of four things: δ = max(precision, author std, seed spread, platform floor × policy). Move the sliders and watch which term wins.
The chip shows the band test alone. A full audit may also change a verdict through counterfactual reruns and the human gates.
δ = max(precision = 0.050,author std = 0.000,seed spread = 0.248,platform floor × policy = 0.100) = 0.248
The widest term sets the band. Here that is our seed spread. The seed spread term is the t-based confidence half-width of our k runs (5 runs, t = 2.776, s = 0.200).
Every claim gets exactly one status, and may carry flags.
| Label | Meaning |
|---|---|
| Reproduced | The faithful run matches within the tolerance band, with no source-modifying fixes. |
| Partially reproduced | Direction or ranking holds but magnitude is off; or it matches only under the paper's stated settings (repo defaults differ); or a source fix was needed; or evidence is too thin (k = 1). |
| Not reproduced | A faithful run in a verified environment falls outside the band, and counterfactuals did not close the gap. |
| Blocked | Could not execute: missing artifact, dependency failure or over budget. Not counted against the paper. |
| Unverifiable | No code path can be mapped, or required details are missing (for example, metric averaging is unspecified). |
| Not computational | Theorem, human study, private data or a scale far beyond the CPU budget. Classified when the ledger is built. |
| Code ≠ Paper | FlagThe implementation differs from the described method; the audit shows a diff. |
| Reproducible but suspect | FlagThe number reproduces, but a methodological red flag was found (leakage, tuning on the test set). |
A claim that is not green can have three different causes: the environment broke, seed noise moved the number, or the paper and the code genuinely disagree. A plain pass/fail check cannot tell them apart. Here they are kept apart, using audit RL-0412.
Three optional checkpoints keep a person in charge of anything the model proposed.
Opens after the Claim Ledger is built.
You confirm the extracted claims, values and which are computational. Edits are logged, and nothing downstream runs on a claim you rejected.
Opens when a mapping has low confidence.
When the claim-to-code link rests on the model alone, or two scripts could produce the same table, you pick the right one before anything is run.
Opens when a fix would change source code.
Environment-only fixes (pins, path remaps) need no approval. A source-modifying edit waits for you. Approving a source edit caps affected verdicts at Partially reproduced.
| Threat | Control |
|---|---|
| Malicious install scripts (setup.py, post-install hooks) | Dependencies build inside the sandbox image only. No network at run time, non-root user, read-only root filesystem, nothing from the host mounted. |
| Sandbox escape | gVisor user-space kernel on top of Docker, seccomp profile, dropped capabilities, no privileged containers. The GPU host is a different machine. |
| Exfiltration of data or secrets | No outbound network at run time and no secrets in the sandbox. The only way out is the narrow exec API, which returns fixed-schema run records. |
| Fork bombs and runaway jobs | cgroup limits on processes, CPU and memory, plus wall-clock caps per run. A killed run is Blocked, never counted against the paper. |
| Prompt injection from the paper or repo | Model output is JSON-schema constrained and verdicts come from code, so injected text cannot set a verdict. The Integrity Shield also scans the paper and repo for hidden instructions (white-on-white text, invisible characters, comment payloads) and reports them as findings. |