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

forecasts

cell_001/forecasts.csv

metrics

summary/metrics_all_cells.csv

ranking

summary/ranking.csv

tests

tests_summary.json

importance

importance_summary.json

feature_metadata

cell_001/feature_metadata.json

clean_panel

cell_001/clean_panel.csv

raw_panel

cell_001/raw_panel.csv

diagnostics_l1_5 through diagnostics_l4_5

diagnostics/<sink>.json

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.csv

  • prediction_row_schema.json

  • metrics.json

  • comparison_summary.json

  • evaluation_summary.json

  • stat_test_*.json

  • importance_*.json

  • artifact_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.