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.

I2826 — GitHub release nese vlastní changelog nástroje pro svůj tag, nikdy poznámky generované GitHubem

Publikovat každý GitHub release s tělem, které `majordomus release changelog` složí pro jeho tag (rozhodnutí releasu včetně deklarace releasu jako ADR 0175, jeho konvenční změny a jeho artefakty), místo `gh release create --generate-notes`, a odmítnout release, jehož publikované tělo není touto projekcí.

PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně

Součást safe-self-update — Každý uzel mesh sleduje publikovaný release sám, verze se potkávají bezpečně a původ release lze ověřit.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2826 bude přijato.

Cíl

Publikovat každý GitHub release s tělem, které `majordomus release changelog` složí pro jeho tag (rozhodnutí releasu včetně deklarace releasu jako ADR 0175, jeho konvenční změny a jeho artefakty), místo `gh release create --generate-notes`, a odmítnout release, jehož publikované tělo není touto projekcí.

Proč

Nalezeno 2026-10-17 při přípravě deklarace v1.0.0-alpha.1 (ADR 0175): .github/workflows/release.yml vytváří release s --generate-notes, takže tělo, které člověk čte, je seznam sloučených pull requestů z GitHubu, nenapsaný nikým v tomto repozitáři, zatímco ADR 0029 říká, že changelog se skládá z vrstvy a každý povrch je odvozen. notes_url záznamu release odkazuje zpět na tu stránku. Jediný autorský text, který se pro tag dostane do výstupu nástroje, je rozhodnutí datované v jeho okně. Odloženo za alpha rolí release: žádná změna cesty release před v1.0.0-alpha.1.

Aktuální stav

Tělo release na GitHubu je vygenerovaný seznam pull requestů GitHubu; release.changelog vypisuje nástroj a nikde jej nepublikuje tam, kde se čtenář releasu dívá.

Cílový stav

release.yml zapisuje `majordomus release changelog --tag <tag>` (nebo ekvivalentní výstup schopnosti) jako tělo release; kontrola odmítne publikovaný release, jehož tělo se od této projekce liší; docs/RELEASE.md to říká.

Rozsah

  • .github/workflows/release.yml
  • apps/majordomus-cli/src/capability/builtin/release.rs
  • scripts/ci/release-check
  • docs/RELEASE.md
  • test/cases/3341_a_release_carries_its_own_changelog.sh

Závislosti

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

Kritéria přijetí

  • Release sestavený z fixture tagu se vytvoří s tělem, které pro daný tag skládá changelog nástroje, a bez --generate-notes
  • release-check odmítne publikovaný release, jehož tělo není changelog nástroje pro jeho tag, a jmenuje příkaz, který ho zapíše

Validace

  • bin/majordomus plan validate
  • bash scripts/ci/release-check

Požadované důkazy

  • release_body_is_the_changelog_case

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.

Kanonický záznam: .ai/repo/project/issues/I2826.yaml. Přečtěte ho zpět pomocí majordomus plan show I2826.

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