Skip to content

Run via CLI

Run pipelines, validate configs/manifests, and inspect runs from the honestroles CLI.

When to use

Use this for local runs, CI jobs, and operational scripts.

Prerequisites

  • HonestRoles installed
  • A sample parquet input

Steps

  1. Optional: ingest from a public ATS source to create parquet input:
$ honestroles ingest sync --source greenhouse --source-ref stripe --format table
$ honestroles ingest validate --source greenhouse --source-ref stripe --quality-policy ingest_quality.toml --strict-quality --format table

Optional batch ingestion:

$ honestroles ingest sync-all --manifest ingest.toml --format table
  1. Scaffold starter config files from a sample parquet:
$ honestroles init --input-parquet data/jobs.parquet --pipeline-config pipeline.toml --plugins-manifest plugins.toml
  1. Validate environment and schema readiness:
$ honestroles doctor --pipeline-config pipeline.toml --plugins plugins.toml --format table

doctor exits with 0 for pass|warn, 1 for fail, and 2 for invalid inputs/config.

  1. Run policy-aware reliability checks (writes a gate artifact):
$ honestroles reliability check --pipeline-config pipeline.toml --plugins plugins.toml --strict --output-file dist/reliability/latest/gate_result.json --format table

--strict keeps check severities unchanged but upgrades overall warn status to exit 1.

  1. Run pipeline execution:
$ honestroles run --pipeline-config pipeline.toml --plugins plugins.toml

For human-readable CI logs, use table mode:

$ honestroles run --pipeline-config pipeline.toml --plugins plugins.toml --format table
  1. Validate manifest/config artifacts as needed:
$ honestroles plugins validate --manifest plugins.toml
$ honestroles config validate --pipeline pipeline.toml
$ honestroles report-quality --pipeline-config pipeline.toml --plugins plugins.toml
  1. Inspect lineage records under .honestroles/runs/:
$ honestroles runs list --limit 20 --format table
$ honestroles runs list --command reliability.check --since 2026-01-01T00:00:00Z --contains-code POLICY_NULL_RATE --format table
$ honestroles runs list --command ingest.sync-all --since 2026-01-01T00:00:00Z --format table
$ honestroles runs list --command ingest.validate --since 2026-01-01T00:00:00Z --contains-code INGEST_QUALITY_NULL_RATE_COMPANY --format table
$ honestroles runs show --run-id <run_id>
  1. Run EDA generation/diff/gate workflows:
$ honestroles eda generate --input-parquet jobs.parquet --output-dir dist/eda/latest
$ honestroles eda diff --baseline-dir dist/eda/baseline --candidate-dir dist/eda/candidate --output-dir dist/eda/diff
$ honestroles eda gate --candidate-dir dist/eda/candidate --baseline-dir dist/eda/baseline --rules-file eda-rules.toml
  1. Launch the optional dashboard viewer:
$ honestroles eda dashboard --artifacts-dir dist/eda/latest --host 127.0.0.1 --port 8501

Dashboard note: table rendering uses Polars directly; pyarrow is not required.

Expected result

Commands emit JSON payloads by default (or concise tables with --format table), return deterministic exit codes, and tracked executions are visible via honestroles runs list.

Next steps