I2901 — Jedna gramatika pojmenovává id úkolu a čte ji každý povrch
Deklarovat gramatiku id úkolu jednou: vzor ve schématu úkolu (nebo generovaný z jedné konstanty v Rustu) a jedno plan::is_issue_id, které čtou ui/prs.rs, ui/idd.rs, případ 3220 a JS ve share/ui, aby si ji žádný povrch nezapisoval po svém.
PŘIPRAVENO vlna 0 · p2 · profil implementation · běží samostatně
Součást idd-reads-at-a-glance — Pracovní prostor intentů se čte na první pohled a vede všude, kam odkazuje.
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2901 bude přijato.
Cíl
Deklarovat gramatiku id úkolu jednou: vzor ve schématu úkolu (nebo generovaný z jedné konstanty v Rustu) a jedno plan::is_issue_id, které čtou ui/prs.rs, ui/idd.rs, případ 3220 a JS ve share/ui, aby si ji žádný povrch nezapisoval po svém.
Proč
Čtyři místa znovu uvádějí gramatiku a neshodují se: prs.rs říká I a čtyři číslice, idd.rs libovolné číslice, případ 3220 /I\\d{4}/ a schéma nedeklaruje vzor vůbec, ačkoli všech 429 záznamů je I a čtyři číslice.
Aktuální stav
issue.v1.schema.json typuje id jako holý řetězec; čtyři povrchy mají vlastní predikát.
Cílový stav
Schéma uvádí vzor; existuje jeden predikát a každý povrch jej volá; test selže, pokud se objeví druhý.
Rozsah
- share/schemas/majordomus/issue/issue.v1.schema.json
- apps/majordomus-cli/src/plan.rs
- apps/majordomus-cli/src/ui/prs.rs
- apps/majordomus-cli/src/ui/idd.rs
- test/cases/3220_the_idd_loop_is_walked_in_a_browser.sh
- .ai/repo/project
- dokumentace
- web
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- Schéma úkolu odmítne id, které není I a čtyři číslice
- ui/prs.rs a ui/idd.rs volají jedno plan::is_issue_id
Validace
- majordomus plan validate
- majordomus plan validate
- cargo test --lib plan::
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/I2901.yaml. Přečtěte jej zpět přes majordomus plan show I2901.