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.

I1103 — Zda je soubor psaný ručně, nebo odvozený, je pole, ne konvence pojmenování

Dát každému strojově zpracovatelnému artefaktu explicitní původ a životní cyklus — authored, derived, generated, cache nebo runtime — s jeho generátorem, vstupy a informací, zda je zahoditelný, aby žádný konzument nemusel z cesty odvozovat, co soubor je.

BLOKOVÁNO vlna 2 · p0 · profil implementation · bezpečné paralelně

Součást two-folder-integration — Repozitář, který přijme Majordomus, získá dva adresáře a dva řádky a může je vrátit.

Blokováno. Tento úkol nemůže začít, dokud není I1102 hotov. Stav je z toho odvozen, ne deklarován.

Cíl

Dát každému strojově zpracovatelnému artefaktu explicitní původ a životní cyklus — authored, derived, generated, cache nebo runtime — s jeho generátorem, vstupy a informací, zda je zahoditelný, aby žádný konzument nemusel z cesty odvozovat, co soubor je.

Proč

Vygenerovaný soubor, který nelze odlišit od napsaného, se časem stane vstupem a pak ho nelze znovu vygenerovat, aniž by se něco ztratilo. Rozhodovat o tom podle názvu adresáře funguje do první výjimky.

Aktuální stav

Generované artefakty nesou banner nebo člena rozšíření, který říká, že jsou generované, a čte jej validátor manifestu. Nic neuvádí vstupy generátoru ani to, zda lze artefakt smazat a znovu sestavit.

Cílový stav

Původ a životní cyklus jsou typovaná pole, která nese každý artefakt, a spotřebitel rozhoduje, co s souborem smí, jejich přečtením.

Rozsah

  • apps/majordomus-cli/src/generate.rs
  • share/schemas

Mimo rozsah

  • Nahrazení stávajícího mechanismu banneru tam, kde už otázku zodpovídá
  • Pole provenance, které opakuje to, co už určuje id schématu

Závislosti

Kritéria přijetí

  • Každý generovaný artefakt deklaruje svůj generátor, svou verzi a kanonické vstupy, ze kterých se odvozuje
  • Zahoditelnost je explicitní, takže konzument pozná, co lze smazat a znovu sestavit a co ne
  • Vygenerovaný artefakt se nikdy nečte zpět jako kanonický vstup a kontrola to dokazuje
  • Ručně psané artefakty se odliší od odvozených bez nahlížení na cestu

Validace

  • majordomus generate --check
  • cargo test --workspace --all-features

Požadované důkazy

  • provenance_declared
  • disposability_explicit

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á.

Riziko

Zaznamenávání vstupů zve k jejich ručnímu zaznamenávání. Seznam vstupů se odvozuje z generátoru, nebo se nezaznamenává.

Č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/I1103.yaml. Přečtěte jej zpět přes majordomus plan show I1103.

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