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.

I2114 — Rozsah úlohy připouští to, co zapisuje její derive

Zabránit kontrole rozsahu před pushem, aby odmítla branch kvůli projekcím, které zapsal její vlastní derive, a dát úloze jeden podporovaný příkaz k rozšíření jejího rozsahu.

PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně

Součást development-runtime — The runtime has a development surface.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2114 bude přijato.

Cíl

Zabránit kontrole rozsahu před pushem, aby odmítla branch kvůli projekcím, které zapsal její vlastní derive, a dát úloze jeden podporovaný příkaz k rozšíření jejího rozsahu.

Proč

Derive zapisuje známou sadu souborů: docs/generated/*, site/data/*, site/content/* a při zvýšení verze design tokeny apps/majordomus-cli, share/version.txt, share/schemas/*, share/sections/* a site/static/*. Rozsah úlohy jmenuje to, co chce pracovník změnit, a tyto projekce v něm téměř nikdy nejsou. Dne 2026-10-09 pre-push `finish --check` odmítl větev release 0.19.0 (#852) pro 30 nálezů rozsahu, z nichž každý byl projekcí zvýšení verze. Stejně odmítl I2106 od f7 kvůli docs, site/content a site/data. Jediná cesta byla `handover --close` následované novým `start` s širším rozsahem, což se za jeden den udělalo třikrát na dvou větvích. Ta cesta je podporovaná, ale pokaždé stojí nové id úlohy a záznam předávky a nikdo ji nenajde, dokud mu to někdo neřekne.

Aktuální stav

`check` a `finish --check` posuzují každou změněnou cestu proti deklarovanému rozsahu aktivní úlohy, včetně projekcí odvození. Rozsah úlohy se změnit nemůže; lze ji jen uzavřít a zahájit novou s jiným.

Cílový stav

Cesta, kterou derive zapsal, se připustí, když větev mění také jeden z kanonických vstupů té projekce. Množina je ta už deklarovaná: docs/generated/artifacts.json a publikační blok generátoru webu, což je to, co čte scripts/gitattributes. Cesta mimo rozsah i tuto množinu je stále odmítnuta. `majordomus scope widen <paths>` přidá cesty do rozsahu aktivní úlohy, zaznamená, kdo jej rozšířil a proč, a nechá id úlohy beze změny.

Rozsah

  • lib/start.sh
  • lib/check.sh
  • scripts/gitattributes
  • apps/majordomus-cli/src/capability/builtin/scope.rs
  • apps/majordomus-cli/src/capability/builtin/devtask.rs
  • docs/CLI.md
  • test/cases

Závislosti

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

Kritéria přijetí

  • Větev, jejíž rozsah úlohy jmenuje jen kanonický vstup, který změnila, projde `finish --check` s projekcemi derive z onoho vstupu commitnutými vedle něj
  • Projekce commitnutá bez jakékoli změny kanonických vstupů se stále odmítne jako mimo rozsah
  • `majordomus scope widen <paths> --because \"<reason>\"` přidá cesty k aktivní úloze, zachová její id a záznam úlohy říká, kdo ji rozšířil, kdy a proč
  • Cesta mimo rozsah i mimo deklarovanou množinu projekcí je odmítnuta přesně jako dříve

Validace

  • bin/majordomus plan validate
  • MJ_TEST_JOBS=4 bash test/run.sh <případy, které tento úkol přidává>

Požadované důkazy

  • projection_admitted_case
  • scope_widen_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/I2114.yaml. Načtěte ho zpět pomocí majordomus plan show I2114.

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