Record it. Package it. Prove it.

What ran?

Use Codex or Claude Code as usual. Whatran records what the agent actually ran as a result-centric graph, then packages the final path into a repository that reruns, checks, and explains itself.

research-repo/ observed · replayed

The record stays complete. The package stays minimal.

stage one · record
01analysis/events.jsonlevery command, append-only
02analysis/graph.jsonartifacts · runs · claims
03analysis/index.htmlinteractive viewer
stage two · package
04whatran.json · run.shfinal path, one command
05results/ · check.pyreferences, comparator
4 of 4 runs observed · 3 of 3 packaged runs replayedGraded evidence, not a label
✓

Two stages, one record

Freedom while working. Evidence when done.

Stage one records every command the agent runs, keeps the branches it abandoned, and grades each step as observed or merely declared. Stage two packages only the path that supports the reported result and gives it an executable boundary. A passed replay flows back into the graph.

01

Record

Hooks capture each command with its exit status and the files it changed, hashed. The agent names the scientific steps; it cannot mint the evidence.

02

Compile

The ledger becomes a graph of artifacts, runs and claims. The viewer shows the result path first; rejected branches and the full execution log are one toggle away.

03

Package

Export the result path as a manifest, turn its steps into ordered scripts, and commit the reference results with one canonical rerun command.

04

Check and show

A fresh CI clone moves the references aside, reruns, compares, and publishes the page. Only then are the packaged runs marked replay-verified.

Generated evidence

See both stages on real runs.

One showcase is a recorded exploration with a rejected parameter branch. The other is a verified two-path analysis that starts with one dataset, evaluates a linear and a nonlinear model, and publishes the comparison with every final script.

Record everything, package the method

Keep what a reviewer needs and what a reproducer needs.

The deliverable is a normal repository, not a proprietary capsule. A human can inspect it; another coding agent can take it over from any node.

The record keeps

  • Every command, its exit status, and the files it changed
  • SHA-256 of inputs, code and outputs, checked for integrity later
  • Failed attempts and rejected branches, marked as such
  • Observed versus declared, per run
  • Claims and the computations they rest on

The package keeps

  • Declared raw inputs and environment
  • Final result-affecting scripts in order
  • Parameters, branches, and comparison rules
  • Reference results and generated figures
  • Rerun instructions and verification evidence

Chat history, debugging commands and discarded branches never enter the package. They stay in the record, where selective reporting can be seen.

Install once

Keep your coding agent.

Whatran is one plugin with two skills, distributed for Codex and Claude Code. It does not replace either agent or add another analysis platform, and it records nothing in projects you have not initialised.

Codex

codex plugin marketplace add qchiujunhao/whatran --ref main
codex plugin add whatran@whatran

Claude Code

claude plugin marketplace add qchiujunhao/whatran
claude plugin install whatran@whatran

Then analyse as usual. The agent records as it goes and packages the final path when the findings are reported. You only ever need two commands: whatran.py open to see the graph and whatran.py check to rerun it.