Ask a lab to regenerate a figure from a paper they published two years ago and watch what happens. The script is on a former student's laptop. The data file has three near-identical versions. Nobody remembers which preprocessing was final. Reproducibility fails not from bad intent but from missing plumbing.
Provenance is attached, not archived
In Neutropic, every artifact — figure, table, report — carries its provenance with it:
- The exact code that produced it, runnable again in one click.
- The data snapshot it was computed from, hashed so drift is detected.
- The sources behind every literature-derived claim, cited inline.
There is no separate "methods folder" to maintain, because the artifact is the record. Open any figure and press the { } button: the generating code, the dataset it read and the seed are right there.

The pipeline is visible while it runs
Reproducibility starts before the artifact exists. Each analysis step — loading the dataset, running code in the sandbox, writing the report — is shown in the chat as it happens, with the code expandable in place, so what the agent did is never a matter of reconstruction.

Annotate and revise without losing the chain
Reviewers and collaborators can annotate any artifact and request changes. A revision reruns the pipeline from the annotated point, producing a new version that remembers its parent — so "final_v3_REAL" filenames disappear, and the history of a result stays inspectable. Manuscripts inherit the same chain: every statistic in the draft points at the analysis that produced it, and the reference list is rebuilt from the session's stored sources.
![The manuscript's reference list, rebuilt from the session's sources so it matches exactly the [n] citations in the text.](/use-cases/06-references.png)
Built for how verification actually happens
When a reviewer questions a result, you don't reconstruct the analysis — you open it. When a collaborator joins, they don't ask which script made Figure 2 — they click it.
Reproducibility shouldn't be a virtue you practice. It should be a property of the tool.


