The 8-file bundle
summary.json
metrics.json
The full stats block from the backtest kernel. See Backtest system for the field reference.
equity_curve.json
positions.json
Per-bar weights keyed by date, then by symbol. Used by the web UI to render position charts.
data_manifest.json
environment_lock.json
run_trace.json
The complete ordered list of TraceEvent records for the run. See Trace events.
report.html
A self-contained HTML file with embedded charts (equity curve, drawdown, positions) and the metrics table. Openable in any browser; no external dependencies.
Content hashing
Every artifact file is hashed with SHA-256 over its exact byte content. The hashes are recorded insummary.json (and in the run record). This gives you two guarantees:
- Tamper detection. If a file is modified after the run, its hash no longer matches.
- Reproducibility verification. Re-run the same spec; if the new
result_hashmatches the old one, the run is bit-identical.
Storage backends
Ithaca supports two artifact storage backends, selected by environment:Set
DOOMBERG_ARTIFACT_DIR in production to a persistent, backed-up volume. Artifacts are written as individual files under <dir>/<run_id>/<filename>.REST API
Example: list artifacts
Example: fetch a bundle
report.html is returned as a string; the rest are parsed JSON.
Related
- Backtest system — how the bundle is produced
- StrategySpec — the input to a backtest
- Trace events — the
run_trace.jsoncontract - Artifacts MCP tool — retrieving artifacts via MCP