I2742 — Verze milníku se odvozuje z releasu, který ho nesl, nikdy se nepíše
Odstranit version ze schématu milníku a z osmi záznamů, které ji nesou, odmítnout záznam, který ji nese, a odvozovat released_in milníku jako první záznam release (sledované prohlášení o tagu), jehož commit obsahuje merge posledního přijatého úkolu (unreleased, dokud je otevřený), ve výstupu enginů awk i Rust; přepsat vendorované pravidlo roadmap-integrity a jeho validátor tomu odpovídajícím způsobem.
HOTOVO vlna 0 · p0 · profil implementation · bezpečné souběžně
Cíl
Odstranit version ze schématu milníku a z osmi záznamů, které ji nesou, odmítnout záznam, který ji nese, a odvozovat released_in milníku jako první záznam release (sledované prohlášení o tagu), jehož commit obsahuje merge posledního přijatého úkolu (unreleased, dokud je otevřený), ve výstupu enginů awk i Rust; přepsat vendorované pravidlo roadmap-integrity a jeho validátor tomu odpovídajícím způsobem.
Proč
ADR 0166 rozhodnutí 3. version se zadává ručně: 0.1 až 1.0 u osmi milníků napsaných před existencí release, dva z nich 0.5, mimo pořadí, vedle produktu ve v0.27.0.
Aktuální stav
lib/project.awk:359 a plan.rs:289 emitují syrové pole; site/templates/roadmap.html podle něj filtruje; lib/doctor.sh mj_validate_roadmap proti němu kontroluje tabulku README.
Cílový stav
Nikde v .ai/repo/project/milestones žádné pole verze; plan.roadmap a roadmap.json nesou released_in se záznamem release; tabulka plánu rozvoje v README a její validátor používají released_in.
Rozsah
- .ai/repo/project/milestones
- share/schemas
- share/allow
- lib/project.awk
- lib/project.sh
- lib/plan.sh
- lib/doctor.sh
- apps/majordomus-cli/src/plan.rs
- .ai/repo/rules/vendor/majordomus/rules/roadmap-integrity.v1.md
- share/standard/majordomus/rules/roadmap-integrity.v1.md
- README.md
- docs/PLANNING.md
- site/data/generated
- docs/generated
- test/cases/49_roadmap_integrity.sh
- test/cases/3102_a_milestone_version_is_inferred.sh
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
Kritéria přijetí
- plan validate odmítne záznam milníku nesoucí version
- Milník, jehož merge posledního úkolu je obsažen ve v0.27.0, se čte jako released_in v0.27.0; otevřený se čte jako unreleased
- Enginy awk a Rust se shodují (případ 99)
Validace
- bin/majordomus plan validate
- bash test/run.sh 49_roadmap_integrity 99_engines_agree 3102_a_milestone_version_is_inferred
Požadované důkazy
- version_inferred_case
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| version_inferred_case | test | bash test/run.sh 3102_a_milestone_version_is_inferred 99_plan_capabilities 49_roadmap_doctrine 48_roadmap_graph 47_mutation | ok 3102, 99, 49, 48, 47 at f8fe9133238: a typed version is refused; released_in v0.26.0 -> unreleased on reopen -> v0.27.0 (rc tag ignored, later tag does not move it); open milestone unreleased; shell and executable agree (this repo M000/M001 v0.2.0) | f8fe913 |
| version_inferred_case | test | bash test/run.sh 3102_a_milestone_version_is_inferred 49_roadmap_doctrine 99_plan_capabilities 48_roadmap_graph 47_mutation | ok 3102, 49, 99, 48, 47 with released_in read from release records: a typed version is refused; v0.26.0 record -> unreleased on reopen -> v0.27.0 record (rc record and a bare tag ignored, a later record does not move it); open milestone unreleased; shell and executable agree (this repo M000/M001 v0.3.1, the earliest record) | 8642d74 |
| version_inferred_case | ci | validate run 39438896504 at master 9a5a9b77520: suite-shard (1) job 118683336189 runs 3102_a_milestone_version_is_inferred; suite-shard (3) job 118683336157 runs 49_roadmap_doctrine and 99_plan_capabilities | success (the run's only red job is pages, which runs no test) | 573df96 |
Časová osa
- zahájeno
- 2026-10-16T09:09:12Z
- ověřeno
- 2026-10-16T10:37:25Z
- dokončeno
- 2026-10-20T22:12:41Z
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/I2742.yaml. Přečtěte jej zpět pomocí majordomus plan show I2742.