1.9 KiB
1.9 KiB
Optional Promotion Capsule and human_decision Envelope
Status
Optional profile. This appendix must not block baseline promotion delivery.
Promotion Capsule (Optional)
The optional promotion capsule is a DSSE-wrapped bundle containing:
- Promotion identity (
promotionId, source/target environment, artifact digests) - Policy inputs (policy digest/version, gate input digest)
- Evidence references (evidence bundle id, attestation digests, Rekor refs)
- Decision output (allow/deny/pending + reason codes)
- Signatures and verification metadata
Suggested Envelope Type
- Media type:
application/vnd.stellaops.promotion-capsule+json - Predicate type:
stella.ops/promotionCapsule@v1
Optional human_decision DSSE Envelope
For exception paths, the optional envelope captures accountable human override decisions and links them to the promotion record.
Required fields:
decisionId(stable id)promotionIdrequestId(Policy exception approval request id)actorIddecision(approve|reject|cancel)reasonticketexpiresAtUtc(if temporary override)recordedAtUtc
Binding to Existing Approval Workflows
- Policy exception workflow APIs remain source of truth for request lifecycle.
- Optional DSSE
human_decisionenvelope references Policy request/audit ids. - Promotion decision records may include
humanDecisionEnvelopeIdwhen present.
SLA and Governance Notes
human_decisionshould be time-bounded and non-default.- Override paths should require explicit scope and reason metadata.
- Expired override envelopes must not authorize future promotions.
Related References
src/Policy/StellaOps.Policy.Gateway/Endpoints/ExceptionApprovalEndpoints.cssrc/Policy/StellaOps.Policy.Gateway/Services/ApprovalWorkflowService.csdocs/product/decision-capsules.mddocs/modules/release-jobengine/workflow/promotion.md