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.

I1995 — Práce, kterou relace zanechala necommitnutou ve worktree, se pojmenuje, nenajde se náhodou

Zařídit, aby doctor a status worktree pojmenovaly propojený worktree, jehož index nebo pracovní strom drží změny, které nenese žádný commit a nedrží žádná živá relace, s počtem souborů a stářím, aby byla hotová práce na jednom disku vidět dřív než disk.

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

Součást development-runtime — The runtime has a development surface.

Cíl

Zařídit, aby doctor a status worktree pojmenovaly propojený worktree, jehož index nebo pracovní strom drží změny, které nenese žádný commit a nedrží žádná živá relace, s počtem souborů a stářím, aby byla hotová práce na jednom disku vidět dřív než disk.

Proč

Dvakrát za dva dny existovala hotová práce jen na jednom disku. 2026-10-07 seděla polovina oprav bezpečnosti integrace s důvěrou v nahrazení jako 45 necommitnutých souborů ve worktree skončené relace; byla pushnuta jako origin/rescue/integration-supersession-trust-20261007 a staly se z ní #808 a #809. 2026-10-08 seděla doktrína dokončení jako 21 stagovaných souborů ve worktree jiné skončené relace; byla pushnuta jako origin/rescue/completion-doctrine-20261008. Žádná neměla commit ani vzdálený ref a téhož večera na datovém svazku zbývalo 125 MiB. `majordomus doctor` jmenuje větve, jejichž commity nedosáhnou žádného vzdáleného repozitáře. Neříká nic o indexu, který drží práci, již žádný commit nenese, takže obě byly nalezeny jen proto, že někdo náhodou ten worktree četl.

Aktuální stav

doctor hlásí nepushnuté větve. `majordomus worktree` hlásí worktree jako špinavý, aniž by řekl kolik, jak dlouho nebo zda v něm nějaká relace pracuje. Nic nehlásí množinu worktrees s necommitnutou prací, ke kterým nikdo není připojen.

Cílový stav

Jedno čtení vypíše každý propojený worktree s připravenými nebo nepřipravenými změnami: počet cest, stáří nejstarší změny a zda je tam aktivní relace nebo úloha. doctor varuje u každého, který je starší než deklarované stáří a nemá aktivní relaci. Čtení nic nemění a navrhne příkaz, který práci zachová na remote ref.

Rozsah

  • apps/majordomus-cli/src/capability/builtin/worktree.rs
  • lib/doctor.sh
  • docs/WORKTREES.md
  • test/cases

Závislosti

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

Kritéria přijetí

  • Worktree se staged soubory a bez aktivní relace je doctorem jmenován s cestou, počtem cest a stářím nejstarší
  • Worktree s necommitovanou prací a aktivní úlohou nebo připojenou relací je vypsáno a neupozorňuje se na něj
  • Čtení nic nezapisuje: `git status` každého worktree je před ním i po něm stejný

Validace

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

Požadované důkazy

  • abandoned_index_named_case
  • reading_is_read_only_case

Důkazy

pokrývátypcommandvýsledeku commitu
abandoned_index_named_casetestMJ_TEST_JOBS=3 bash test/run.sh 3025_abandoned_work_in_a_worktree_is_named 02_doctor_basic 599_a_silent_check_is_not_a_pass 96_worktree_topologytesty: 4 passed, 0 failed; případ 3025 sestaví čtyři linked worktrees: jeden se 3 staged cestami zestárlými na rok 2020 a opuštěnou epizodou doctor jmenuje s cestou, počtem, stářím a záchranným příkazem; jeden držený aktivní úlohou a jeden živou epizodou jsou vypsány a nevarují; kontext commit hooku vypíše, že nečte, a čtení nikdy nevolá (běh 2026-10-14 17:2xZ na masteru ff3829709616e638596315d6ca42be64b570b74f plus tato změna)ff38297
reading_is_read_only_casetestMJ_TEST_JOBS=3 bash test/run.sh 3025_abandoned_work_in_a_worktree_is_named 02_doctor_basic 599_a_silent_check_is_not_a_pass 96_worktree_topologycase 3025 compares git --no-optional-locks status --porcelain and each index's bytes and mtime of all five worktrees before and after the CLI reading, the MCP call and doctor: identical. Against this machine's real repository: 301 worktrees identical before and after, 91 with uncommitted work, 54 abandonedff38297

Časová osa

zahájeno
2026-10-14T17:16:55Z
ověřeno
—
dokončeno
2026-10-14T17:17:04Z

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/I1995.yaml. Přečtěte jej zpět pomocí majordomus plan show I1995.

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