Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3208 — Whether a commit may be released is one read that names each condition and the evidence that settles it

Add release.readiness to the release capability: for a commit and a candidate version, decide what release.yml's plan and verdict phases, the version gate and the base branch's ci verdict decide, and answer ready, not ready with the failing condition, or unknown with what could not be read, including the surface fingerprint the record will publish; release.yml's plan and verdict phases then call it, so one implementation decides both. The install job is the after-tag half and is named as not readable before a tag.

BLOKOVÁNO vlna 0 · p1 · profil implementation · bezpečné souběžně

Part of 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.

Blocked. This issue cannot start until milestone:a-release-is-proven-end-to-end is done. The status is derived from that, not declared.

Cíl

Add release.readiness to the release capability: for a commit and a candidate version, decide what release.yml's plan and verdict phases, the version gate and the base branch's ci verdict decide, and answer ready, not ready with the failing condition, or unknown with what could not be read, including the surface fingerprint the record will publish; release.yml's plan and verdict phases then call it, so one implementation decides both. The install job is the after-tag half and is named as not readable before a tag.

Proč

The owner set the alpha for 2026-10-19 with GO only on current master, green CI and real install tests, not an automatic GO (c281#2). Audits asked for a single derived readiness authority shown on CLI, UI and Pages (c283#2) and a machine-evaluated definition of done for a stage (c258#2). Today each condition lives in a different script and is first combined when a tag is pushed. Sources: chatgpt-majordomus:c111#6, chatgpt-majordomus:c238#2, chatgpt-majordomus:c258#2, chatgpt-majordomus:c283#2, chatgpt-majordomus:c089#1.

Aktuální stav

release.yml plan runs scripts/release-version --check; verdict runs scripts/ci/release-verdict on the tagged commit; distribution.status judges model, version, release, artifacts, metadata, public; release/compat.rs computes the surface fingerprint the record carries. No read answers before a tag whether the tag would pass.

Cílový stav

majordomus release readiness <sha> (and its HTTP and MCP projections) returns each condition with its evidence and age, read from the same functions the release path runs, so the workflow and the read cannot disagree; a condition that cannot be read is unknown and the answer is not ready.

Rozsah

  • apps/majordomus-cli/src/release
  • apps/majordomus-cli/src/capability/builtin/release.rs
  • docs/RELEASE.md
  • .github/workflows/release.yml
  • .ai/repo/ci/release.yaml
  • scripts/release-version
  • scripts/ci/release-verdict
  • apps/majordomus-cli/src/ui/delivery.rs
  • apps/majordomus-cli/src/commands/release.rs
  • site/content/docs/cli/release
  • site/content/docs/release.md

Mimo rozsah

  • Tagging or publishing
  • A second release engine; the read composes what exists
  • Starting before the alpha top (0.30.0) and I2829 land on release.yml and scripts/site-deploy

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • A commit with a red or missing ci verdict is not ready and the verdict is named
  • A candidate version below what the contract requires is not ready and both versions are named
  • The read and the release workflow's plan and verdict phases share their implementation
  • release.yml's plan and verdict phases call majordomus release readiness, and scripts/release-version --check and scripts/ci/release-verdict become thin callers of it; no condition is implemented twice
  • The install job is the after-tag half of the proof: readiness names it as not readable before a tag and never reports it as passed
  • The trunk's red state is the ci verdict of the base branch's head, read by the same function as the candidate commit's verdict; I2709's carrier is not a readiness condition
  • The release screen under /ui shows the readiness read from the same capability

Validace

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib release::
  • majordomus plan validate

Požadované důkazy

  • case_release_readiness_is_one_read

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I3208.yaml. Read it back with majordomus plan show I3208.

Prohledává názvy a popisy všech stránek, které tento web publikuje.