Launcher Metadata Folder
Overview
Each experiment session creates a launcher_metadata directory inside the session output folder containing small, machine-readable JSON files for downstream tools.
Current File Set
processed_parameters.json – final merged parameters (rig config + param file + runtime prompts).
end_state.json – flattened final state (no nested
session_info) with core identifiers.debug_state.json – only on crash; contains
crash_info+launcher_statesnapshot.
The design uses a minimal, flattened set of files for clarity and easy parsing.
Structure Example
output_session_folder/
├── experiment.log
├── session.json # Generated post-acquisition (optional)
├── launcher_metadata/
│ ├── processed_parameters.json
│ ├── end_state.json
│ └── debug_state.json # Only present if a crash occurred
└── ... other data files
Creation Timeline
At initialization:
processed_parameters.jsonwritten after merges & prompts.On normal completion:
end_state.jsonsaved.On unexpected exception:
debug_state.jsonwritten before shutdown.
Best Practices
Treat files as immutable audit artifacts; do not edit manually.
Use
processed_parameters.jsonas the canonical input for post-acquisition tools.Treat
end_state.jsonas a stable artifact.
Downstream Consumption
The session_creator tool consumes both processed_parameters.json and end_state.json. Missing optional fields are handled gracefully with warnings.
Reference Implementation
See BaseLauncher.save_end_state and BaseLauncher.save_debug_state in src/openscope_experimental_launcher/launchers/base_launcher.py.