Skip to content

Add YAML config validation on startup #2

@renezander030

Description

@renezander030

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions