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.

I1980 — Vrstva pojmenovává verzi nástroje, pro kterou byla napsána, a doctor rozliší nesoulad verzí od vad

Zaznamenat do .ai/manifest.yaml verzi nástroje (nebo vrstvy), se kterou byla vrstva naposledy migrována. doctor pak nálezy, které novější nástroj vznese proti starší vrstvě, klasifikuje jako rozdíl verzí s pojmenováním migrace, která je odstraní, místo aby selhával jako defekty. Vrstvu zapsanou novějším nástrojem starší nástroj odmítne se zprávou, nikoli kaskádou.

PŘIPRAVENO vlna 0 · p0 · profil deep-work · bezpečné paralelně

Součást adopter-upgrades — Adoptující repozitář přežije upgrade Majordomu a to, co do něj nástroj vendoruje, je neutrální vůči adoptujícímu.

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

Cíl

Zaznamenat do .ai/manifest.yaml verzi nástroje (nebo vrstvy), se kterou byla vrstva naposledy migrována. doctor pak nálezy, které novější nástroj vznese proti starší vrstvě, klasifikuje jako rozdíl verzí s pojmenováním migrace, která je odstraní, místo aby selhával jako defekty. Vrstvu zapsanou novějším nástrojem starší nástroj odmítne se zprávou, nikoli kaskádou.

Proč

OSCILLA 34f967a (#64): instalace 0.12.0 pro celý stroj zčervenala doctor se 433 selháními: 497 nezapečetěných razítek plánu ve 181 úkolech a 135 kroků případů užití překlasifikovaných jako měnící stav. Jeho pre-commit hook spouští doctor, takže každý commit v tom repozitáři, včetně peerů, byl odmítnut, dokud se vrstva ručně nemigrovala. Migrovanou vrstvu pak odmítla 0.10, takže se nejdřív musel přepnout launcher. Ani doctor, ani dokumentace nedokázaly říct, že příčinou byl upgrade.

Aktuální stav

Na e08aec8651 neuvádí verzi nástroje ani .ai/manifest.yaml (schéma ai-repository/v1), ani policy.yaml. lib/migrate.sh řeší jen .majordomus/ na .ai/. docs/INSTALL.md 'Upgrading and reinstalling' říká spustit instalátor znovu.

Cílový stav

Klíč manifestu (například `tool: 0.12`) zapsaný init a migrate. doctor jej porovná s vlastní verzí: starší znamená, že nálezy, které nová verze zavedla, se čtou jako posun verzí s `majordomus migrate --layer`; novější znamená jedno jasné odmítnutí. INSTALL.md říká, že se má migrovat na větvi před přepnutím launcheru.

Rozsah

  • share/schemas
  • share/skeleton
  • .ai/manifest.yaml
  • lib/doctor.sh
  • lib/migrate.sh
  • lib/init.sh
  • docs/INSTALL.md
  • share/install
  • test/cases

Závislosti

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

Co na tom čeká

Kritéria přijetí

  • Fixture vrstvy napsaný pro předchozí minor verzi a upgradovaný na místě dává výstup doctoru, který jmenuje verzní nesoulad a příkaz migrate a končí stavem nesouladu, který úkol definuje, ne 10 pro každý nález
  • Vrstvu, jejíž manifest jmenuje novější nástroj, starší nástroj odmítne jedinou zprávou uvádějící obě verze
  • init zapisuje klíč verze a migrate ho posouvá

Validace

  • bin/majordomus plan validate
  • MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>

Požadované důkazy

  • version_skew_case
  • newer_layer_refused_case
  • install_docs_upgrade_step

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/I1980.yaml. Načtěte jej zpět pomocí majordomus plan show I1980.

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