Jak Firstmate řídí práci od požadavku až po bezpečný úklid
Firstmate je koordinátor nad terminálovým runtime, gitem a GitHubem. Jeho hlavní přidaná hodnota není „spustit další AI“, ale udržet vlastnictví, rozhodovací pravomoc a důkaz, že žádná práce nezmizí.
1. Topologie a vlastnictví
Kapitán mluví jen s hlavním Firstmate. Ten zapisuje trvalý průběh, spouští pracovní relace v oddělených kopiích a používá externí nástroje pouze jako vykonavatele.
záměr + konečné schválení"] --> F["Hlavní Firstmate
koordinace + politika"] F --> R["Trvalá evidence
projekty · práce · rozhodnutí · reporty"] F --> T["Terminálový runtime
okna · záložky · procesy"] F --> G["Git
větev · izolovaná kopie · důkaz začlenění"] F --> H["GitHub
PR · CI · merge stav"] T --> A["Pracovní relace
mění jen svou izolovanou kopii"] A --> G A --> R G --> P["Projekt kapitána"] H --> P
Firstmate vlastní proces
Přijme požadavek, určí tvar práce, vytvoří oddělenou kopii, dohlíží, směruje rozhodnutí a ověřuje výsledek.
Pracovní relace vlastní realizaci
Čte a mění pouze přidělenou kopii. Nemá právo mluvit za kapitána ani rozšiřovat zadání.
Kapitán vlastní hranice
Začlenění, odeslání ven, destruktivní kroky, přístupové údaje a nové zásadní závazky.
2. Celý proces
Společný začátek je stejný. Až u výsledku se cesta rozdělí: změna čeká na začlenění, průzkum zanechá trvalou zprávu a bezpečně končí.
a otevřených rozhodnutí?"} F -- "Ne" --> G["Ponechat viditelné"] F -- "Ano" --> H["Automatický úklid"] H --> I["Kapitán čte nález"] I --> J{"Chce změnu?"} J -- "Ano" --> K["Nové samostatně schválené zadání"] J -- "Ne" --> L["Konec bez změny projektu"]
3. Rozhodovací mapa
Nejdřív se kontroluje riziko. Teprve potom lze automaticky přijmout doporučenou odpověď. Vše, co mění rozsah nebo může způsobit nevratný dopad, jde kapitánovi do hlavního okna.
v hlavním Firstmate okně"] R -- "Ne" --> S{"Je odpověď už v zadání?"} S -- "Ano" --> F["Firstmate ji zopakuje"] S -- "Ne" --> D{"Je bezpečná doporučená volba?"} D -- "Ne / nejasné" --> C D -- "Ano" --> Y{"Projekt dovoluje
rutinní doporučení?"} Y -- "Ano" --> A["Firstmate vybere doporučení"] Y -- "Ne" --> C C --> P["Odpověď se předá zpět"] F --> P A --> P P --> W["Práce pokračuje"]
| Situace | Rozhoduje | Kde | Výsledek |
|---|---|---|---|
| Odpověď už výslovně obsahuje zadání | Firstmate | Automaticky předá pracovní relaci | Bez vyrušení kapitána |
| Bezpečná doporučená volba uvnitř schválené práce | Firstmate | Automatická odpověď | Pro oba současné projekty povoleno |
| Nejasná volba bez bezpečného defaultu | Kapitán | Hlavní Firstmate okno | Firstmate uvede důkaz, možnosti a doporučení |
| Nový subsystém, závislost, garance nebo rozšíření rozsahu | Kapitán | Hlavní Firstmate okno | Práce čeká na explicitní volbu |
| Přístupové údaje, destruktivní nebo nevratná akce | Kapitán | Hlavní Firstmate okno | Nikdy automaticky |
| Lokální začlenění, push nebo merge | Kapitán | Výslovné slovo v hlavním okně | Samotné „yolo“ nestačí |
| Zakázaný push/PR z průzkumu | Firstmate odmítne | Automaticky | Odmítnutí nerozšiřuje pravomoc |
| Vynucené odstranění bez bezpečnostního důkazu | Kapitán | Explicitní destruktivní příkaz | S jasným varováním |
4. Stavový automat práce
Terminál může hlásit „hotovo“, ale Firstmate tomu nevěří bez reportu z aktuálního kola a u změn také bez nového commitu nebo důkazu, že už byly začleněny.
5. Kdy se smí zavřít záložka a odstranit kopie
Úklid je založený na nezávislých důkazech. Pokud je některá informace nečitelná, výsledek je „neprokázáno“, nikoliv tichý souhlas.
a vypsat všechny důvody"] B -- "Ano" --> D["Zavřít přesnou pracovní záložku"] D --> E["Odstranit izolovanou kopii přes git"] E --> F["Ponechat větev jako další pojistku"] F --> G["Zapsat uzavření"]
6. Více domovů Firstmate
Každý domov má vlastní evidenci projektů, prací, rozhodnutí a svého crew okna. Terminálový runtime je ale sdílený, takže domovy vidí stejné běžící procesy, aniž by sdílely záznamy.
vlastní záznamy + crew okno"] --> RT["Sdílený terminálový runtime"] H2["Domov B
vlastní záznamy + crew okno"] --> RT RT --> X["Všechny viditelné pracovní procesy"] H1 -. "nečte záznamy B" .-> H2 H2 -. "nečte záznamy A" .-> H1
7. Co platí právě teď
Je nutné oddělit aktivní kód, provozní nastavení a připravenou změnu. Jinak vzniká falešný dojem, že vše už funguje stejně jako zamýšlená politika.
Rutinní dialogy se automaticky potvrzují všem
Aktuální implementace při rozhodování ignoruje projektové nastavení. Současně umí ve výstupu naznačit automatické lokální začlenění, které ve skutečnosti neprovádí.
Oba současné projekty dovolují doporučené rutinní volby
Tvoje preference je uložená i pro budoucí registrace. Začlenění a odeslání výsledků stále vyžaduje výslovné slovo.
Oprava přesně zarovná kód s politikou
Automatické doporučení jen při povoleném nastavení, rizika vždy kapitánovi a žádné tvrzení, že „yolo“ dovoluje začlenění. Změna čeká na tvoje slovo.
Známé startovní tření
- Nový kořen může zobrazit trust dialog jako zdánlivě nečinnou relaci.
- Codex se bez vypnuté kontroly aktualizací může ukončit ještě před načtením zadání.
- Claude může být nedostupný kvůli organizační autentizaci.
- Některé editory mohou nechat celé zadání pouze připravené ve vstupním poli; bezpečná obnova smí stisknout Enter jen při přesném důkazu.
Co systém záměrně nedělá
- Nemá permanentní monitor; dohled se spouští po jednotlivých událostech.
- Neslučuje divergující historii a neřeší konflikty automaticky.
- Nezakládá vzdálené repozitáře a neposílá ven nic bez pojmenovaného souhlasu.
- Nezavírá automaticky celé crew okno po poslední práci.
Nejpevnější bezpečnostní invarianty
- Koordinátor nepíše do projektů.
- Nevzniká druhá izolovaná kopie, dokud první není účetně uzavřená.
- Terminálový signál není důkaz dokončení.
- Nečitelný stav nikdy neznamená souhlas s odstraněním.
- Push nikdy nepřepisuje vzdálenou historii.
- PR není považován za sloučený bez nezávislého důkazu.
8. Důkazní mapa
Hlavní tvrzení byla ověřena proti implementaci a testům. Úplný rejstřík s přesnými řádky je součástí zdrojové analytické zprávy.
| Oblast | Implementace | Testy / kontrakt |
|---|---|---|
| Zadání a vznik izolované práce | src/dispatch.ts, src/brief.ts | test/dispatch.test.ts, output-contract testy |
| Dohled a rozhodování | src/supervise.ts | test/supervise.test.ts, false-completion testy |
| Začlenění a CI | src/ship.ts, src/landing.ts | ship, remote-ship, CI-gate a landing testy |
| Úklid oken a kopií | src/completion.ts, src/workspace.ts | clean-scout, ship a window-management testy |
| Trvalá evidence a rozhodnutí | src/state.ts, src/holds.ts, src/lock.ts | state, holds a lock testy |
| Startup a obnova | src/cli.ts, reconcile část dohledu | brief-me, home-paths a reconcile testy |