ADR-006: Preset TOML Format
Date: March 2026
Status: Accepted
Context
Pipeline presets needed configuration format. Avoid external dependencies (no YAML, JSON, etc.).
Decision
TOML format with validation:
Locations (in order of priority):
./presets.toml (local override)
~/.config/mainline/presets.toml (user config)
engine/presets.toml (built-in)
PresetLoader validates structure and signal paths (detects circular deps).
Consequences
- Positive: No external dependencies (TOML built into Python 3.11+)
- Positive: Human-readable, easy to edit
- Positive: Validation prevents runtime errors
- Negative: Must document TOML schema
References
engine/pipeline/preset_loader.py: Loading and validation
engine/pipeline/presets.py: Preset dataclasses
engine/presets.toml: Built-in presets