Skip to main content

Explainable conformance checks for Apache Airflow engineering policies

Project description

ConformDAG

Turn Apache Airflow engineering standards into enforceable, explainable checks.

ConformDAG is a local-first CLI that scans Airflow repositories against versioned organizational policies. Source analysis is offline and non-executing by default. Dockerized Airflow import validation and BYOK semantic review are explicit opt-ins. Every engine contributes to one versioned JSON report that can also be rendered as terminal output, SARIF, or self-contained HTML.

Public beta

ConformDAG 0.1.0b1 includes:

  • six deterministic Airflow policy evaluators with versioned policy contracts;
  • policy provenance validation and human/machine-readable policy inspection;
  • expiring suppressions with stale and unmatched-suppression diagnostics;
  • a constrained Docker runtime profile for maintained Airflow 3.3.0;
  • four opt-in semantic policies through OpenAI-compatible endpoints, with local redaction, strict response validation, bounded concurrency, and normalized caching;
  • canonical JSON, terminal, SARIF, and static HTML reports; and
  • a 240-case offline deterministic benchmark with per-policy release gates.

Provider-backed semantic accuracy baselines are not claimed because the public benchmark does not yet contain a redistributable, labelled semantic corpus. The recorded provider smoke measurements validate integration, provenance, schema rejection, and cache behavior; they are not accuracy measurements. This limitation does not weaken the offline deterministic gate.

Airflow 2.11.2 was evaluated as a legacy candidate but is not shipped in the beta. It reached upstream end of life, and maintaining an EOL image would undermine the beta's security and update cadence. Users who must inspect that version can provide their own digest-pinned image with --runtime-image; it is outside the supported beta profile matrix and benchmark gate.

Installation and quick start

ConformDAG requires Python 3.12. With Python and uv managed through mise, run the pinned beta without installing it globally:

mise use python@3.12 uv@0.12.0
mise exec -- uvx --from conformdag==0.1.0b1 conformdag version

In an Airflow repository, create the non-destructive starter files and review the empty policy scaffold before adding organizational rules:

mise exec -- uvx --from conformdag==0.1.0b1 conformdag init
mise exec -- uvx --from conformdag==0.1.0b1 conformdag validate-policies \
  --path policies/pack.yaml
mise exec -- uvx --from conformdag==0.1.0b1 conformdag scan \
  --path . \
  --policy-pack policies/pack.yaml

Source analysis is offline and non-executing unless runtime or semantic evaluation is explicitly enabled. See the user guide before enabling either networked opt-in.

Development

The project uses mise as its tool and task entry point:

mise install
mise run setup
mise run check

Run the CLI from a checkout through the locked uv environment:

mise exec -- uv run conformdag validate-policies --path policies/pack.yaml
mise exec -- uv run conformdag list-policies --path policies/pack.yaml
mise exec -- uv run conformdag policy review AIR-DET-001 --path policies/pack.yaml
mise exec -- uv run conformdag scan --path . --policy-pack policies/pack.yaml

See the user guide for setup and operational usage, the architecture for trust boundaries and data flow, and the release checklist for publication evidence and verification.

License

Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conformdag-0.1.0b1.tar.gz (41.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conformdag-0.1.0b1-py3-none-any.whl (53.1 kB view details)

Uploaded Python 3

File details

Details for the file conformdag-0.1.0b1.tar.gz.

File metadata

  • Download URL: conformdag-0.1.0b1.tar.gz
  • Upload date:
  • Size: 41.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for conformdag-0.1.0b1.tar.gz
Algorithm Hash digest
SHA256 4ff90635401012b146eaf931915813a9ae3c303cb0435367f61b4c2556b8ee08
MD5 bd6e4243f14301e1aa8b23dfe7d43c92
BLAKE2b-256 001352f5b68f32ccd0ac2df537d40fa27ea79b473e568841a4f1aea4dd538ebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for conformdag-0.1.0b1.tar.gz:

Publisher: release.yml on parthmule28/conformdag

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file conformdag-0.1.0b1-py3-none-any.whl.

File metadata

  • Download URL: conformdag-0.1.0b1-py3-none-any.whl
  • Upload date:
  • Size: 53.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for conformdag-0.1.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 4967f7b7b8c05aa8eee1212c9098c4cd1079f5e9832face00cd569c0e746f821
MD5 3ac234e53262ea5fa8866f6f4991e026
BLAKE2b-256 f7cf4f1bf6b6d420c83ac3533052bc87d47e6eb0d8bff48e0981d765a5e5ffa3

See more details on using hashes here.

Provenance

The following attestation bundles were made for conformdag-0.1.0b1-py3-none-any.whl:

Publisher: release.yml on parthmule28/conformdag

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page