Use case · Ship

Validating a release decision, not just the release.

CI tells you the build is green. Your approval rules tell you who may merge. Neither answers whether the decision to ship this change, now, was justified by what the team actually knew.

Where the gate would sit

An autonomous or semi-autonomous release flow reaches a point where a change moves from "proposed" to "deployed." That transition is the exit boundary. Before it, a validation call receives the release as a bounded package and returns a native outcome plus objections.

MANDATEWhat must be true for this change to ship — test coverage thresholds, required sign-offs, change-window rules, rollback readiness, dependency constraints.
ACTIONThe specific deploy being proposed: this change set, to this environment, at this time.
EVIDENCEWhat the decision rests on — CI results, review approvals, migration plan, sign-off statements, incident state.
OUTCOMEALLOW, BLOCK or UNCERTAIN, plus structured objections naming what is missing or inconsistent.

What this adds

A check that does not share the room's assumptions.

Release decisions are often made inside a single conversation — a channel, a standup, a chain of agents coordinating a rollout. Everyone in that context shares the same framing and the same time pressure. A separately scoped check evaluates the bounded package on its own terms, and does not treat the group's agreement as evidence.

A check on whether required evidence is actually present.

Approval rules verify that a named person clicked approve. They generally do not verify that the thing the mandate required — a passing migration dry-run, an explicit owner sign-off, a rollback plan — was present and attached when that approval happened. Validation can flag a package that is missing what its own mandate demands.

A record tied to the decision, not the ticket.

Where a signed artifact is produced, it references the specific package evaluated and what the verifier returned. That is a different record from a CI log or an audit trail of who clicked what.

Proof gaps — what has not been shown

If this is your boundary

The honest starting point for a release workflow is observe-only: run the gate alongside your existing pipeline, block nothing, and compare what it would have flagged against what actually shipped. That produces the false-block data neither of us has yet.