I2872 — The skeleton a new repository receives is derived from the layout declaration
init seeds a new repository from I2870's declaration instead of lib/init.sh's hand-written list of files, and a derive-check proves share/skeleton's manifest and directory contracts agree with the declaration, so the skeleton cannot drift from the layer it seeds.
BLOKOVÁNO vlna 2 · p0 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I2870 is done. The status is derived from that, not declared.
Cíl
init seeds a new repository from I2870's declaration instead of lib/init.sh's hand-written list of files, and a derive-check proves share/skeleton's manifest and directory contracts agree with the declaration, so the skeleton cannot drift from the layer it seeds.
Proč
The third slice of I1102. On 2026-10-21 share/skeleton was found hand-copied by lib/init.sh, a second enumeration of the layout, and already drifted: its manifest lacks the `releases` section .ai/manifest.yaml has.
Aktuální stav
share/skeleton is 41 hand-written files; lib/init.sh copies them through a hard-coded list and creates the local directories itself; no generator or check covers it.
Cílový stav
The skeleton is derived from the declaration, and a check fails when they disagree.
Rozsah
- share/skeleton
- lib/init.sh
- apps/majordomus-cli/src
- skripty
- .ai/repo/project/issues/I2872.yaml
Mimo rozsah
- Adopting an existing repository (the adopter milestones)
Závislosti
Co na tom čeká
Kritéria přijetí
- init's seeded tree is derived from the declaration, not from a second list
- A check fails when share/skeleton and the declaration disagree; the skeleton's manifest carries `releases`
Validace
- cargo test --workspace --all-features
- scripts/derive-check
Požadované důkazy
- skeleton_derived
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.
Canonical record: .ai/repo/project/issues/I2872.yaml. Read it back with majordomus plan show I2872.