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.

I3128 — init ends with what it found in the repository it adopted, each finding naming its file

After init writes the layer, print a read-only account of the adopting repository, each line naming the file it read: which instruction files share/providers.yaml declares exist and whether they agree by a rule docs/ADOPTION.md states, which hooks git would run (core.hooksPath and the hook files there) are wired to doctor or check, and whether the effective profile declares verification.verify_commands (I3123).

BLOKOVÁNO vlna 1 · p2 · profil implementation · bezpečné paralelně

Part of a-stranger-adopts-it-unaided — A stranger installs Majordomus and is stopped from a false done in ten minutes, and every outside first run teaches the tool.

Blocked. This issue cannot start until I3123, milestone:a-stranger-adopts-it-unaided are done. The status is derived from that, not declared.

Cíl

After init writes the layer, print a read-only account of the adopting repository, each line naming the file it read: which instruction files share/providers.yaml declares exist and whether they agree by a rule docs/ADOPTION.md states, which hooks git would run (core.hooksPath and the hook files there) are wired to doctor or check, and whether the effective profile declares verification.verify_commands (I3123).

Proč

The 2026-09-15 promotion analysis put a concrete finding about the adopter's own repository at the end of the first three minutes, instead of an onboarding form. Today init answers what it created and what hooks to paste, which tells a stranger nothing about why the tool is worth keeping. Proposed in ADR 0206 (Public outreach begins only after a stranger has finished a first task unaided) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c137#2.

Aktuální stav

lib/init.sh prints 'created ...', the personal/shared cover and hook advice; I1989 (DONE) seeds a scope for the stack it finds; share/providers.yaml declares agents, bb, claude-code, codex, gemini and generic; doctor's wiring check reads only the policy's own enforcement entries; an unlanded peer change (I2941, p7) makes init append an AGENTS.md line to an existing README.

Cílový stav

init's last block is 'found:' lines derived from the same providers/editors data update renders from, with nothing written by it; an adoption fixture asserts each line.

Rozsah

  • lib/init.sh
  • docs/ADOPTION.md
  • test/fixtures/commands/init.json
  • share/commands.yaml
  • .ai/repo/use-cases/adopt-an-existing-repository.md
  • .ai/repo/use-cases/install-the-tool-in-one-command.md
  • .ai/repo/use-cases/use-the-tool-as-your-own-in-a-shared-repository.md
  • .ai/repo/use-cases/say-what-the-tool-is-for.md
  • site/data/generated/catalogue.json
  • site/content/docs/adoption.md
  • .ai/repo/project/intents
  • share/providers.yaml

Mimo rozsah

  • Fixing anything it finds
  • A new audit command or noun
  • Cursor rules, until share/providers.yaml declares a cursor provider
  • Detecting test entry points such as package.json scripts or Makefile targets

Závislosti

Co na tom čeká

Kritéria přijetí

  • In a fixture with two disagreeing instruction files, an unwired pre-commit hook and no verify command, init prints one finding for each, naming the file
  • The findings write nothing; the tree after init is what it was without them
  • The verify-command finding reads verification.verify_commands from the effective profile (I3123) and names the profile file it read; no test entry point is scanned
  • The hook finding reads git config core.hooksPath and the hook files git would run there, so it also sees hooks wired by husky or lefthook
  • The instruction-file finding covers exactly the targets share/providers.yaml declares and compares them by a rule stated in docs/ADOPTION.md
  • The self-check runs init in a temporary clone of this repository with .ai/ removed, and its findings are empty or true; nothing in this checkout is written
  • test/fixtures/commands/init.json, the init note in share/commands.yaml and the recorded init runs in the four use cases are updated, and derive-check passes over site/data/generated/catalogue.json and site/content/docs/adoption.md
  • A personal init's git-status-unchanged check still holds after the findings run
  • In the same change as its case, the intent's criterion init-says-what-it-found is re-recorded as evidence: test with the concrete case path, the case numbered by `scripts/case-numbers next` and announced on the board at start

Validace

  • bash test/run.sh 3113_the_adoption_footprint_is_inventoried
  • majordomus plan validate

Požadované důkazy

  • case_init_findings

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/I3128.yaml. Read it back with majordomus plan show I3128.

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