Skip to content

a-release-is-proven-end-to-end — Whether a commit may be released, and whether its release arrived, is proved by one read and one case

release.readiness answers before a tag from the functions the workflow runs; site-deploy never goes back a commit; one case walks a fresh clone to published evidence; the first record commit after I2717 lands is observed with a green evidence job.

BLOCKED 0 of 3 issues done

ready
0
blocked
3
active
0
verify
0
done
0
cancelled
0

Problem

The release path is well guarded once a tag is pushed (plan, verdict, build, verify, publish), but before the tag nothing answers whether it would pass, the site guard compares releases but not commits, and the v0.29.0 record commit's evidence job failed on 2026-10-18 with the planned-empty report I2717 owns. Sources: chatgpt-majordomus:c291#2, chatgpt-majordomus:c111#6, chatgpt-majordomus:c238#2, chatgpt-majordomus:c258#2, chatgpt-majordomus:c283#2, chatgpt-majordomus:c297#2, chatgpt-majordomus:c295#3.

Outcome

release.readiness answers before a tag from the functions the workflow runs; site-deploy never goes back a commit; one case walks a fresh clone to published evidence; the first record commit after I2717 lands is observed with a green evidence job.

Current state

Verified on master 707a04c7ce8: .ai/repo/ci/release.yaml phases; scripts/ci/release-verdict; distribution.status chain; scripts/site-deploy refuses an older release and a HEAD off origin/master only. Prerelease isolation (I2829) and the release changelog (I2826) are on branches. I2717 (READY, p0) owns the record commit's planned-empty evidence failure.

Desired state

A release is decided by evidence read before and confirmed after, and every surface reads the same decision.

Scope

  • apps/majordomus-cli/src/release
  • apps/majordomus-cli/src/capability/builtin/release.rs
  • scripts/site-deploy
  • .github/workflows/validate.yml
  • docs/RELEASE.md

Out of scope

  • A second release engine
  • Automatic GO for a release
  • Browser compute on the release path

Acceptance criteria

  • release.readiness and the release workflow share their implementation
  • A publication of an older commit than the served one is refused
  • The fresh-clone case runs on the release candidate

Validation

  • majordomus plan validate

Risks

  • The alpha top (0.30.0) and I2829 touch scripts/site-deploy and release.yml; I3201 and I3208 start after it lands

Issues

Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.

issuestatuswavedepends ontitle
I3201 BLOCKED 0 — A publication never replaces the site with a build of an older commit than the one gh-pages serves
I3208 BLOCKED 0 — Whether a commit may be released is one read that names each condition and the evidence that settles it
I3213 BLOCKED 5 I2812, I2717 One case walks a fresh clone from init to published evidence on the release candidate

The graph

a-release-is-proven-end-to-end dependency graphfrom .ai/repo/project
flowchart LR
    I3201["I3201<br/>A publication never replaces the site with a build of an older commit than the one gh-pages serves"]:::blocked
    I3208["I3208<br/>Whether a commit may be released is one read that names each condition and the evidence that settles it"]:::blocked
    I3213["I3213<br/>One case walks a fresh clone from init to published evidence on the release candidate"]:::blocked
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/a-release-is-proven-end-to-end.yaml. Read it back with majordomus plan show a-release-is-proven-end-to-end.

Searches the titles and descriptions of every page this site publishes.