Artifacts
culsma run writes staged JSON artifacts into the output directory.
| File | Producer | Meaning |
|---|---|---|
summary.json | CLI summary | Counts and run status. |
ast.json | parser/frontend | Parsed source program. |
ir.json | compiler | Canonical IR. |
validate.json | semantic validator | Semantic diagnostics. |
typecheck.json | typechecker | Type and unit diagnostics. |
plan.json | plan lowering | Executable plan. |
run.json | runtime | Runtime state, events, diagnostics, and user result. |
output.json | CLI run output | Machine-readable returns plus derived report. |
result.json | report projection | Derived lab_report_v1 report summary. |
The exact content of these files is intended for inspection and reproducibility. Source language authoring uses .culs files, not generated IR or plan JSON.
output.json uses culsma_run_output_v1. Its top-level returns field is the protocol return value surface; its report field is the derived lab_report_v1 execution report.
Example Return Output
For a protocol that returns a prepared acquisition sample, the derived report and return surface are separate:
| Field | Value |
|---|---|
| headline | Experiment completed successfully with no runtime errors. |
| final returned container | AcquisitionSample |
| final returned volume | 1000.0uL |
| primary component | CELLS1 |
The terminal and output.json return the protocol output separately:
text
return:
AcquisitionSample (tube)
volume: 1000 uL
mass: 1000 mgThe result.json report is a derived projection over runtime state and events. It is not a replacement for the source protocol, the protocol return, or the execution plan.
