Docs are under construction. Content may be incomplete or change.

Organize a Reproducible Workspace

Page type: Task guide
On this page

Make a computational project understandable without relying on the original browser session or the author’s memory.

reference/
  run.js
  source-notes.md
input/
  structure.extxyz
output/
  summary.json
  results.csv
  figure.svg
  final.extxyz
debug/
  run-log.jsonl
analysis.md

Use cache/ only for validated resumable stages; a cache is not a substitute for final outputs or provenance.

Procedure

  1. Put executable method logic in reference/run.js.
  2. Preserve imported/generated starting structures under input/ and record external identifiers.
  3. Write machine-readable headline values to output/summary.json.
  4. Write auditable intermediate/result tables to CSV or JSON.
  5. Write visualizations from those same tables, not from separate hard-coded values.
  6. Write analysis.md with question, method, validation, result, limitations, and links.
  7. Export a workspace ZIP after a successful checked run.

Artifact responsibilities

PathMust answer
reference/run.jsExactly what was executed?
input/What structures/data entered and where did they come from?
output/summary.jsonWhat are the headline values and quality gates?
output/*.csvCan a reviewer rederive the result?
output/*.svg / Plotly JSONCan the result be inspected visually?
analysis.mdWhat does the result support and not support?
debug/What happened when a stage failed or was retried?

Verify reproducibility

Open the exported archive in a separate workspace/profile when practical. Confirm all referenced files exist, inputs are independent of hidden state, model identifiers/settings are explicit, and failure gates prevent an incomplete run from producing success claims.

Troubleshooting

SymptomCauseFix
Report cites missing fileOutput path changedGenerate links from stable paths and verify archive
Result cannot be rederivedOnly headline number savedPreserve raw energies/terms and formula
Rerun depends on current tabScript uses implicit active stateRead explicit input paths
Cache hides failed workCache acceptance is weakStore version/settings/convergence metadata
Archive is enormousRaw trajectories/caches dominateUse .takoignore for live share; retain deliberate durable data