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.