Skip to the content.

Release-Decision Configuration Validation

This starter repository validates the structure and selected decision semantics of a release record. It deliberately does not prescribe universal accuracy, fairness, industry, or approval gates.

Modes

Template

python tools/validate_release_config.py \
  release/release-checklist.yaml \
  --mode template

Template mode checks:

Placeholders and unresolved gates are allowed because the file is a starting structure, not a release request.

Ready

python tools/validate_release_config.py \
  examples/sample-release-checklist.yaml \
  --mode ready

Ready mode additionally checks:

The version rule allows letters, digits, ., _, +, and -; it does not require semantic versioning. The purpose is to make the reviewed configuration identifiable and stable enough to compare with its evidence.

Semantics

The configuration distinguishes:

The validator checks internal coherence. It does not determine whether:

Tests

python -m unittest discover -s tests -v

The tests cover blocker, condition, hard-gate, evidence, nested-placeholder, date, version, deferred-decision, and duplicate-ID semantics.

Customization

Organizations should replace the example propositions with gates derived from the actual:

Do not add a generic gate merely because it sounds responsible. Every gate should support a named decision and have an evidence owner, method, scope, and invalidation trigger.