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.

I2740 — Dodání úkolu se odvozuje z větví, pull requestů, mergů, tagů a publikovaného webu

Přidat schopnost plan.delivery (CLI majordomus plan delivery [--json] [<id>], HTTP a MCP z jediné deklarace schopnosti), která pro každý úkol odpoví nejpokročilejší fází z none, branch, pr_open, merged, released, deployed, každou s objektem, který ji dokázal, a kdy byla pozorována, a vystavit ji v datech webu, která čtou stránky plánu.

HOTOVO vlna 0 · p0 · profil implementation · bezpečné souběžně

Součást truthful-plan-surfaces — Povrchy plánu se odvozují z dodávky a nic, co zobrazují, se nezadává vedle repozitáře.

Cíl

Přidat schopnost plan.delivery (CLI majordomus plan delivery [--json] [<id>], HTTP a MCP z jediné deklarace schopnosti), která pro každý úkol odpoví nejpokročilejší fází z none, branch, pr_open, merged, released, deployed, každou s objektem, který ji dokázal, a kdy byla pozorována, a vystavit ji v datech webu, která čtou stránky plánu.

Proč

ADR 0166. Stav se odvozuje pouze z razítek (lib/project.awk:156-170, plan.rs derive); trace.issue, delivery.report a github-sync každý čte část pravdy a nic je nespojuje. I2653 byl sloučen celý v #1097 a stále se čte READY.

Aktuální stav

trace.issue (capability/builtin/trace.rs, worktree/trace.rs) dává větve a zmergované commity úkolu; servírovaná cache forge drží pull requesty a release; nic neodpovídá fází na úkol.

Cílový stav

plan.delivery znovu používá trace.issue pro větve a merge, hranu úkolu z I1405 pro pull requesty jmenované titulkem, větví nebo trailerem, servírovanou cache forge pro otevřené pull requesty (nepřečtený forge se hlásí jako nepřečtený, nikdy jako žádný), git tag --contains pro první tag v* a publikovaný latest.json pro nasazeno; scripts/generate-site-data z toho píše site/data/generated/delivery.json.

Rozsah

  • apps/majordomus-cli/src/capability/builtin/plan.rs
  • apps/majordomus-cli/src/plan
  • apps/majordomus-cli/src/plan.rs
  • apps/majordomus-cli/tests/plan_delivery.rs
  • scripts/generate-site-data
  • site/data/generated/delivery.json
  • docs/PLANNING.md
  • docs/generated
  • test/cases/3100_an_issue_delivery_is_inferred.sh

Závislosti

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

Co na tom čeká

Kritéria přijetí

  • Úkol jmenovaný sloučeným pull requestem ve fixture repozitáři se čte jako merged s merge commitem a jako released, jakmile jej obsahuje tag v*
  • Úkol jen s otevřeným pull requestem se čte jako pr_open s jeho číslem; u nepřečteného forge odpověď říká unread
  • Schopnost je deklarována jednou a dosáhne CLI, HTTP a MCP přes majordomus generate
  • site/data/generated/delivery.json vytváří spustitelný soubor a kontroluje generate-site-data --check

Validace

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test plan_delivery
  • bash test/run.sh 3100_an_issue_delivery_is_inferred

Požadované důkazy

  • delivery_stage_case
  • mutations_fail_the_case

Důkazy

pokrývátypcommandvýsledeku commitu
delivery_stage_casetestcargo test --manifest-path apps/majordomus-cli/Cargo.toml --test plan_delivery3 prošly, 0 selhaly (sloučeno s merge commitem a PR #5, vydáno prvním záznamem releasu v0.1.0, pr_open #9 z pozorování forge, nepřečtený forge hlášen jako nepřečtený a nevypořádaný, nasazeno z latest.json pozorovaného nasazení Pages; --at čte jen historii a je bajtově stabilní napříč pozdějším tagem; CLI = HTTP = MCP)b80c183
mutations_fail_the_casetestbash test/run.sh 3100_an_issue_delivery_is_inferred1 passed; 4 mutace kódu v src/plan/delivery.rs aplikované jednotlivě vždy selhaly tam, kde je uvedeno (slug část branch_names, vypuštěný titul merge, nepřečtený forge nepojmenován, otevřené pulls prázdné)b80c183
delivery_stage_casecivalidate run 39438896504 at master 9a5a9b77520: suite-shard (2) job 118683338077 runs 3100_an_issue_delivery_is_inferred; rust (1) job 118683336143 runs cargo test incl. tests/plan_delivery.rssuccess (the run's only red job is pages, which runs no test)573df96

Časová osa

zahájeno
2026-10-16T09:56:45Z
ověřeno
2026-10-16T13:32:49Z
dokončeno
2026-10-20T22:11:19Z

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/I2740.yaml. Přečtěte jej zpět pomocí majordomus plan show I2740.

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