Co to znamená
Když úloha začíná, Majordomus se podívá na každé jiné worktree téhož repozitáře, přečte jeho záznam aktivní úlohy, pokud nějaký má, a ohlásí každou položku rozsahu, která obsahuje vaši nebo je jí obsažena: lib/auth se překrývá s lib/auth/oauth v obou směrech. Je to hlášení, ne blokace.
Princip
lib/start.sh spustí git worktree list --porcelain, otevře .ai/local/state/current.yaml v každém jiném worktree, ponechá jen záznamy s výsledkem active a po normalizaci testuje každou dvojici cest pomocí mj_path_contains v obou pořadích. check --overlap spouští tentýž report na požádání. Neexistuje žádný vedlejší registr, který by hnil; git je autoritou, které worktree existují.
Jak to vidět
# in worktree A
majordomus start "refresh tokens" --scope lib/auth/oauth
# in worktree B
majordomus start "auth cleanup" --scope lib/auth
# INFO overlap wt-a — claims lib/auth/oauth — contained by your lib/auth [reproduce: majordomus check --overlap]Co nepokrývá
Vidí worktree jednoho repozitáře na jednom stroji. Zda mají dva lidé pracovat na překrývajících se cestách, je koordinační rozhodnutí, takže report nikdy neblokuje.
Proč existuje
Zdrojové prostředí porovnávalo claimy přesnou shodou řetězců, takže se apps/x a apps/x/ nikdy nepřekrývaly a podstrom se nikdy nepřekrýval se svým rodičem. Jeho dva konzumenti se dokonce lišili v pravidle shody. Opravou je jedna normalizovaná funkce porovnávání, kterou používá každý volající.