Developer route release candidate orchestrator¶
RouteReleaseCandidateOrchestratorService composes existing route evidence
services into one release candidate train. It is an ops control-plane service,
not a runtime execution engine.
Module boundaries¶
| Module | Responsibility |
|---|---|
dpone.ops.route_rc_orchestrator |
Service facade that composes route certification pack, route live certification, route release gate, release evidence pack, and report writing. |
dpone.ops.routes.rc_orchestrator_models |
RouteRcOrchestrationStep, RouteRcOrchestrationDecision, and RouteRcOrchestrationReport stable contracts. |
dpone.ops.routes.rc_orchestrator_policy |
RouteRcOrchestrationPolicy pure score, blocker, warning, and next-action decisions. |
dpone.ops.routes.catalog |
Matrix-backed RouteProfileCatalog for route existence and metadata. |
The service uses dependency injection for every collaborator. Tests can replace the route pack, live certification, release gate, release evidence pack, or policy without monkeypatching module globals.
Stable JSON contract¶
The public schema is dpone.route_rc_orchestrator.v1. Keep these fields stable:
releaseprofilerow_countrouteroute_profilepassedlevelscoreblockerswarningsnext_actionsstepsartifact_indexjson_pathmarkdown_path
Additive fields are allowed when tests and docs are updated.
No live execution rule¶
The orchestrator does not start Docker, does not run pytest, and does not open
database connections. It invokes existing evidence services and emits commands
for CI or operators. Runtime connectors stay under dpone.runtime.*; live tests
stay under tests/integration/*; workflow execution stays in GitHub Actions or
the operator shell. Use dpone ops route-rc-execute and
RouteReleaseCandidateExecutorService for dry-run or opt-in command execution;
do not move shell execution into this orchestrator.
Extension rules¶
To extend the release train:
- Add a focused evidence producer first.
- Add that producer's artifact name to route profile or orchestrator required evidence.
- Add tests for green, missing, failed, and route-mismatched evidence.
- Update user docs, developer docs, architecture docs, CI docs, and generated CLI reference in the same PR.
Do not add business logic to CLI handlers. CLI code parses arguments and calls
RouteReleaseCandidateOrchestratorService.