Artifacts And Manifest#
Artifacts are durable outputs of an experiment. The manifest is the audit trail.
This page distinguishes current core L8 artifacts from legacy experiment artifacts.
Core L8 Artifacts#
macroforecast.core.runtime.execute_minimal_forecast writes L8 artifacts when the recipe includes 8_output.
Baseline layout:
output_directory/
manifest.json or manifest.jsonl
recipe.json
summary/
metrics_all_cells.csv
ranking.csv
cell_001/
forecasts.csv
diagnostics/
*_diagnostic_v1.json
tests_summary.json
importance_summary.json
The exact files depend on saved_objects.
Saved object |
File currently written |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
diagnostics_all expands to the four diagnostic saved objects.
L8 Manifest#
The core L8 manifest records:
recipe hash,
package/runtime version marker,
Python/runtime environment fields,
dependency lockfile paths when present,
saved objects,
upstream sink inventory,
exported files.
L8ArtifactsArtifact also exposes output_directory, exported_files, artifact_count, and upstream_hashes in memory.
Legacy Experiment Artifacts#
The older experiment engine can write files such as:
predictions.csvprediction_row_schema.jsonmetrics.jsoncomparison_summary.jsonevaluation_summary.jsonstat_test_*.jsonimportance_*.jsonartifact_manifest.json
These remain documented for backward compatibility, but new L0-L8 layer-contract recipes should use the core L8 output contract above.
Design Requirements#
every run records resolved defaults where possible,
every output can be read without rerunning the experiment,
diagnostic outputs are non-blocking,
advanced render/export formats must not be reported as materialized until the corresponding runtime writer exists.