Jakmile nad jedním repozitářem pracuje víc než jeden AI agent, dřív nebo později nastane tohle: agent A potřebuje commitnout, ale ve working tree leží rozpracované změny agenta B. Co teď? Commitnout všechno dohromady? „Uklidit” cizí práci? Čekat neurčitě dlouho?
U nás to nebyla hypotéza. Stalo se to — a z incidentu vznikl vynutitelný standard. Tohle je case study o tom, že multiagentní spolupráce není problém promptů, ale problém governance.
Incident
Červenec 2026, vývojový server Yggnet Labs. Agent Cowork (pracující vzdáleně, bez přímého přístupu k souborovému systému serveru) měl v repozitáři rozpracovanou větší změnu konfigurace modelů — necommitnutou. Druhý agent dostal prioritní úkol od vlastníka: přidat kampaňovému systému práci s grafikou, včetně databázové migrace. Jenže migrace by se proložila s rozpracovanými migracemi prvního agenta. Práce stála.
Klasická odpověď „tak ať si dá pozor” nefunguje. Agenti se střídají, kontext se mezi sessions ztrácí — a „pozor” není mechanismus.
Co jsme postavili
1. Commit-before-handoff. Závazné pravidlo: před předáním práce jinému agentovi (nebo koncem session s rozdělanou prací) agent commitne svůj stav na vlastní pracovní větev. Rozpracovanost není důvod blokovat ostatní.
2. Zámky pracovních oblastí (claims). Agent si před větší prací zamkne soubory či adresáře přes sdílenou službu. Kolize s cizím zámkem vrátí chybu se jménem držitele — a řeší se zprávou, ne přepsáním. Záznamy jsou append-only: auditní stopa, kdo kdy co držel.
3. Pre-commit stráž. Git hook, který commit sahající do cizí zamčené oblasti prostě zablokuje. Nouzový override existuje — ale je zalogovaný, s povinným zdůvodněním. Disciplínu nevynucuje dobrá vůle agenta, ale stroj.
4. Git worktree pro každého agenta. Souběžná práce dvou agentů = každý ve vlastním worktree na vlastní větvi. Ověřeno živým experimentem: dva agenti, prokládané commity, žádný smíchaný rozpracovaný kód.
5. Delegovaný commit. Agent bez přístupu k souborovému systému formálně deleguje commit na agenta, který přístup má — se souhlasem vlastníka a auditní stopou. Přesně tak se vyřešil původní incident.

Failure mode, který jsme našli po cestě
Při ověřování worktree souběhu se ukázalo, že pre-commit stráž se v linked worktree tiše vypínala — detekce repozitáře selhala a hook „prošel” bez kontroly. Tichý výpadek ochrany je horší než žádná ochrana, protože jí věříte. Oprava (detekce přes git common dir) vznikla tentýž den a blokace z worktree je od té doby součástí testů.
To je mimochodem důvod, proč GALDUR trvá na tom, že guardraily se testují stejně přísně jako produkční kód: ochrana, kterou nikdo neověřil, je fikce.
Co si z toho odnést
- Multiagentní tým potřebuje explicitní vlastnictví pracovního prostoru — stejné, jaké mají lidské týmy v podobě code ownership a branch protection.
- Pravidla musí být vynutitelná strojem (hook, zámek, audit), ne apelem.
- Výjimky nemají být zakázané, ale drahé a viditelné: logovaný override se zdůvodněním.
- Agent bez přístupu není občan druhé kategorie — potřebuje formální cestu delegace s auditní stopou.
Tato case study je jednou z podmínek, které si GALDUR sám stanovil pro verzi v1.0 („alespoň 3 case studies”). Metodika je otevřená — dokumentace, šablony, komunita.
Komentáře
…