Route certify¶
dpone ops route-certify builds the release certification bundle for one
source -> sink -> strategy route. It is the promotion gate above route
readiness, route refresh execution, snapshot capture, exact verification, and
release evidence.
The command is control-plane only. It does not start Docker, run pytest, open database connections, or execute refresh chunks. It reads immutable evidence artifacts that were already produced by specialized commands.
When to use it¶
Use route-certify before a minor or major release when a route changed or when
release notes claim route-level certification.
Use Route release candidate orchestrator when you
want a reproducible command train. Use route-certify when that train or a CI
job has already produced evidence and you need one final promotion artifact.
Use Route certify release after every first-class
route has a route_certification_bundle.json and the release needs one
matrix-level go/no-go report.
OSS-safe mode¶
OSS-safe mode stays credential-free. It requires local JSON evidence only and is safe for ordinary pull-request CI.
uv run dpone ops route-certify \
--release v0.9.0-rc1 \
--source postgres \
--sink mssql \
--strategy incremental_merge \
--profile oss_ci \
--output-dir test_artifacts/route_certify/postgres_to_mssql \
--artifact route_refresh_execution=test_artifacts/live_certification/refresh-executor/postgres-mssql/route_refresh_execution.json \
--artifact route_refresh_snapshot_capture=test_artifacts/live_certification/refresh-executor/postgres-mssql/route_refresh_snapshot_capture.json \
--artifact route_refresh_verification=test_artifacts/live_certification/refresh-executor/postgres-mssql/route_refresh_verification.json \
--artifact route_execution_ledger=test_artifacts/route_execution/postgres_to_mssql/route_execution_ledger.json \
--artifact state_promotion=test_artifacts/route_state/postgres_to_mssql/state_promotion.json \
--artifact benchmark_slo=test_artifacts/live_certification/benchmark-slo/benchmark_slo_gate.json \
--artifact pre_release_checklist=test_artifacts/live_certification/pre-release/pre_release_checklist.json \
--artifact evidence_chain=test_artifacts/live_certification/evidence-chain/evidence_chain_index.json \
--format json
vendor-live mode¶
Vendor-live mode is opt-in. It requires the same OSS-safe evidence plus a
route_live_evidence_bundle produced by Docker-live or vendor-live checks.
Missing live evidence blocks the bundle. Pass the content-valid release-set when
the bundle will feed the public six-dimensional route certification matrix.
uv run dpone ops route-certify \
--release v0.9.0-rc1 \
--source mssql \
--sink clickhouse \
--strategy incremental_merge \
--profile vendor_live \
--release-set test_artifacts/release/release-set.json \
--artifact route_live_evidence_bundle=test_artifacts/route_live/mssql_to_clickhouse/route_live_certification.json \
--artifact route_refresh_execution=test_artifacts/live_certification/refresh-executor/mssql-clickhouse/route_refresh_execution.json \
--artifact route_refresh_snapshot_capture=test_artifacts/live_certification/refresh-executor/mssql-clickhouse/route_refresh_snapshot_capture.json \
--artifact route_refresh_verification=test_artifacts/live_certification/refresh-executor/mssql-clickhouse/route_refresh_verification.json \
--artifact pre_release_checklist=test_artifacts/live_certification/pre-release/pre_release_checklist.json \
--artifact evidence_chain=test_artifacts/live_certification/evidence-chain/evidence_chain_index.json \
--output-dir test_artifacts/route_certify/mssql_to_clickhouse \
--format json
--release-set adds a safe dpone.route-matrix-claim.v1 to the bundle. The
claim binds the exact release digest and source commit to the registered route
ID, transport, schema-evolution mode, Airflow/runtime mode, and certification
time. It contains no credentials and is required before dpone certify routes
can promote the row above experimental.
Outputs¶
| File | Description |
|---|---|
route_certification_bundle.json |
Stable schema dpone.route_certification_bundle.v1 with certified, warning, or blocked decision. |
route_certification_bundle.md |
Human-readable release review and Operator runbook. |
route-certification-pack/route_certification_pack.json |
Readiness-compatible evidence pack for the route. |
route-certification-pack/readiness/route_readiness.json |
Embedded route readiness report. |
route-promotion-gate/route_release_gate.json |
Route promotion gate, indexed as route_promotion_gate. |
release-evidence-pack/release_evidence_pack.json |
Release evidence pack scoped to this route certification run. |
Required evidence¶
The default release certification policy requires:
route_refresh_executionroute_refresh_snapshot_captureroute_refresh_verificationroute_execution_ledgerstate_promotionbenchmark_slopre_release_checklistevidence_chain- route profile evidence from the source -> sink matrix
vendor_live also requires route_live_evidence_bundle.
Operator runbook¶
Failure: route_certification_pack.not_passed.
- Open
route-certification-pack/readiness/route_readiness.json. - Attach missing route profile evidence such as type matrix, benchmark/SLO, docs/runbook, schema evolution, or reconciliation artifacts.
- Re-run
dpone ops route-certify.
Failure: route_promotion_gate.not_passed.
- Open
route-promotion-gate/route_release_gate.json. - Fix
.missing,.not_passed, or.route_mismatchblockers upstream. - Do not tag a release while the route promotion gate is red.
Failure: release_evidence_pack.not_passed.
- Open
release-evidence-pack/release_evidence_pack.json. - Attach release-level evidence such as
pre_release_checklistandevidence_chain. - Rebuild the bundle from source artifacts; do not edit generated JSON.