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ě
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.