Running the Pipeline

This page covers day-to-day execution patterns using the CLI.

Commands overview

The CLI provides four main commands:

  • validate-config: validate YAML and run pre-flight checks (including required env vars)

  • list-inputs: show which CSV files will be processed

  • run: execute the pipeline (one output directory per CSV)

  • normalize-assets: copy standard assets into existing outputs and optionally rewrite index.html from run.json

Validate configuration

miyabi-qualys-ai-triage-pack validate-config --config config/config.yaml

List inputs

miyabi-qualys-ai-triage-pack list-inputs --config config/config.yaml

If this prints “No CSV files found”, confirm:

  • input.input_dir points to the correct folder

  • input.file_glob matches your files (for example *.csv)

Run for all inputs

circle-info

Expected results:

  • output/<csv_name>/index.html

  • output/<csv_name>/assets/

  • Optional: output/<csv_name>/run.json (when notifications.include_run_metadata: true)

  • output/run_summary.json (summary across processed files)

Automatic mode (repo root entrypoint)

If you want the simplest “just run everything” mode (no CLI), run this from the repository root:

Behavior:

  • Loads configuration from config/config.yaml (or config/config.yml).

  • Finds all input files under input.input_dir matching input.file_glob.

  • Processes each CSV and generates output/<csv_name>/... just like the CLI.

Run for a single file

Overrides (without editing config)

The run command supports common overrides:

  • --input-dir <path>: override input.input_dir

  • --glob "<pattern>": override input.file_glob (example: "*.csv")

  • --output-dir <path>: override output.output_dir

  • --top-x <n>: override selection.top_x

Example:

Dry-run (ingestion only)

Dry-run executes parsing/aggregation and writes candidate artifacts without calling OpenAI:

circle-info

Expected results:

  • output/<csv_name>/candidates.json

  • No LLM-generated sections

Failure handling modes

  • Default: continues processing multiple inputs even if one fails (--continue-on-error)

  • Fail fast: stops on first error

Normalize existing outputs (assets + optional HTML rewrite)

If you already generated outputs and want to re-copy assets (visual standardization) and optionally rewrite index.html from run.json:

To normalize assets without rewriting HTML:

Why this exists:

  • Re-copying assets helps keep old outputs visually consistent with updated styling.

  • Rewriting index.html from run.json is a best-effort way to rebuild HTML using the current template/escaping rules.

Where to look after a run

  • Per-file artifacts: output/<csv_name>/...

  • Run summary: output/run_summary.json

See also:

Last updated