I1406 — Odvození plánu jsou schopnosti, takže každý povrch čte připravenost, kterou čte terminál
Zařídit, aby status, ready, blocked, waves, next a roadmap bylo možné zodpovědět přes registr schopností, aby MCP, HTTP, OpenAPI a Cockpit četly odvozený plán, nikoli jen surové dokumenty.
HOTOVO vlna 0 · p1 · profil implementation · běží samostatně
Cíl
Zařídit, aby status, ready, blocked, waves, next a roadmap bylo možné zodpovědět přes registr schopností, aby MCP, HTTP, OpenAPI a Cockpit četly odvozený plán, nikoli jen surové dokumenty.
Proč
Úkoly a milníky se již poskytují jako objekty: `majordomus://issue/I0001` vrací záznam. Neposkytuje se vše, co činí model hodnotným. Odvození žijí v lib/plan.sh a lib/project.awk, spustitelný soubor v Rustu otevírá `.ai/repo/project/issues/` jen kvůli čtení názvů souborů a agent, který se serveru ptá, na čem pracovat dál, se nic nedozví.
Aktuální stav
lib/plan.sh, 520 řádků, počítá odvozené stavy. apps/majordomus-cli/src/worktree/state.rs řádek 190 je jediné místo, kde se spustitelný soubor dotýká adresáře projektu, a čte výpis adresáře. Neexistuje schopnost plan, a tedy žádný nástroj, trasa ani stránka Cockpitu pro plán.
Cílový stav
Odvození jsou deklarována tam, kde se deklaruje každá jiná schopnost, a promítána týmž generátorem. Shell udržuje svůj povrch příkazů voláním spustitelného souboru, nebo se oba shodují konstrukcí a test dokazuje, že se shodují.
Rozsah
- apps/majordomus-cli/src/capability/builtin
- apps/majordomus-cli/src
- lib/plan.sh
- docs/CAPABILITIES.md
- test/cases
Mimo rozsah
- Změna toho, co odvození znamenají
- Druhá implementace plánu, která se může s první rozcházet
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
Kritéria přijetí
- Odvození jsou deklarována jednou a promítána do MCP, HTTP a OpenAPI bez ručně upravovaného registru transportů
- Spustitelný soubor a shell odpovídají shodně pro každý záznam v tomto repozitáři, což dokazuje test, který je porovnává
- majordomus generate --check je po přidání deklarace čistý
- Cockpit ukazuje odvozený plán a jeho drift
Validace
- cargo test --workspace --all-features
- majordomus generate --check
- bash test/run.sh
Požadované důkazy
- derivations_projected
- shell_and_executable_agree
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| derivations_projected | test | bash test/run.sh 99_plan_capabilities | osm schopností plánu (model/status/issues/waves/next/roadmap/validate/record) deklarovaných pomocí capability! a generátorem promítnutých do nástrojů MCP, zdroje majordomus://plan, osmi tras /api/v1/plan a OpenAPI; žádný transportní registr, soubor OpenAPI ani tabulka v dokumentaci nebyly upraveny ručně | 0df29db |
| shell_and_executable_agree | test | bash test/run.sh 99_plan_capabilities | oba enginy běží nad každým záznamem tohoto repozitáře a nad testovacím vstupem nesoucím zrušení, bránu milníku, překryv rozsahu, neznámou závislost a cyklus; stav, vlna, oba seznamy závislostí, počty milníků, pořadí a pořadí v plánu rozvoje, aktivní milník, další připravený, vrstvení vln a každý nález se porovnávají bajt po bajtu | 0df29db |
Riziko
Dvě implementace jednoho odvození jsou selhání, jemuž má tento repozitář zabránit; test rovnosti je kritérium přijetí, ne okrasa.
Časová osa
- zahájeno
- 2026-09-09T22:00:16Z
- ověřeno
- 2026-09-09T22:00:30Z
- dokončeno
- 2026-09-09T22:00:36Z
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/I1406.yaml. Načtěte ho zpět pomocí majordomus plan show I1406.