• v0.1.104 4784a606e9

    v0.1.104 Stable

    pipeline-bot released this 2026-07-08 17:13:23 +00:00 | 2313 commits to trunk since this release

    • Enforce the CD ordering invariants that were previously branch-protection convention.
      I1: pipeline-staging now runs an assert-releasable step (new pipeline-assert-ready
      ClusterWorkflowTemplate, read-only pipeline-gate SA) that reads the trunk-tip's
      PipelineBuild.status.releasable before test+promote — no Release for a non-releasable
      Build. I2: pipeline-deploy gates the roll on the released PipelineRelease being
      Deployable (deployable latch, or phase==Succeeded during the projector rollout) — no
      Deploy for a non-deployable Release. Both are lenient on a missing CR (branch protection
      stays primary) and strict on an explicit violation.
    • Revive the ordering contract as a gated TLA+ spec: spec/release.tla
      (ReleasedImpliesReleasable ≈ I1, DeployedImpliesDeployable ≈ I2, with GateRelease/
      GateDeploy teeth), now model-checked in CI by spec/check.sh.

    Included changes (v0.1.103 -> v0.1.104)

    • c5b18442e6ec fix(cd): I2 gate must not false-fail on the mid-release deploy timing
    • c250d00d7f80 feat(cd): enforce the ordering invariants (I1 releasable, I2 deployable)
    Downloads