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.

I2941 — Čerstvý init nechá doctor čistý: README, které nejmenuje AGENTS.md, získá jeden odstavec, který ho jmenuje

Zajistit, aby cesta čisté instalace adoptéra (init, update, dva řádky hooku) byla pro doctor čistá: sdílený init připojí jednou jeden odstavec jmenující AGENTS.md k existujícímu README.md, které ho nezmiňuje, zbytek README nechá bajt po bajtu a vypíše ho mezi tím, co vytvořil; žádné README nevytváří a osobní vrstva README projektu nechává být.

HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně

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.

Cíl

Zajistit, aby cesta čisté instalace adoptéra (init, update, dva řádky hooku) byla pro doctor čistá: sdílený init připojí jednou jeden odstavec jmenující AGENTS.md k existujícímu README.md, které ho nezmiňuje, zbytek README nechá bajt po bajtu a vypíše ho mezi tím, co vytvořil; žádné README nevytváří a osobní vrstva README projektu nechává být.

Proč

Běh alpha-contract na vydaném v0.29.0 (2026-10-17) zjistil, že čerstvé `majordomus init` + `update` + hooky v odkládacím repozitáři s README jednou selže v `doctor`: „README.md does not name AGENTS.md; a reader cannot find the agent bootstrap“ (majordomus.bootstrap-integrity, lib/doctor.sh mj_validate_bootstrap) a init to nikdy neřekne. Každý první adopter narazil na jedno nevysvětlené FAIL. Pravidlo vyžaduje, aby README jmenovalo AGENTS.md; nic nebrání initu přidat to ve sdílené vrstvě (init už stejným způsobem připojuje k .gitignore a regionové projekce existují, aby ručně psaný soubor byl adoptován, ne nahrazen), zatímco pravidlo osobní vrstvy drží README projektu mimo dosah, jak už doctor tam přeskakuje. Init tedy odstavec zapisuje, místo aby tiskl krok.

Aktuální stav

init nechává README.md nedotčené; doctor na něm pak selže v bootstrapu.

Cílový stav

init, update a řádky hooků nechají doctor s 0 FAIL v repozitáři s README, bez něj i s takovým, které už jmenuje AGENTS.md.

Rozsah

  • lib/init.sh
  • share/install/INSTALL.md.in
  • docs/INSTALL.md
  • test/cases/3340_a_fresh_init_leaves_doctor_clean.sh

Závislosti

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

Kritéria přijetí

  • Pomocný repozitář s README, které nic nejmenuje, dostane init, update a řádky hooku a doctor skončí s 0 bez FAIL
  • Opakovaný běh nic nepřidá; README jmenující AGENTS.md se nedotkne; žádné README se nevytvoří; personal init README ponechá

Validace

  • bash test/run.sh 3340_a_fresh_init_leaves_doctor_clean 01_init 02_doctor_basic 03_update 19_end_to_end 2979_a_personal_layer_changes_nothing_shared

Požadované důkazy

  • fresh_adoption_case

Důkazy

pokrývátypcommandvýsledeku commitu
fresh_adoption_casetestMJ_TEST_JOBS=3 bash test/run.sh 3340_a_fresh_init_leaves_doctor_clean 01_init 02_doctor_basic 03_update 19_end_to_end 2979_a_personal_layer_changes_nothing_sharedtesty: 6 prošlo, 0 selhalo, 0 přeskočeno na 4f3b3490d6c (3340 prochází i s exportovaným MJ_ROOT); mutace: bez volání mj_init_readme 3340 selže na doctor exit 10, zjištění alpha-contract4f3b349

Časová osa

zahájeno
2026-10-17T20:38:14Z
ověřeno
2026-10-17T20:38:24Z
dokončeno
2026-10-17T20:38:39Z

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/I2941.yaml. Zpětně ho přečtete pomocí majordomus plan show I2941.

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