Skip to content
Merged
23 changes: 19 additions & 4 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,8 @@ GitHub Team → repository grantu při každém vydání tokenu (fail closed) je
cílový kontrakt, který vyžaduje versionovanou změnu `Lazurio/github-app`
s testy a migrací existujících policy před rolloutem. Commity z Workspace
mají committera `lazurio-for-github[bot]`, autora jako Teamovou
pseudo-identitu a trailer `Lazurio-Workspace: <organization-slug>/<team-slug>`;
pseudo-identitu a trailer `Lazurio-Workspace: <organization-slug>/<team-slug>`
(cílově vedle něj `Lazurio-Environment: <machine>.<org>`, decision 0167);
každá změna jde přes pull request otevřený botem s labelem `team:<slug>`,
který reviewuje a merguje oprávněný Operátor a tím za ni přebírá
odpovědnost. Token s `contents: write` umí na nechráněné `main` pushnout i
Expand Down Expand Up @@ -273,6 +274,16 @@ Launchpad proto používá tři oddělené lifecycle profily:
Machine-wide evidence odvozená ze Start/Open kliknutí není konfigurace žádného
z těchto profilů. Launchpad ji nevytváří ani nečte.

Launchpad LazurioPlatform, který rezidentní Launchpad nahradí (decision 0167),
tyto profily mění: na Linuxu jsou moduly služby operačního systému, spouští je
Launchpad i CLI `lazurio module …` a restart Launchpadu přežijí; na macOS
zůstávají vázané na session. Spouští moduly z `main`; volba worktree nepatří do
přepnutí hostovaných Mašin; náhled pull requestu tam dostane dočasnou URL
Environmentu jako lease (směr rozhodnutý dodatkem 0167, pravidla lease jsou
návrh shapingu).
Profily výše platí pro Launchpad instalací Root Repa do jejich migrace
(decision 0164).

## Runtime Modulu a porty

Port je součást verzovaného kontraktu Modulu. „Lease“ v tomto kontextu znamená
Expand Down Expand Up @@ -381,9 +392,13 @@ LazurioPlatform (nejdřív Linux, potom macOS, Windows po buildu Platformy) a
selhání opraví Agent vpřed ve Folderu. Do své migrace Source Root funguje beze
změny. Ruční přesun Source Rootu není podporovaný postup.

Hosted Resident profily mohou dál používat verzovaný immutable artefakt s
atomickou aktivací a rollbackem. Ani tam se běžící runtime neaktualizuje
přepisem source checkoutu a artefakt nesmí vytvořit druhou datovou autoritu.
Hosted Resident profily dnes používají verzovaný immutable artefakt s
atomickou aktivací a rollbackem. Cílově podle decision 0166 nemá Lazurio ani
Machines návrat na předchozí verzi jako způsob opravy a rezidentní Launchpad
pracovních Mašin zaniká přepnutím na Launchpad LazurioPlatform (decision 0167);
změnu rolí Machines provede samostatné rozhodnutí Machines. Ani tam se běžící
runtime neaktualizuje přepisem source checkoutu a artefakt nesmí vytvořit druhou
datovou autoritu.

Pracovní checkouty aktualizuje jediná explicitní akce `lazurio update`, kterou
volá CLI i tlačítko **Synchronizovat**. Postupuje shora dolů přes Lazurio,
Expand Down
27 changes: 16 additions & 11 deletions distribution/profiles/workspace/root-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,23 @@ textová role ani prompt nevytvářejí druhý ACL.

Na hostované pracovní VM Organizace (`/etc/lazurio/lazurio.machine.json`,
`machine.kind: workspace-vm`) se před první prací i před `lazurio update` řiď
`manual/hosted-machine-first-login.md` v tomto runtime rootu. Dočasně
(decision 0159) operátor přihlásí `gh` libovolným GitHub účtem;
`owner.assignment` přihlášení neomezuje a jiný účet ani chybějící přiřazení
nejsou blocker. Rozlišovacím znakem postupu je `owner.assignment.kind`:

- `operator`, chybějící nebo neplatné přiřazení: osobní postup. Agent ověří,
že `gh` je přihlášený, a řekne operátorovi kterým účtem; přihlášení
a přehlášení provede operátor sám (Launchpad → Nastavení → Zdrojové kódy).
- `team` s nasazeným brokerem: GitHub identitou je výhradně bot Organizace
`manual/hosted-machine-first-login.md` v tomto runtime rootu. Na osobní
pracovní VM dočasně (decision 0159) operátor přihlásí `gh` libovolným GitHub
účtem; platné přiřazení `operator` přihlášení neomezuje na konkrétní účet
a jiný účet není blocker. Rozlišovacím znakem postupu je `owner.assignment.kind`
z platného handoveru:

- `operator`: osobní postup. Agent ověří, že `gh` je přihlášený, a řekne
operátorovi kterým účtem; přihlášení a přehlášení provede operátor sám
(Launchpad → Nastavení → Zdrojové kódy).
- handover chybí, nevaliduje, nebo přiřazení není deklarované: Agent osobní
přihlášení **neprovede** — bez důkazu nejde vyloučit týmovou VM (decision
0168). Stav nahlásí operátorovi a požádá provozovatele Machines o ověření
handoveru; práce bez přihlášení pokračuje.
- `team`: GitHub identitou je výhradně bot Organizace
`lazurio-for-github[bot]`; osobní přihlášení Agent nespouští ani
nenavrhuje. Bez brokeru postupuje jako na osobní VM a upozorní, že všichni
na VM pracují pod přihlášeným účtem.
nenavrhuje. Chybějící broker je vada Machines k opravě vpřed, ne důvod
přihlásit člověka (decision 0168): Agent zapíše blocker a zastaví se.

Nejasný nebo nebezpečný Git stav
se neopravuje odhadem: zachová se a předá Kolegovi jako prompt pro Codex.
Expand Down
Loading
Loading