I2724 — Uzel bez cesty k webu převezme archiv od peera a přesto jej sám ověří
Nechat sledující uzel, který se nedostane na github.com ani majordomus.dev, stáhnout archiv release od propojeného peera přes autentizovaný odkaz meshe a nainstalovat ho teprve po ověření jeho digestu a velikosti proti metadatům release, která sám přečetl nebo která byla předána a podepsána publikujícím uzlem.
BLOKOVÁNO vlna 1 · p1 · profil implementation · bezpečné paralelně
Blokováno. Tento úkol nemůže začít, dokud není I2720 hotovo. Stav je z toho odvozen, ne deklarován.
Cíl
Nechat sledující uzel, který se nedostane na github.com ani majordomus.dev, stáhnout archiv release od propojeného peera přes autentizovaný odkaz meshe a nainstalovat ho teprve po ověření jeho digestu a velikosti proti metadatům release, která sám přečetl nebo která byla předána a podepsána publikujícím uzlem.
Proč
ADR 0161. jetson nemá cestu na github.com; dne 2026-10-14 byl jeho archiv v0.25.0 zkopírován ručně přes LAN.
Aktuální stav
Uzel bez cesty k webu se upgraduje ručním zkopírováním archivu na něj.
Cílový stav
self update --apply na takovém uzlu požádá propojeného peera o archiv a metadata, před rozbalením ověří a nainstaluje stejnou cestou instalátoru; neshoda je odmítnuta a oznámena na nástěnce.
Rozsah
- apps/majordomus-cli/src/mesh
- apps/majordomus-cli/src/release
- site/static/install.sh
- docs/MESH.md
- test/cases
Mimo rozsah
- Důvěřovat digestu, který peer pošle bez metadat, jež uzel umí ověřit
Závislosti
- I2720PŘIPRAVENO majordomus self update znovu spustí publikovaný instalátor a nikdy jej nereimplementuje
- I2165HOTOVO Vydaný archiv nese atestaci provenience, kterou instalátor umí ověřit
Kritéria přijetí
- Uzel bez cesty k webu se upgraduje z archivu peera a před rozbalením ho ověří
- Archiv peera, jehož digest se liší od metadat, je odmítnut a nahlášen
Validace
- bin/majordomus plan validate
- MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>
Požadované důkazy
- relayed_archive_verified_test
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/I2724.yaml. Zpětně ho přečtete pomocí majordomus plan show I2724.