What
Validate config.yaml at startup and print clear error messages for common misconfigurations.
Why
Right now, a typo in config.yaml (wrong step type, missing field, invalid schedule format) causes a runtime panic or silent failure. A validation pass at startup would catch these before the engine starts.
Scope
- Add a
validate() function that runs before the pipeline scheduler starts
- Check: all pipelines have at least one step, step types are valid (
deterministic/ai/approval), referenced skills exist in skills/, schedule format is valid, budget values are positive integers
- Print human-readable errors: "Pipeline 'email-digest', step 2: unknown type 'ia' — did you mean 'ai'?"
- Exit with code 1 on validation failure
Helpful context
config.yaml structure is documented in the README
- Keep it simple — no need for a schema library, just Go struct checks
What
Validate
config.yamlat startup and print clear error messages for common misconfigurations.Why
Right now, a typo in config.yaml (wrong step type, missing field, invalid schedule format) causes a runtime panic or silent failure. A validation pass at startup would catch these before the engine starts.
Scope
validate()function that runs before the pipeline scheduler startsdeterministic/ai/approval), referenced skills exist inskills/, schedule format is valid, budget values are positive integersHelpful context
config.yamlstructure is documented in the README