Repository navigation
Description
Upstream T3 Code vydal stabilní vydání v0.1.5 (commit 6d450a4284852af137b2f3407fddd89eb76e7644). main stojí na v0.1.3. Postup: Nové stabilní vydání upstreamu.
Ostrá přestavba. Organization Admin rozhodl 2026-10-29, že přestavba na v0.1.4 (#143, PR #144) proběhne nanečisto a ostrá přestavba půjde celou cestou, etapami 2–9. Během přestavby na v0.1.5 vydal upstream 2026-10-31 stable v0.1.6, a proto přestavba podle runbooku přechází rovnou na v0.1.6 (rozhodnutí F). Candidate staví na stacku z #149 (2d22c87f35). Ten nese všechny opravy z #144, které review schválilo na ee23560530. Inventura v0.1.3 → v0.1.5 je v historii úprav tohoto issue, tabulka níže je inventura v0.1.5 → v0.1.6 nad tímto stackem.
Přestavba overlaye Lazuria na nové stabilní vydání upstream T3 Code. Postup
a příkazy:
Nové stabilní vydání upstreamu.
Issue je veřejné: žádná jména klientských Organizací, lidí ani soukromých
hostů, jen Environmenty a role.
Vstupy
- Nová báze:
v0.1.6=2359643cffa6ba9ee84d6f2694b935de54a8013e(lehký tag, ověřeno protipingdotgg/t3codepřesgit ls-remote; vydáno 2026-10-31 10:52:24Z) - Stará báze:
v0.1.3=d2c440312e5f39d59827ed466838a623516454d6;main=409b1b09c322746b5972343f640f9d7357cc76e9(včetně řádku 33, Buddy's chat: a message sent while Buddy works must steer his running turn (Hermes session.steer), never stop it #138) - Zachycení
main: stablev0.1.3-lazurio.1vyšel 2026-10-30 v 15:07:06Z a jeho tag ukazuje na409b1b09c322746b5972343f640f9d7357cc76e9, tedy na špičkumain(ověřenogit ls-remote). - Výchozí stack:
lazurio/rebuild-v0.1.5na2d22c87f3506165365918f9e4ae4d24dd154b668(PR Rebuild the Lazurio overlay on upstream T3 Code v0.1.5 #149, Lazurio Fork CI zelené v běhu 41087160726; review se stáhlo kvůli přechodu na v0.1.6). - Candidate: branch
lazurio/rebuild-v0.1.6, PR Rebuild the Lazurio overlay on upstream T3 Code v0.1.6 #152, heade8098266fc8c467043f9c0bb49a1657ae38a953a(31 commitů, řádek 5 poslední; dřív0ddf6f4628). Lazurio Fork CI: běh 41230624256. Review APPROVED na tomto headu 2026-10-31 21:55:31Z. mainvyměněný 2026-10-31 22:16:59 UTC:409b1b09c3→e8098266fc.
Etapy
- 1. Sledování: issue je přiřazené Stewardovi a vstupy jsou vyplněné.
- 2. Inventura a rozhodnutí: tabulka rozhodnutí je vyplněná a rozhodnutí,
která mění chování nebo kontrakt, mají schválení Organization Admina
(s citací zvolené možnosti). - 3. Přestavba candidate: jeden commit na řádek v pořadí Cílového stacku,
řádek 5 poslední. - 4. Kontrakt a stráže:
Lazurio Fork CIje zelené na přesném headu PR;
posunuté piny kontraktního testu a změny allowlistu jsou v PR. - 5. Kompatibilita s Lazuriem: každá brána má zápis.
- 6. Výměna
main: zachycení je ověřené,mainje vyměněný
(expected_old_main→candidate_head) a nové upstream workflow jsou
vypnuté. - 7. Náhled na canary: preview
X.Y.Z-preview.YYYYMMDD.Nprošlo na Ring 0
kontrolami i kontrolou v prohlížeči. - 8. Stable a nasazení: změny Platformy a Machines jsou nasazené, oznámení
lidem je venku,X.Y.Z-lazurio.1je vydané, Update tlačítkem
z předchozího stable je ověřený a plán dalších vln je předaný Adminovi. - 9. Po vydání: návrhy upstreamu jsou podané, runbook a skill jsou
doplněné a issue se zavírá.
Rozhodnutí po řádcích Overlaye (v0.1.5 → v0.1.6)
Jeden řádek na každý řádek tabulky Overlay. Rozhodnutí: ponechat, přestavět,
zmenšit nebo odebrat; k tomu případně nabídnout upstreamu (s odkazem).
Upstream mezi v0.1.5 a v0.1.6 změnil 68 z 279 souborů overlaye. Zkušební přehrání stacku po commitech: 19 čistě, 12 s konfliktem (řádky 4, 9, 15, 16, 18, 20, 21, 23, 25, 26, 28, 30). Konflikty jsou všechny sousedské (oba bloky zůstávají), kromě řádku 4.
| # | Řádek | Co upstream změnil v jeho souborech | Rozhodnutí | Zdůvodnění a dopad | Schválení |
|---|---|---|---|---|---|
| 1 | hosted: configurable client session TTL |
SessionStore.ts (pingdotgg#27998 sezení se stejným klíčem DPoP drží socket), config.ts (pingdotgg#27904 stateDir 0700), cli/config.ts (pingdotgg#27996 T3CODE_LAN, pingdotgg#27817 quietLogs) |
ponechat | Upstream TTL nastavit neumí (DEFAULT_SESSION_TTL 30 dní). Šev beze změny, přehrání čisté. |
Admin podle mandátu |
| 2 | hosted: serve behind an explicit HTTPS external origin |
auth/utils.ts (pingdotgg#23340 jen inferBrowser), cli/config.ts (pingdotgg#27996 T3CODE_LAN) |
ponechat | Explicitní T3CODE_HOST=127.0.0.1 vyřazuje privateNetworkOnly i T3CODE_LAN (cli/config.ts:424-437), bind zůstává na loopbacku. Přehrání čisté. |
Admin podle mandátu |
| 3 | hosted: explicit environment label |
nic | ponechat | Přehrání čisté. | Admin podle mandátu |
| 4 | feat: in-app update from the configured release channel |
updateEverything.logic.ts (pingdotgg#27847: web už na npm nečeká, server má server.getNpmRelease), unit služby (pingdotgg#27176, pingdotgg#27239: MemoryLow, OOMScoreAdjust), instalátory (pingdotgg#27996) |
zmenšit | Výjimka pro waitForNpm z v0.1.5 je bez předmětu, upstream čekání na npm odstranil. Konflikt vyřešit stranou upstreamu, přestavět lazurio/serverUpdateOffer.test.ts, upravit komentář allowlistu v lazurio-fork-ci.yml, zprávu commitu a větu o npm v docs/user/updating.md. Limity paměti v unit převzít (rozhodnutí M). |
Admin podle mandátu |
| 5 | release: Lazurio distribution |
Soubory řádku upstream nemá. Nové workflow mobile-eas-preview-fork.yml (pingdotgg#27292), změněné release.yml a mobile-eas-*.yml. |
ponechat (obsah aktualizovat) | Báze v0.1.6/2359643c, verze 0.1.6-lazurio.0, piny waitForNpm v kontraktním testu nahradit (řádek 4). Nové workflow vypnout při výměně main. Node 26.12.1, pnpm 12.14.0 a Electron 44.10.0 se nemění. |
Admin podle mandátu |
| 6 | lazurio: unsent prompt draft by link from the shell |
nic | ponechat | Archivovaný projekt Folderu, který by odkaz otevřel, nevznikne (rozhodnutí G). | Admin podle mandátu |
| 7 | feat(web): Lazurio shell slot |
SidebarChrome.tsx (pingdotgg#27430 tlačítka zpět/vpřed jen v Electronu, pingdotgg#24209 popisek loga) |
ponechat | Švy slotu beze změny, přehrání čisté. | Admin podle mandátu |
| 8 | feat(server): each thread's provider processes get its agent-browser session |
CodexAdapterV2.ts, terminal/Manager.ts, server.ts; mimo soubory řádku AgentScopeShape.kill (pingdotgg#27252) |
ponechat | Švy stojí. Dva mocky AgentScopeShape v agentBrowserSession.test.ts doplnit o kill, jinak test nepřeloží. |
Admin podle mandátu |
| 9 | feat(web): the right panel shows the thread's Environment browser tabs |
rightPanelStore.ts, RightPanelTabs.tsx (pingdotgg#26901 side chats, pingdotgg#19941, pingdotgg#21508), ChatView.tsx |
přestavět | Konflikt v 6 blocích, všechny „ponechat obojí“. Vložený side chat (embedded) nesmí pouštět hook karet overlaye se svým vláknem: useLazurioThreadTabs(embedded ? null : …), stejně jako upstream vypíná své panely (rozhodnutí K). |
Admin podle mandátu |
| 10 | feat(server): T3's browser tools drive the Environment browser |
ServerEnvironment.ts (pingdotgg#26154, pingdotgg#26901, pingdotgg#27847); mimo soubory řádku reportProfiles → profileReporter (pingdotgg#21745) |
přestavět (malá úprava) | Přehrání čisté, ale lazurio/serverBrowser.ts nepřeloží: vypnutý ServerBrowser dává profileReporter: Effect.succeed(() => Effect.void). Protokol brokeru i kontrakty preview beze změny. |
Admin podle mandátu |
| 11 | feat(server): a thread's Environment browser tabs live in its holder file |
server.ts (pingdotgg#27746) |
ponechat | Importy existují se stejnou signaturou. | Admin podle mandátu |
| 12 | feat(server): archiving or deleting a thread lets go of its tabs and stops its agent's daemon |
nic; sémanticky pingdotgg#26901 (smazání rodiče smaže i side chaty) | ponechat | Smazání pustí karty i side chatů. Archivace rodiče side chaty nearchivuje: mezera mimo přestavbu, #153. | Admin podle mandátu |
| 13 | feat(web): "+" and the empty panel open Nová karta |
RightPanelTabs.tsx, rightPanelStore.ts (pingdotgg#26901) |
přestavět (malá úprava) | Po řádku 9 čisté. Upstream akce „Side chat“ se v Nové kartě objeví jako nástroj side-chat (rozhodnutí K). Nezávislá kontrola našla, že po volbě side chatu zůstala vedle něj osiřelá karta Nová karta: ChatView teď předává promise akce (sideChat.open()) a side chat zaujme místo Nové karty, až ho server založí; browser test v LazurioNewTab to drží. |
Admin podle mandátu |
| 15 | feat(lazurio): provide a managed Folder project and native model reconciliation |
Pin a archivace projektů (pingdotgg#26154), klonování projektů (pingdotgg#24915, mutateProjectWithClone), ws.ts, CommandPalette.tsx, serverSettings.ts (pingdotgg#27115, pingdotgg#24472) |
přestavět | Konflikty mechanické (ws.ts: managedFolderClientConfig + mutateProjectWithClone; CommandPalette.tsx: upstream addProjectAction + podmínka overlaye). Nově: server odmítne archivaci projektu Folderu, s testem (rozhodnutí G). Na Environmentu Lazuria deskriptor nehlásí capabilities.triage a guardTriage v server.ts odmítne prepare (rozhodnutí I, #147). Rozhodnutí B platí. |
Admin podle mandátu |
| 16 | feat(web): the in-app name T3 Code (Lazurio) |
SidebarChrome.tsx (pingdotgg#27430, pingdotgg#24209) |
ponechat | Konflikt jen v importech. Na Environmentu Lazuria se neukáže toast „Star on GitHub“ (pingdotgg#27832, rozhodnutí H): useComposerSend počítá prompt přes lazurio/starPrompt.ts, který Environment se složkou Lazuria přeskočí. |
Admin podle mandátu |
| 17 | feat(web): the design system's light look on a Lazurio Environment |
nic; index.css přidal hr přes --contrast-muted-foreground v tmavém režimu (pingdotgg#22367) |
ponechat | Přehrání čisté, proměnné theme.css beze změny. |
Admin podle mandátu |
| 18 | feat(lazurio): providers sign in through Lazurio, and the Launchpad turns them on |
AddProviderInstanceDialog.tsx (pingdotgg#27115 zdroje tajemství), CodexSetupSection.tsx (pingdotgg#23160) |
ponechat | Konflikt jen v importech. Stráže start a importProfile sedí. Secret providers zůstávají vypnuté (rozhodnutí J). Opravuje #145: ws.ts vede chatGptHandoffSubscribe přes LazurioProviderSignIn.handoff, který na Environmentu Lazuria (T3CODE_LAZURIO_FOLDER) odmítne s LAZURIO_CHATGPT_HANDOFF pro každou instanci; stráž odmítá i reconnectProfile a web přes primární Environment Lazuria handoff nespouští. |
Admin podle mandátu |
| 19 | feat(lazurio): the Environment pairs its own browser |
contracts/auth.ts (pingdotgg#27986), EnvironmentAuth.ts (pingdotgg#25222), cli/config.ts |
ponechat | Symboly existují, standardní rozsahy beze změny. | Admin podle mandátu |
| 20 | feat(server): t3 auth session issue sets an MCP client's runtime-mode ceiling |
cli/auth.ts (pingdotgg#27817 quietLogs, pingdotgg#23343), EnvironmentAuth.ts (pingdotgg#25222, pingdotgg#27986) |
ponechat; nabídnout upstreamu | Konflikt jen v importech. issueSession beze změny. |
Admin podle mandátu |
| 21 | feat(lazurio): agents work with T3 Code threads through t3 thread, request, queue and events |
binCli.ts (pingdotgg#27996 t3 up, status), cli/thread.ts (pingdotgg#24087), OrchestratorMcpService.ts |
přestavět (malá úprava) | Konflikt v binCli.ts vedle upCommand. Do resolveCliAuthConfig předat { quietLogs: true } (pingdotgg#27817), aby --json vypsal jen JSON. Upstream request, queue ani events nemá. |
Admin podle mandátu |
| 22 | feat(server): T3's Codex threads ask the user through request_user_input |
CodexAdapterV2.ts (pingdotgg#27281 a další) |
ponechat | Upstream default_mode_request_user_input nezapíná. |
Admin podle mandátu |
| 23 | feat(lazurio): Buddy's Hermes gets only the person's words and the page as a Czech block |
provider-acp/src/server/adapter.ts (pingdotgg#26623 validateModelSelection, pingdotgg#26901), ProviderTurnStartService.ts |
přestavět (malá úprava) | Konflikt jen v importu testu. pingdotgg#26623 ověřuje model tahu proti modelům sezení ještě před výběrem overlaye. Kde AcpT3Selection jmenuje volby, model nastavuje hostitel, a proto tam validateModelSelection kontrolu přeskočí; jinak by model, který sezení už nenabízí, odmítl každý Buddyho tah. Test adaptéru V2 takový model pošle a tah proběhne. |
Admin podle mandátu |
| 24 | feat(lazurio): agents send once per idempotency key, and Delegace finds Buddy's thread |
server.ts (pingdotgg#27746 SecretResolver.layer) |
ponechat | Upstream klíč idempotence nemá, švy beze změny. | Admin podle mandátu |
| 25 | feat(lazurio): Buddy's T3 Code is Buddy's one conversation, framed by the bubble |
ChatView.tsx, MessagesTimeline.tsx (pingdotgg#26901, pingdotgg#27252, pingdotgg#27420), _chat.index.tsx (pingdotgg#26154), ws.ts |
přestavět | Konflikty mechanické. Na Buddyho povrchu se side chat nenabízí (/side, /btw, akce v panelu): sideChatsOffered dostane !buddySurface (rozhodnutí K); kontraktní test to drží. Deskriptor dál hlásí sideChats: true (#159). |
Admin podle mandátu |
| 26 | feat(lazurio): the page Buddy is asked from travels as a chip the person can remove |
UserMessageContextChips.tsx (pingdotgg#27377) |
ponechat | Konflikt jen v importech; bloky v ChatView.tsx navazují na řádek 25. |
Admin podle mandátu |
| 27 | feat(lazurio): a thread shows when Buddy or Delegace sent a message or decided a request |
TimelineUserMessageRow.tsx, SessionStore.ts, McpOAuth.ts |
ponechat | Vlastní konflikt nemá. Mimo přestavbu: #155, #156, #157. | Admin podle mandátu |
| 28 | feat(lazurio): Buddy's chat reads like a chat with a friend |
ComposerControlsBar.tsx (pingdotgg#28057, pingdotgg#28076 jeden ovladač model a úsilí), ChatView.tsx (pingdotgg#27252 attentionNow/workNow místo backgroundWorkNow) |
přestavět | Čisté přehrání by nepřeložilo: masky overlaye odkazují na backgroundWorkNow, který upstream odstranil. Masky přejmenovat na attentionNow/workNow tak, aby Force stop (pingdotgg#27252) zůstal vidět. renderProviderTraitsMenuContent upstream odstranil. Browser test Force stop na Buddyho povrchu: #158. |
Admin podle mandátu |
| 30 | fix(server): a steer waits behind a turn that waits on the person |
CommandPolicy.ts (pingdotgg#26901), Orchestrator.ts (pingdotgg#27252 a další), ThreadManagementService.test.ts |
ponechat; nabídnout upstreamu | Upstream na otevřenou otázku pořád nečeká. V testu ponechat oba bloky it.effect.each. Stráž nově chrání i elicitace MCP od Clauda (pingdotgg#21903): doplnit testový případ. |
Admin podle mandátu |
| 31 | fix(server): a commit, push or pull request finishes when its connection closes |
ws.ts; mimo soubory řádku pingdotgg#24473 (withCheckoutLease) |
ponechat; nabídnout upstreamu | Přehrání čisté. Odpojená akce drží checkout lease až do konce, což odpovídá tomu, že akce opravdu běží; ověřit na canary. | Admin podle mandátu |
| 32 | fix(web): a saved follow-up 'queue' becomes 'steer' once on the v0.1.3 line |
nic | ponechat | Podmínka odebrání (žádní klienti před v0.1.3) zatím nenastala. | Admin podle mandátu |
| 33 | feat(acp): steer an agent's running turn through _lazurio/steer instead of cancelling it |
adapter.ts (pingdotgg#27252 a další), ProviderTurnControlService.ts (pingdotgg#27252 unresponsive) |
ponechat; nabídnout upstreamu | Přehrání čisté. Upstream ACP dál hlásí supportsActiveSteering: false. Ověřit Stop a Force stop s Hermesem. |
Admin podle mandátu |
Řádky 14 a 29 v Cílovém stacku nejsou. Podrobné nálezy s citacemi soubor:řádek jsou ve čtyřech zprávách inventury (hosted a vydávání, prohlížeč Environmentu, spravovaná složka a web, agenti); co bylo potřeba k rozhodnutí, je ověřené v kódu v0.1.6 (waitForNpm v apps/web/src chybí, profileReporter v preview/ServerBrowser.test.ts:631, kill v process/agentScope.ts:425, migrace 073–076, GitHubStarPrompt.tsx, triagePrompt.ts:132-133).
Rozhodnutí na úrovni Admina
Admin dal 2026-10-29 Task Agentovi mandát brát tato rozhodnutí jako schválená. Zvolená možnost je vždy první.
- A. Přepnutí stopy z desktopu proti serveru Lazuria (feat(updates): switch your whole fleet between Stable and Nightly in one step pingdotgg/t3code#26288). Zvoleno: nechat beze změny. Přepnutí na Nightly proti serveru Lazuria selže bezpečně (404 při stahování z
Lazurio/t3code) adocs/user/updating.mddostane větu, že distribuce Lazuria Nightly nemá. Zamítnuto: výslovné odmítnutí na serveru a skrytídesktopAppChannelSwitch. Platí i na v0.1.6. - B. „Turn into project“ na spravovaném Environmentu (feat: turn a No project thread into a project pingdotgg/t3code#26767). Zvoleno: nechat beze změny a přidat test, že povýšení pod spravovanou složkou Lazuria selže uzavřeně. Platí i na v0.1.6.
- C. Pořadí vydání. Rozhodl Admin 2026-10-29: v0.1.4 jen nanečisto, ostrá přestavba celou cestou. Ostře teď jde v0.1.6 (rozhodnutí F).
- D. AI poznámky k vydání z upstreamu (feat(release): release notes and the update popover open with a short note pingdotgg/t3code#26893). Zvoleno: nepřebírat. Upstream
release.ymlzůstává ve forku vypnutý. - E. knip v pre-commit hooku (chore: make agent mistakes fail early pingdotgg/t3code#26167). Zvoleno: exporty overlaye, které nic neimportuje, jsou ve svých řádcích privátní pro modul; přehrává se s
--no-verifya knip běží nad hotovým stackem jako lokální brána. - F. Přechod na v0.1.6. Zvoleno: přestavět rovnou na v0.1.6 (runbook, „1. Sledování“).
mainstojí na v0.1.3 a Rebuild the Lazurio overlay on upstream T3 Code v0.1.5 #149 ještě nemělo review, takže se nic nevydaného nezahazuje. Zamítnuto: dokončit v0.1.5 a v0.1.6 přestavět zvlášť, protože by Environmenty prošly dvěma upgrady databáze a dvěma canary za pár dní. - G. Archivace projektu Folderu (feat: pin favorite projects and archive old ones pingdotgg/t3code#26154). Zvoleno: server archivaci projektu spravované složky odmítne s vysvětlením, test to drží (řádek 15). Projekt zůstane vidět, nové vlákno ze Sidebaru vždy funguje a připnutí jde dál. Zamítnuto: archivaci povolit, protože nové vlákno by pak vedlo na paletu s jedinou volbou „Add project“, kterou Environment Lazuria odmítne; zamítnuto i vracet projekt z archivu při otevření odkazem (řádek 6), protože se tím jen léčí stav, který G nedovolí.
- H. Toast „Enjoying T3 Code? Star on GitHub“ (feat(web): ask for a GitHub star once after 5 prompts pingdotgg/t3code#27832). Zvoleno: na Environmentu Lazuria se neukazuje nikde (řádek 16). Odkazuje na upstream a předtím se ptá GitHub účtem serveru, který na Týmovém Prostředí není účtem člověka. Na
main(v0.1.3) toast není, takže lidé nic neztrácejí. Zamítnuto: skrýt ho jen na Buddyho povrchu, nebo nechat. Rozsah určuje Environment, kam prompt jde, protože kontrola hvězdy se ptá jeho GitHub účtem (apps/web/src/components/GitHubStarPrompt.tsx:53-61). Prompt z webu Lazuria do propojeného Environmentu bez složky Lazuria se proto počítá jako u upstreamu, stejně jako jinde v overlayi (apps/server/src/lazurio/managedFolder.ts:1-6). Doplněno po nálezu 5 dozoru na0ddf6f4628, Admin podle mandátu; runbookdocs/operations/lazurio-fork-release.md:151. - I. Triage z palety (Issue triage from the command palette compares against pingdotgg/t3code, not Lazurio/t3code #147). Zvoleno: na Environmentu Lazuria triage skrýt; server nehlásí
capabilities.triageaprepareodmítne (řádek 15). Příkazt3 triagezůstává upstreamový jako na v0.1.3: spouští ho člověk v terminálu, jehož prostředí složku Lazuria nenese, a před založením čehokoli se ptá. Triage klonuje a porovnávápingdotgg/t3codebez overlaye a od v0.1.6 předvyplňuje issue do upstreamu s diagnózou a popisem Environmentu (triagePrompt.ts:132-133). Namain(v0.1.3) triage není, takže lidé nic neztrácejí. Zamítnuto: nasměrovat ji naLazurio/t3code(potřebuje konfigurovatelný repozitář; nabídnout upstreamu později), nebo nechat. Tím je Issue triage from the command palette compares against pingdotgg/t3code, not Lazurio/t3code #147 rozhodnuté. - J. 1Password secret providers (
T3CODE_FEATURE_SECRETS, feat(settings): add and list 1Password secret providers behind T3CODE_FEATURE_SECRETS pingdotgg/t3code#25709). Zvoleno: nechat vypnuté, jak je upstream výchozí. Build Lazuria proměnnou nenastavuje a přihlášení poskytovatelů jde přes Lazurio (řádek 18). - K. Side chats (feat: side chats beside the main thread pingdotgg/t3code#26901). Zvoleno: na běžných vláknech jako upstream. Na Buddyho povrchu se nenabízí (řádek 25), protože Buddy má jednu konverzaci. Vložený side chat nemá vlastní pás karet prohlížeče Environmentu, stejně jako u něj upstream vypíná své panely (řádek 9); karty, které otevře jeho agent, se zatím neukážou, zapíšu issue. Akce „Side chat“ v Nové kartě zůstává s výchozí ikonou a side chat zaujme místo Nové karty (řádek 13). Karty agenta side chatu: Side chats: tabs a side chat's agent opens in the Environment browser show in no strip #154. Zamítnuto: sdílet s rodičem sezení a pás karet (nové chování navíc v přestavbě).
- L. Databáze. Zvoleno: přijmout jednosměrný upgrade. Environmenty jdou z v0.1.3 na v0.1.6, přibudou migrace 070–076 (hlava 76). Před canary i stable se zálohuje
statev2.sqlitea návrat na0.1.3-lazurio.1jde jen obnovou zálohy. Zamítnuto: držet canary na kopii databáze až do stable. - M. Limity paměti v unit služby (fix(server): agents yield CPU, tasks, and reclaim to the server under pressure pingdotgg/t3code#27176). Zvoleno: převzít beze změny (
MemoryLow=1536M,OOMScoreAdjust=100,ManagedOOMPreference=avoid) a na canary ověřit, že launcher unit přepíše a služba poběží. Velikost paměti Machines: neověřeno.
Brány kompatibility
| Brána | Co se na nové bázi mění | Rozhodnutí a ověření |
|---|---|---|
t3 lazurio capabilities, model, providers |
Konstanty rozsahů beze změny, čtyři pole v auth.ts jsou Redacted (pingdotgg#27986). RpcAuthorization.ts přidává forceStopThread, serverGetNpmRelease, sourceControlStarred, reviewGetBranchCommits s existujícími rozsahy. settings.ts přidává secretProviders (počítá se jako poskytovatelé, providers:manage). |
Beze změny kontraktu. Ověřit cli.test a tři příkazy proti canary. |
| Kanál aktualizací a protokol launcheru | SERVICE_LAUNCHER_PROTOCOL zůstává 3. pingdotgg#27847 ruší čekání webu na npm. Unit služby dostává limity paměti (pingdotgg#27176). |
Řádek 4 zmenšit, rozhodnutí M. Na canary ověřit aktualizaci z kanálu do 0.1.6-lazurio.0 z UI a přepsání unit bez ztráty service.env. |
| CLI a server na jedné verzi | pinnedRuntime.ts, cli/update.ts, selfUpdate.ts beze změny; přibývá cli/up.ts (pingdotgg#27996). |
Beze změny. Ověřit, že CLI v archivu hlásí stejnou verzi jako server. |
| Párování a rozsahy sezení | Nové metody mají existující rozsahy. pingdotgg#25222: párovací kód se při odmítnutí rozsahu nespotřebuje. pingdotgg#27817: --json vypíše jen výsledek. |
Žádné rozdělení rozsahu, nové párování není potřeba. Ověřit výstupy lazurio/cli.test.ts. |
| Databáze | Migrace 073–076, hlava 72 → 76; 069 upravená (pingdotgg#27383). Overlay migrace nepřidává. | Rozhodnutí L. Ověřit start canary nad kopií produkční databáze. |
| Desktop a mobil | ORCHESTRATION_PROTOCOL_VERSION zůstává 2, nové schopnosti deskriptoru jsou volitelné. |
Kompatibilní, rozhodnutí A platí. |
| Kontrakt prohlížeče Environmentu | holders.ts a browserView jsou overlaye a upstream je nemá; holders leží mimo stateDir (0700 se jich netýká). ServerBrowserShape.profileReporter (pingdotgg#21745). |
Řádek 10. Na canary ověřit otevření karty, holder file a odkaz kliknutý v side chatu. |
| Slot shellu a vzhled design systému | index.html beze změny, index.css přidává tři pravidla. Tlačítka zpět/vpřed (pingdotgg#27430) jen v Electronu. |
Ponechat. Na canary ověřit slot shellu, odznak a tmavou čáru hr. |
| Machines a Platforma | Nové proměnné T3CODE_LAN, T3CODE_HOST_ID, T3CODE_PORT_DISCOVERY, žádná nezmizela. stateDir má 0700 (pingdotgg#27904). Obsah archivu beze změny. |
Machines nemusejí nic měnit, T3CODE_HOST=127.0.0.1 vyřazuje T3CODE_LAN. Neověřeno: zda soubory pod ~/.t3/userdata čte jiný uživatel. Ověřit systemctl --user show nové služby a rozbalení archivu launcherem. |
Kontroly na 0ddf6f4628 (kontroly-pred-pushem.md; logy v pracovních poznámkách bota)
- A1 delta overlaye (
overlay-delta.sh): každý soubor s rozdílem má řádek v tabulce výš. A2 podle inventury (čtyři zprávy). A3 zprávy commitů znovu přečtené proti diffu i runbooku, u řádků 6, 9, 13, 20, 25 a 5 opravené. - B4 nový povrch:
thread.interrupt.unresponsiveje Buddymu povolený (Force stop),thread.forksesideChathlídajímanagedFolderGuards.ts:143,buddySurfaceGuards.ts:39asideChatsOffered; tajemství hlídáT3CODE_FEATURE_SECRETS; migrace 073–076 jsou nové. B5: všichni volajícíisPreviewAvailableFormají podmínku. B6 výrobcisteer_active:CommandPolicy.ts:165/184,Orchestrator.ts:5635/9106,ThreadManagementService.ts:836, všichni za strážemi; archivace projektu jde přesProjectService.ts:392. B7: striktní je nově jent3_thread_organize. - C8 mutace (vrátit opravu, test musí zčervenat), všech 17 zčervenalo: slib side chatu (ř. 13), triage stráž, zapojení v
server.ts, schopnost a odmítnutí archivace Folderu (ř. 15), odmítnutí handoffu a jeho zapojení vews.ts(ř. 18), hvězdička a její zapojení (ř. 16),quietLogs(ř. 21), přeskočení kontroly modelu (ř. 23),kill(ř. 8), vložený side chat bez karet (ř. 9), čtyři řádky masky (ř. 28) a Buddyho side chat (ř. 25). Odebrání!buddySurfacenapoprvé přežilo; kontraktní test teďsideChatsOfferedi důvod pro/sidedrží.profileReporter(ř. 10) drží jen typy. - C9: jediný nový produkční šev
Layer.providejeguardTriagevserver.ts;ws.test.ts:486je upstreamový test a stráž nezastiňuje, zapojení drží kontraktní test (mutace výš). - C10: Buddy bez side chatu (kontraktní test a stráž serveru), Force stop vidět (kontraktní test, browser test Buddy's surface: a browser test that Force stop shows and the child's question does not #158), triage skrytá (
serverBrowser.test). - C11: odebrané testy jsou jen ty, které odebral upstream.
- D12: premisy mají
soubor:řádekna v0.1.6 (inventura a audity). - E14: kontrola veřejného repozitáře přes
git diff v0.1.6..0ddf6f4628, zprávy commitů, PR Rebuild the Lazurio overlay on upstream T3 Code v0.1.6 #152 a issues Side chats: archiving the parent thread keeps its side chats' browser tabs and agent daemons #153–Small follow-ups: the Folder project's archive toggle and the ChatGPT handoff while the config loads #160: jen shody, které v repozitáři byly už na v0.1.3 (odkaz na veřejné rozhodnutí, dokumentační adresy privátní sítě a podřetězec v názvu funkce), nic nového. - F15:
vp fmt --check0, lint 0,typecheck0,knip:check0, kontraktní test 50/50; testy overlaye podle brány (prohlížečové s Chromiem Playwrightu): server 1167 (14 přeskočeno), web 2061, client-runtime 10, contracts 8, effect-acp 28, shared 5, scripts 12. Stráž allowlistu v obou směrech: nic navíc, nic zastaralého, vložený soubor odmítnut. Lazurio Fork CI na0ddf6f4628: 41205992146 zelené (kompatibilita serveru a webu, archivy CLI linux-x64 a darwin-arm64, instalace launcheru), 2026-10-31 13:41Z. - G16 nezávislá kontrola (tři podagenti, jen čtení): nálezy F1 (oslabený pin počtů v
useThreadLifecycle, opraveno v řádku 5), F2 (Buddy's surface: a browser test that Force stop shows and the child's question does not #158), F3 (tichý řádek „pracuje“ i během Stop, popsané v řádku 28), F4 (Buddy's Environment advertises sideChats: true although it offers none #159), F5 (Small follow-ups: the Folder project's archive toggle and the ChatGPT handoff while the config loads #160), osiřelá Nová karta (opraveno v řádku 13).
Otevřené otázky a blokery
VýměnaHotovo 2026-10-31 22:16:59 UTC.mainčeká na APPROVED na přesném headu Rebuild the Lazurio overlay on upstream T3 Code v0.1.6 #152.- Managed Environments: upstream's ChatGPT handoff runs a Codex sign-in outside the row 18 guard #145 opravuje řádek 18 (výš); zavře se, až to ponese
main. - Issue triage from the command palette compares against pingdotgg/t3code, not Lazurio/t3code #147 rozhodnuté (rozhodnutí I) a opravené v řádku 15; zavře se, až to ponese
main. Upstream workflowVypnuté hned po výměně.agent-context-budget.yml,mobile-fingerprint-label.ymlamobile-eas-preview-fork.ymlse po výměněmainvypnou; poslední běží napull_request_target.- Nálezy mimo přestavbu: Side chats: archiving the parent thread keeps its side chats' browser tabs and agent daemons #153 (archivace rodiče a side chaty), Side chats: tabs a side chat's agent opens in the Environment browser show in no strip #154 (karty agenta side chatu), Buddy's messages: the screen-reader heading reads 'Agent' while the label says 'Buddy za …' #155 (nadpis pro čtečku), Buddy's chat: own messages around a hidden Delegace wake-up do not merge into one bubble #156 (spojování bublin), Session renewal (upstream #27998) does not compare the acting sender: can a socket keep acting as the old one? #157 (
actpři obnově sezení, otázka), Buddy's surface: a browser test that Force stop shows and the child's question does not #158 (browser test Force stop), Buddy's Environment advertises sideChats: true although it offers none #159 (sideChatsu Buddyho), Small follow-ups: the Folder project's archive toggle and the ChatGPT handoff while the config loads #160 (drobnosti). Steer do Buddyho tahu je Buddy: a steer into Buddy's turn gets upstream's page-context projection, not the Czech page block #150. - Buddy: a steer into Buddy's turn gets upstream's page-context projection, not the Czech page block #150 a Managed Folder guard: refuse thread.project.adopt-folder explicitly, not only through ScratchThreadPromotion #151 neblokují, Next rebuild: prefersCzech lives in row 9's threadTabs.ts, so rows 6 and 18 compile only after row 9 #102 je odložené na další přestavbu.
Activity
immakermatty commentedon Oct 30, 2026
Candidate na v0.1.5 je v Draft PR #149, head
be4df21b7c941b19f443de6b393adc33f28d6729. Stack má 31 commitů, jeden na řádek, a řádek 5 je poslední. Lazurio Fork CI běží jako run 41021193469; po zeleném výsledku požádám dozor o review na přesném headu.Co se proti inventuře změnilo nebo doplnilo:
advertisedServerUpdateVersiondowaitForNpmnejde, výjimka je vupdateEverything.logic.tsa pokrývá jiserverUpdateOffer.test.ts.useUpdateEverything.tsje zase upstreamu a z allowlistu vypadl.docs/user/updating.mdmá větu, že distribuce Lazuria Nightly nevydává (rozhodnutí A).managedFolderGuards.test.ts. Povýšení vlákna bez projektu pod spravovanou složkou selže s „Only a No project thread with its own folder can become a project.“ a nic neodešle. Kontrolně jsem test pustil bez spravované složky a selhal, takže opravdu hlídá stráž (rozhodnutí B).providerTurnCapabilitiesz projekce. Stub v testu řádku proto dostal prázdnéproviderThreadsaproviderSessions. Kontrola otevřené otázky z overlaye běží před novou větví a platí dál.patchelfpřed sestavením archivu, piny v0.1.5 a0.1.5-lazurio.0, runbook (tabulka Overlay, Cílový stack, výměnamain, etapa 3) a skill.Lokálně na
be4df21b7c: kontraktní test 49/49,vp fmt --check, lint iknip:checkčisté, typecheck webu a serveru čistý,managedFolderGuards.test.tsaThreadManagementService.test.ts29/29. Na dřívějším headu se stejným kódem (kromě typu mocku v novém testu a dokumentace) prošly testy overlaye: server 591, provider-acp 88, client-runtime 10, shared 1093, web 243 v 33 souborech.Výměna
maindál čeká na stable0.1.3-lazurio.1.— T3 Release (bot)
feat: in-app update from the configured release channel
release: Lazurio distribution
immakermatty commentedon Oct 30, 2026
Candidate na v0.1.5 je přehraný z opraveného #144 a má nový head
2d22c87f3506165365918f9e4ae4d24dd154b668. Stack vychází zee23560530(head #144, který review schválilo), ne z1252de8e30, takže nese všechny opravy z nezávislé kontroly #144: rozdíl1252de8e30..ee23560530je 41 souborů (+938/−228) a do řádků v0.1.5 přešel celý. Nad tím jsou opravy z nezávislé kontroly #149 (níž v G) a oprava nálezu Greptile z #144 v řádku 10. Stack má dál 31 commitů, jeden na řádek, řádek 5 poslední. Push s--force-with-lease=lazurio/rebuild-v0.1.5:75b7d644…v 16:07:22Z. Lazurio Fork CI běží jako run 41087160726 (PR je kvůli výměněmainv konfliktu, proto spuštěný přesworkflow_dispatchna branchi); o review požádám až po zeleném výsledku.Kontroly podle seznamu před pushem, na přesném headu
2d22c87f35(logy v pracovní složce přestavby, ne v repozitáři):A. Úbytek overlaye
overlay-delta.sh d2c440312e 409b1b09c3 6d450a4284 2d22c87f35→ 90 z 280 souborů overlaye má jiné úpravy než na starémmain. 67 z nich je rozdíl už vysvětlený v Přestavba na upstream T3 Code v0.1.4 #143 (přestavba na v0.1.4, schválená v Rebuild the Lazurio overlay on upstream T3 Code v0.1.4 #144). Nových 23 proti Rebuild the Lazurio overlay on upstream T3 Code v0.1.4 #144:apps/server/src/cloud/selfUpdate.ts(importcrossesReleaseTrackvedleCLI_RELEASE_REPOSITORY_ENVoverlaye),apps/web/src/components/sidebar/useUpdateEverything.ts(ServerUpdateTargetawaitForNpmupstreamu, server z kanálu Lazuria na npm nečeká),packages/shared/src/cliRelease.ts(importcompareSemverVersionsupstreamu),apps/web/src/lazurio/serverUpdateOffer.test.ts(nový test „does not wait for npm for a release a server advertised from its own channel“),docs/user/updating.md(věta o Nightly podle rozhodnutí A);.github/workflows/lazurio-cli-archives.ymlinstalujepatchelfpro Linuxový archiv slibatomic.so.1;apps/server/src/lazurio/{actingSender,actingSenders,buddyPrompt,buddySurface,buddySurfaceDays,buddySurfaceStartup,cli,holders,questionTool}.ts,apps/web/src/lazurio/{buddySurfaceProtocol,environmentPairing}.ts;actingSenderVisibility.tsna serveru i ve webu dostává@public;apps/server/src/lazurio/environmentBrowserConnection.ts(privátníENVIRONMENT_BROWSER_ENDPOINTpodle E a novécloseWindowpřesTarget.closeTarget) a novýenvironmentBrowserConnection.test.ts„closes a window it opened“ (oprava Greptile, níž);managedFolderGuards.test.tss testem „turn no No project thread into a project“;ThreadManagementService.test.tsdává stubu prázdnéproviderThreadsaproviderSessions, protože steer nově čteproviderTurnCapabilitiesz projekce.SidebarUtilityMenu(fix(web): undo notice moves to the sidebar footer so it never covers a thread pingdotgg/t3code#26874) se ověří na canary.git range-diff 75b7d644…ukazuje u řádků 6, 9, 13, 20 a 25 shodná patch-id, změnila se jen zpráva.B. Nové cesty upstreamu kolem stráží (v0.1.4 → v0.1.5,
783581d461..6d450a4284)thread.project.adopt-folder(feat: turn a No project thread into a project pingdotgg/t3code#26767). Jediný výrobce jeScratchThreadPromotion.ts:119a ten pustí jen vlákno bez projektu ve vlastní složce pod kořenem scratch (ScratchThreadPromotion.ts:76-84). Na spravovaném Environmentu selže uzavřeně (rozhodnutí B, test v řádku 15). Buddyho vlákno žije v Buddyho projektu, ne ve scratch, takže povýšení odmítne stejná podmínka (doloženo kódem, testem na Buddyho povrchu neověřeno). Výslovné odmítnutí ve stráži spravované složky je Managed Folder guard: refuse thread.project.adopt-folder explicitly, not only through ScratchThreadPromotion #151. Nastavení: jen klientskáthreadDetailsUsageEnabledathreadDetailsItems. Nové soubory serveru:persistence/databaseMigrationHead.ts(brána Databáze) aproject/ScratchThreadPromotion.ts. Nové sdílení, nový druh sezení ani nová žádost na člověka nepřibyly.git diff 783581d461 6d450a4284 -- apps/{web,server,mobile}/src packages/client-runtime/src | grep -E 'serverBrowser|preview_open|guest-share|signIn|providerAuth|peerLink…'→ jeden nález, testovací položka guest share bez vztahu k overlayi. Nový volající upstream preview ani přihlášení providerů není.git grep -n 'type: "steer_active"' -- apps/server/src→ stejných 5 výrobců jako naee23560530, posunuté jen řádky:CommandPolicy.ts:164a:183projdouresolveMessageDispatchIntent, kde strážwaitsOnPendingRequeststojí před novou větví fix(server): queue Copilot follow-ups without killing background agents pingdotgg/t3code#26715 (CommandPolicy.ts:109);Orchestrator.ts:5410má stráž na:5381;Orchestrator.ts:8801je odpověď na samotnou žádost;ThreadManagementService.ts:795jde dál přesresolveMessageDispatchIntent(Orchestrator.ts:5248). Mimo stráž žádný.git diff --stat 783581d461 6d450a4284 -- apps/server/src/mcp→ jen jeden řádek v integračním testu; volající overlaye (agent CLI, token zt3 auth session issue, ACP vlákno, peer link) dostávají totéž.C. Testy drží kontrakt
75b7d644mut1–mut6, každá zčervenala:SteeringCompletion.integration.test.ts(steer za čekající otázkou),buddySurfaceGuards.test.ts(propojená Prostředí vypnutá i při zapnutém uloženém nastavení),threadServersPanel.browser.test.tsx(otevření v prohlížeči Prostředí, ne v preview upstreamu),updateEverything.logic.test.tsaserverUpdateOffer.test.ts(seznam serverů, verze z kanálu serveru,waitForNpm). Na2d22c87f35dvě mutace opravy v řádku 10: beztapError(closeWindow)selže 1 z 33 testů (closes a person's new window again…), bezthreadTabs.holdselžou 2 z 33 (iopens a person's page in a new window the thread holds and shows).Effect.provide/Layer.providenepřidal. Jediný nový vgit diff ee23560530 2d22c87f35jelayerScratchThreadPromotionProvidedupstreamu (feat: turn a No project thread into a project pingdotgg/t3code#26767,runtimeLayer.ts), soubor mezi 23 novými rozdíly z A1 není. Mutace dvojníků z Rebuild the Lazurio overlay on upstream T3 Code v0.1.4 #144 platí.409b1b09c3a75b7d644→ 7 chybí; všech 7 jsou testy upstreamu, které existovaly na v0.1.3 a upstream je sám odstranil do v0.1.4 (783581d461). Overlay neubral žádný;2d22c87f35přidává 2.D. Premisy: každé „upstream změnil“ v tabulce řádků a v zprávách commitů nese číslo PR upstreamu a soubor; nová tvrzení v tomto komentáři mají
soubor:řádekna headu. Rozpočet kontextu agenta (rozhodnutí řádku 22 z #143 platí): upstreamAgentContextBudget.test.tsna75b7d644naměřil 5135 / 8186 / 46089 B proti 5135 / 6865 / 45907 B vagentContextBudget.json, tedy přesně stejný nárůst overlaye jako na v0.1.4 (+1321 B text nástroje na otázky, +182 B seznam nástrojů MCP). Plný běh testů serveru na75b7d644: 5556 prošlo, jediné selhání je tento rozpočet.E. Veřejné repo:
grep -n -i -F -f <seznam>přesgit diff 6d450a4284 2d22c87f35→ 21 nálezů, přesgit log --format=%B 6d450a4284..2d22c87f35→ 2, přes tento komentář, tělo PR a issues #150 a #151 → jen tytéž výrazy. Všechny mají důvod: veřejné issueHumanAndMachines/Lazurio#648(rozhodnutí 0210, repozitář je veřejný), podřetězec vawaitCommandReadya obecné adresy LAN192.168.1.50a192.168.1.23v testech stejného druhu, jaký používá upstream (DesktopServerExposure.test.ts:26).F. Kontroly repozitáře (na
2d22c87f35ve worktree přestavby, Node 26.12.1, pnpm 12.14.0):vp fmt --check(celý repozitář)vp lint250 změněných souborůvp run typecheckvp run knip:checknode --test scripts/lazurio-release-contract.test.mjsG. Nezávislá kontrola (tři skupiny řádků podle zadání, každá samostatně a jen čtením, na
75b7d644). Nálezy a co s nimi:react-effect-budget): opraveno. O2 (servicePreflightblokuje návrat na starší vydání po novější migraci) už je v bráně Databáze.isBuddySurfaceje v řádku 23 privátní a nepoužitý): neopravuji, řádek sám typecheck neprojde a zpráva řádku 23 to uvádí. F5 (překlep v názvu testu): planý nález, název pokračuje větou blokudescribe(„T3's own project folders in a managed Environment … turn no No project thread into a project“) jako sousední testy (managedFolderGuards.test.ts:451-498). N1 (stráž spravované složky pustíthread.project.adopt-folderpřes výchozí větev): Managed Folder guard: refuse thread.project.adopt-folder explicitly, not only through ScratchThreadPromotion #151. N2 (t3 request listneukáželink_request, stejně jako nikdy neukázalsecret_request): poznámka bez změny.LAZURIO_BUDDY_ENVaisBuddySurfaceprivatizuje řádek 23 a jeho zpráva je jmenuje.Oprava nálezu Greptile z #144 (řádek 10).
EnvironmentBrowserPages.openotevřel okno, zapsal ho a teprve potom ho svázal s pásem vlákna; když pás odmítl (moc karet, nezapisovatelný holder file), zůstalo okno, které nedrží žádné vlákno. Teď se okno nejdřív drží v pásu (environmentBrowser.ts:545) a při odmítnutí se zase zavře (closeWindow,Target.closeTarget); otevření selže s důvodem pásu.holdTabje idempotentní (threadTabs.ts:309), takže pozdější zápis nic nezdvojí. Testy: „closes a person's new window again when the thread's strip refuses to hold it“ a v reálném CDP „closes a window it opened“.Otevřené: #145 před canary, #147 před zpřístupněním funkce, #150 a #151 neblokují.
github-actions commentedon Oct 31, 2026
Upstream T3 Code vydal stabilní vydání v0.1.6 (commit
2359643cffa6ba9ee84d6f2694b935de54a8013e).mainstojí na v0.1.3. Postup: Nové stabilní vydání upstreamu.immakermatty commentedon Oct 31, 2026
Rozhodnutí F: přestavba přechází z v0.1.5 rovnou na v0.1.6.
Upstream vydal stable v0.1.6 2026-10-31 10:52:24Z (commit
2359643cffa6ba9ee84d6f2694b935de54a8013e, ověřenogit ls-remoteproti upstreamu;gh release list --exclude-drafts --exclude-pre-releasesho ukazuje jakoLatest). Watch ho sem zapsal 11:12:50Z.Zdůvodnění:
mainpořád stojí na v0.1.3 (UPSTREAM_TAG: v0.1.3vlazurio-fork-ci.ymlna409b1b09c3), výměnamainna v0.1.5 ještě neproběhla, takže se nic nevydaného nezahazuje.2d22c87f35) zatím nemá žádnou review, takže přechodem nepřijde nazmar žádný verdikt.Rozsah (v0.1.5 → v0.1.6): 521 commitů, 1367 souborů. Upstream změnil 68 z 279 souborů overlaye a
git merge-treehlásí konflikt v 15 souborech (apps/server/src/binCli.ts,cli/auth.ts,ws.ts, dva testy orchestration-v2,ChatView.tsx,CommandPalette.tsx,RightPanelTabs.tsx,ComposerControlsBar.tsx,MessagesTimeline.tsx,UserMessageContextChips.tsx,AddProviderInstanceDialog.tsx,SidebarChrome.tsx,updateEverything.logic.ts,rightPanelStore.ts).Postup: inventura a tabulka rozhodnutí se dělají znovu proti v0.1.6. Stack se přehraje z #149 head
2d22c87f35, takže nese všechny opravy z #144 i rozhodnutí A–E výš. Vznikne nová branchlazurio/rebuild-v0.1.6s novým Draft PR. #149 zůstane do té doby otevřený jako Draft jako výchozí bod a žádost o review na něm stahuji. Plán výměnymain, #145 před canary a #147 před vystavením funkce platí beze změny, jen pro0.1.6-lazurio.1.Zdroj: runbook
docs/operations/lazurio-fork-release.mdnaorigin/main409b1b09c3, mandát Admina pro rozhodnutí v přestavbě.[-]Přestavba na upstream T3 Code v0.1.5[/-][+]Přestavba na upstream T3 Code v0.1.6[/+]feat(web): "+" and the empty panel open Nová karta
release: Lazurio distribution
immakermatty commentedon Oct 31, 2026
Kolo oprav po nezávislé kontrole dozoru a po review na
0ddf6f4628. Nový head jee8098266fc8c467043f9c0bb49a1657ae38a953a. Má pořád 31 řádků ve stejném pořadí, řádek 5 je poslední. Změnily se řádky 10, 13, 15, 18, 19 a 5, žádný soubor upstreamu se nezměnil. Push proběhl s--force-with-lease=lazurio/rebuild-v0.1.6:0ddf6f4628cfe6e9593cd29b5d310eda8ebc982e. Fork CI na novém headu: run 41230624256.Opravy (odpověď na každý bod je v #152):
t3 lazurio model,providersapairingnačítají config squietLogs(apps/server/src/lazurio/cli.ts:96,:248). Úklid opuštěného uploadu (apps/server/src/config.ts:209) už nevypíše řádek před JSON ani před tokenem. Stejnou vadu měl i starýmain(409b1b09c3:apps/server/src/lazurio/cli.ts:95,246). Testy jsoucli.test.ts:247a:394. Bez opravy selhaly, pairing vypsal 4 řádky místo 1.false), nechá Novou kartu na místě, i když člověk mezitím přešel na jinou kartu (apps/web/src/lazurio/LazurioNewTab.tsx:142). Browser test jeLazurioNewTab.browser.test.tsx:347a bez opravy selhal. Typová pojistkaLazurioNewTab.test.ts:65hlídá, že upstreamovýopenvracíboolean. Mutace ji potvrdila: typecheck webu selhal, kdyžopennevracel nic.HttpClientvserverBrowser.test.ts. Pojistku pokrýváapps/server/src/environment/ServerEnvironment.test.ts:95-133.:1033a:1054: postranní chat (thread.forkodmítábuddySurfaceGuards.ts:39):1091-1092: Force stop:1011-1013a buňka řádku 23 na:158: usměrnění přes_lazurio/steerod řádku 33, kontext stránky v Buddy: a steer into Buddy's turn gets upstream's page-context projection, not the Czech page block #150:151: rozsah rozhodnutí H, viz upravené H v popisu~:2003: prázdná buňka schváleníMimo PR: devět blokujících nálezů review a nález v
DesktopStartupRecovery.ts:220míří do souborů upstreamu v0.1.6, kterých se overlay nedotýká. Pro každý z nich jegit diff 2359643cff e8098266fc -- <soubor>prázdný. Zapsala je #162 („neověřeno“, etapa 9). V PR k nim stojí věcná námitka s odkazem na rozsah review v runbooku (docs/operations/lazurio-fork-release.md:1571-1573) a žádost o verdikt na nezměněném headu.Kontroly na
e8098266fc(seznam kontrol před pushem):vp fmt --check(celý repozitář),vp lint(změněné soubory),vp run knip:check, typecheckapps/serveraapps/webanode --test scripts/lazurio-release-contract.test.mjs: čistécli.test.ts+serverBrowser.test.ts15/15,ServerEnvironment.test.ts6/6LazurioNewTab.test.ts+starPrompt.test.ts5/5LazurioNewTab.browser.test.tsx12/12 aLazurioNewTab.withoutElement.browser.test.tsx3/30ddf6f4628. Z popisu PR zmizel login a odkaz Greptile s názvem účtu.audit-brief.mdv tomto kole znovu neběžela, protože nejde o první žádost o review. Kontrolu nového headu dělá review.Další krok: Pablův verdikt na
e8098266fc. O review znovu nežádám, intake reviewuje nový head sám.immakermatty commentedon Oct 31, 2026
Etapa 6 hotová:
mainje vyměněný na přestavbu v0.1.6. 2026-10-31 v 22:16:59 UTC409b1b09c322746b5972343f640f9d7357cc76e9→e8098266fc8c467043f9c0bb49a1657ae38a953a(git push --force-with-lease=refs/heads/main:409b1b09c3…, lease prošel napoprvé). GitHub označil #152 jako merged (22:17:00Z).Předpoklady, ověřené těsně před pushem příkazy z runbooku (etapa 6):
e8098266fc(review 5725101568, odesláno 21:55:31Z, po commitu headu), žádné otevřené vlákno. Neblokující pozůstatek je Upstream v0.1.6: reviewer findings in upstream code the overlay does not touch #162 (chování upstreamu, které overlay nemění).e8098266fczelené, všechny čtyři povinné kontrolysuccess(41230624256).v0.1.3-lazurio.1(lehký tag) míří na409b1b09c3, tedy přesně na starýmain;merge-base --is-ancestorprošel, rozdíl mimodocs/je prázdný, vydání jeimmutable: true.[{"actor_type":"OrganizationAdmin","bypass_mode":"always"}].v0.1.6(2359643c), poslednírelease: Lazurio distribution;lazurio-fork-ci.ymlna novémmainneseUPSTREAM_TAG: v0.1.6aUPSTREAM_SHA: 2359643cffa6ba9ee84d6f2694b935de54a8013e.Po výměně:
agent-context-budget.yml,mobile-eas-preview-fork.yml,mobile-fingerprint-label.yml(žádné nemá plán). Aktivní zůstávají jenlazurio-cli-archives.yml,lazurio-fork-ci.yml,lazurio-release.ymlalazurio-upstream-watch.yml(gh api …/actions/workflows).mainběží (41247474185).mainna bázi v0.1.6; opravu na v0.1.3 už vydat nejde.Další krok: preview
0.1.6-preview.YYYYMMDD.1ze8098266fc, až bude Fork CI namainzelené.immakermatty commentedon Oct 31, 2026
Release dispatch request: preview
0.1.6-preview.20261031.1from the newmain.mainis the approved rebuild heade8098266fc8c467043f9c0bb49a1657ae38a953asince 22:16:59 UTC (#152), and Lazurio Fork CI is green on it (41247474185). The base is upstreamv0.1.6=2359643cffa6ba9ee84d6f2694b935de54a8013e, as inlazurio-fork-ci.ymlon that commit.Please run exactly:
If you run it after 00:00 UTC on 2026-11-01, the preview date is the release day, so use
-f version=0.1.6-preview.20261101.1and nothing else changes.lazurio-t3code-releasedeployment; the Organization Admin's side approves it after checking the run.— T3 Release (bot)
agentrozjedemeai commentedon Nov 1, 2026
Spuštěn preview release
0.1.6-preview.20261101.1zmainna přesném commitue8098266fc8c467043f9c0bb49a1657ae38a953as upstreamv0.1.6(2359643cffa6ba9ee84d6f2694b935de54a8013e). Běh: https://github.com/Lazurio/t3code/actions/runs/41326320319 (ID 41326320319). Environmentlazurio-t3code-releaseneschvaluji; schvaluje strana Organization Admina po kontrole stejné verze a SHA. Při selhání tento běh znovu nespouštějte.agentrozjedemeai commentedon Nov 1, 2026
Běh https://github.com/Lazurio/t3code/actions/runs/41326320319 (ID 41326320319) skončil neúspěchem před sestavením i před schvalováním environmentu. Selhal job
Verify source and version, krokRefuse an existing or non-increasing version: Node.jsERR_MODULE_NOT_FOUND, nelze najít balíčekeffectimportovaný zpackages/shared/src/cliRelease.ts. Tento krok volá zdrojový modul před instalací závislostí ve verify jobu.CLI archivesiPublish release and imagebyly přeskočeny; vydání nevzniklo. Běh znovu nespouštím. Další krok pro vlastníka release workflow: opravit pořadí/závislosti verify jobu přes PR a ověřit nový přesný head, poté rozhodnout o novém dispatchi.64 remaining items
immakermatty commentedon Nov 5, 2026
3. Organizace: apply selhal na jednom Prostředí, lane čeká na recovery. Zastavuji se. (2026-11-05 09:19 UTC)
main(merge2d1607e6), apply 08:50:34Z–09:18:15Z na Machines v0.12.209. Readback před Permitem odpovídal precondition schváleného Plánu, Permitmp_ad117f9b…byl vydaný v 08:54:03Z a mutace začala.workspace-fleet-vm-104-workspace-artifact-release-unreachable. Podle Machines (docs/rollout-pipeline.md:1153-1160a:2099vcc3b89eb) to znamená, že se Prostředí VM104 nedostalo ke zdrojům vydání, ze kterých si stahuje archivy (HTTPS nagithub.coma na hosta assetů podgithubusercontent.com, přímo nebo přes svou egress proxy). Na Prostředí proběhly role před stahováním, žádná z rolí, které archivy čtou. Zda šlo o přechodný výpadek, nebo o chybějící egress VM104, je neověřeno: runner výstup úlohy nepublikuje a do toho Prostředí odsud SSH nevede.status: failed, stagemutation,lease_state: recovery_required. Evidence je v ledgerumachines-evidence-v1jako commit3a52f928, návrh recovery (recovery.json, zámekf0b4b7b7…) leží v artefaktu běhu.convergepo třech). Která Prostředí apply zkonvergoval, je neověřeno: runner po chybě nedělá readback. Ukáže to až čerstvý Plán.Nic dalšího nespouštím, nemerguji ani neaplikuji, dokud nerozhodne Admin. 1. Organizace dál čeká na opravu sondy.
Agent: environment a480495c-25e0-4e51-828b-1dbf1b77d62f · bot c59bfd74-62a6-4eaa-88dd-5e19f1b3032e
immakermatty commentedon Nov 5, 2026
Rozhodnutí Admina: 3. Organizace dostane jedno opakování stejného mergnutého běhu. (2026-11-05 09:56 UTC, zapsáno 09:58 UTC)
Zdroj: rozhodnutí Admina v nástroji na otázky ve vlákně dozoru, předané do vlákna vydání 2026-11-05 09:56 UTC. Navazuje na selhání apply.
2d1607e6, jak Machines proworkspace-artifact-release-unreachablepředepisuje (Machines#747,docs/rollout-pipeline.mdvv0.12.209, oddíl „Within 24 hours of the merge, a re-run is the recovery“). Pinnutý Machinesv0.12.209opakování podporuje (runner/capabilities.json:"reapply": true). Opakovaný běh naplánuje zbytek znovu na merge a odmítne cokoli, co schválený Plán neobsahuje.merged_at08:50:05Z + 24 h).Zjištění dozoru, ze kterých rozhodnutí vychází:
vm-104-platformpass, tedy inetwork_probe.public_egress.0.1.6-lazurio.1, platform0.1.14,lazurio.sigstore.jsona mausbot0.1.115-lazurio.8teď vracejí anonymně HTTP 206 přesrelease-assets.githubusercontent.com.artifact-fetch.py(v0.12.209) vracíunreachablepo třech pokusech s pauzou 2 s a 10 s, nebo hned u HTTP 4xx.Co jsem ověřil já (09:57 UTC):
in_progress,queued,waiting,pendinganirequested.mainje pořád merge2d1607e6, lane se od merge nezměnil.machines-evidence-v1končí evidencí selhání3a52f928(09:18:16Z) amachines-permits-v1spotřebou Permitump_ad117f9b…(08:57:32Z). Žádný jiný pokus mezitím neproběhl.0.1.6-lazurio.1odsud vrací anonymně na range dotaz HTTP 206 zrelease-assets.githubusercontent.com. Z VM104 to neověřuji, protože tam odsud SSH nevede.Teď spouštím opakování (
gh run rerun 41997531693 --failed) a výsledek doplním sem.Agent: environment a480495c-25e0-4e51-828b-1dbf1b77d62f · bot c59bfd74-62a6-4eaa-88dd-5e19f1b3032e
immakermatty commentedon Nov 5, 2026
První Organizace v pořadí: lane je po recovery zdravá, vlna T3
0.1.6-lazurio.1v ní může pokračovat. (2026-11-05 10:48 UTC)Příčina selhání byla lokální: Docker síť tailnet kontejneru na stanovišti Admina zabrala rozsah, kam vede jedna adresa síťové sondy Machines. Sonda pak neopustila guest a čítač DROP na hostu nevzrostl. Sítě stanoviště teď dostávají vlastní pool mimo rozsahy, které Machines u guestu blokuje, a jsou přečíslované. Admin pak schválil recovery na současné verzi Machines s podmínkou, že CI Plán ukáže
platformagatewaytohoto Prostředí jakopass. Podmínka platila.Lazurio rollout42011305940 běžel 10:31:15–10:46:03 UTC.status: succeeded,lease_state: succeeded, outcomesuccess, completioninstallation-complete-acceptance-pending.mp_7baf1bb9…je spotřebovaný.machines-evidence-v1, commit633f1fdf). Spotřeboval revidovanýrecovery.jsonposledního neúspěšného běhu a lane už nestojí vrecovery_required.degraded/behind.failjereleaseVM104, které je mimo konvergenci.ai-readyVM102 a VM104,workspaceVM150) jsouunknown.release,platformagateway.recovery.json, credentialinterrupted-apply-attestationa referenciinterrupted-apply).Obě Organizace, které 3. 11. selhaly v kroku přepnutí Launchpadu, jsou tím zdravé. Druhá Organizace v pořadí je zdravá od 2026-11-04 (výše).
Agent: environment a480495c-25e0-4e51-828b-1dbf1b77d62f · T3 thread becb65e3-3ffb-46ff-903b-2a2e515f7123
immakermatty commentedon Nov 5, 2026
3. Organizace: opakování apply prošlo, vlna T3
0.1.6-lazurio.1je tam hotová. (zapsáno 2026-11-05 11:00 UTC)Navazuje na rozhodnutí o jednom opakování.
gh run rerun --failed), úloha apply 09:57:54Z–10:57:20Z, závěrsuccess. Lane se před ním nezměnil a nic jiného na něm neběželo.reapply. Evidence uvádíattempt: 2schváleníma_4738ffee…, předchozí Permitmp_ad117f9b…aquiescence: gateway-lease.approved_plan_digest50cc482f…se rovná SHA-256plan.jsonna merge2d1607e6. Nový Permitmp_8d199245…byl vydaný v 10:01:48Z a spotřebovaný v 10:04:59Z (machines-permits-v1952bce53, s markeremapprovals/…/2.json).status: succeeded, stagedone,lease_state: succeeded, takže hold lane je pryč. Outcomesuccess, completioninstallation-complete-acceptance-pending, conformitydrifted→conformant. Evidence commit je2cea890av ledgerumachines-evidence-v1. Závěrečná událost runneru hlásílease_state: unknown, stejně jako u 2. Organizace.attempt.drift.components).vm-104-t3,-release,-resident-config,-resident-selectiona-mausbotprošly. Proč první pokus skončilworkspace-artifact-release-unreachable, zůstává neověřené. Výstup úlohy runner nepublikuje a odsud do VM104 SSH nevede. Podle zjištění dozoru egress VM104 v readbacku prošel a zdroje ani GitHub nehlásily výpadek, takže odhaduji přechodnou chybu sítě.Ověření po apply na každém hostu (závěrečný readback engine v 10:57:09Z, porovnaný s preconditions mergnutého Plánu): 276 kontrol, 273
passa 3unknown. Všech 49 kontrol, které byly v Plánufail, je teďpass. Žádná kontrola se nezhoršila a všech 12 kontrol hostu prochází.t3releaseresident-config/-selectionmausbotai-readyunknownai-readyunknowndiagnosticsunknownretiredpassTři
unknown(vm-113-ai-ready,vm-114-ai-ready,vm-151-diagnostics) bylyunknownuž ve schváleném Plánu. Engine je hlásí jako uživatelskou akceptaci, kterou je ještě potřeba prokázat. Samostatný čerstvý Plán jsem nepočítal, protože by vyžadoval nový lane PR. Uvedený readback je závěrečný readback samotného apply.Další krok: 1. Organizace, až vlákno recovery ohlásí opravu sondy. 2. a 3. Organizace jsou hotové.
Agent: environment a480495c-25e0-4e51-828b-1dbf1b77d62f · bot c59bfd74-62a6-4eaa-88dd-5e19f1b3032e
immakermatty commentedon Nov 5, 2026
1. Organizace: zdraví lane po recovery jsem ověřil sám, vlna T3
0.1.6-lazurio.1v ní pokračuje. (zapsáno 2026-11-05 11:30 UTC)Navazuje na ohlášení vlákna recovery a na pořadí z rozhodnutí z 2026-11-04 23:04 UTC. 2. a 3. Organizace jsou hotové, tato je poslední.
Ověřeno nezávisle na ohlášení:
0b49fda0skončilsuccess. Výsledek apply:status: succeeded, stagedone,lease_state: succeeded. Evidencemachines-evidence-v1@633f1fdfuvádí outcomesuccessa completioninstallation-complete-acceptance-pending. Lane tedy už nestojí vrecovery_required.pass. Jedináfailjevm-104-releaseaunknownjsou tři kontroly uživatelské akceptace (vm-102-ai-ready,vm-104-ai-ready,vm-150-workspace). Odpovídá to ohlášení.convergenamainobsahuje jen VM101 a VM102.Lane PR: ten z 2. 11. jsem přestavěl na čerstvý
main(head96d9c668). Obsahuje dvě změny:converge, se mění z0.1.2-lazurio.6na0.1.6-lazurio.1. Hodnoty sedí s immutable vydáním: sha256e24f39e3…, 122734788 B, zdroj5176bd32.recovery.json, credentialinterrupted-apply-attestationa referenceinterrupted-apply.machine.jsonje tím bajt po bajtu stejný jako před první recovery.convergese nemění a Machines zůstávají na v0.12.215.VM104 a VM150: mimo konvergenci, pin nenasazený. Lane PR je nemění, ani pin. Oprava 11:32 UTC: první verze PR (head
73781066) měnila pin na všech čtyřech Prostředích. Její CI Plán ukázal, že by na VM150 přibyly čtyřifailkontroly (t3,release,resident-config,resident-selection), které apply neopraví, protože se VM150 nedotkne. Vrátí se běžným apply s vydáním Machines, které obsahuje opravy, na které odkazuje ohlášení recovery.Další postup: čerstvý CI Plán, review stewarda na přesném headu, zámek apply na stanovištích, merge s
--match-head-commit, apply a ověření po apply na každém hostu. Výsledek zapíšu sem.Agent: environment a480495c-25e0-4e51-828b-1dbf1b77d62f · bot c59bfd74-62a6-4eaa-88dd-5e19f1b3032e
immakermatty commentedon Nov 5, 2026
1. Organizace: vlna T3
0.1.6-lazurio.1je hotová, apply po merge lane PR skončilsuccess. Tím je vlna hotová ve všech třech Organizacích. (zapsáno 2026-11-05 12:06 UTC)Navazuje na start v této Organizaci.
0.1.6-lazurio.1na VM101 a VM102 a odebrání spotřebované recovery vazby;convergea Machines v0.12.215 beze změny). Steward ho schválil na přesném headu6ca1cbd6v 11:43:20Z. Předchozí schválení na3ba5d7abzahodil push opravy jedné věty v README. CI Plán na tomto headu hlásilcurrent. Merge proběhl v 11:45:16Z s--match-head-commit, merge commit84f0b6dc.infra-pr26na všech třech hostech serveru od 11:44:46Z do konce běhu. Všechny tři zámky jsou od 12:05:12Z zase volné (holder: none). Před merge žádný jiný rollout nečekal ani neběžel.main, 11:45:51Z–12:03:58Z):status: succeeded,lease_state: succeeded, outcomesuccess, completioninstallation-complete-acceptance-pending;79fe8855v ledgerumachines-evidence-v1;observed_state_digestpřed apply (fca07a1d) se rovná tomu v commitnutém Plánu;lease_state: unknown, stejně jako u předchozích běhů.recovery.jsonlane namainneexistuje (HTTP 404).pass. Proti preconditions Plánu se změnily přesně dvě kontroly,vm-101-releaseavm-102-release, obě zfailnapass. Ostatních 104 stavů je stejných a žádná kontrola se nezhoršila.t3releaseai-readyunknownai-readyunknownworkspaceunknown0.1.6-lazurio.1už od aktualizace v aplikaci 3. 11. (service-state.json:activeVersion: 0.1.6-lazurio.1, updatecommitted). Apply teď stejnou verzi zapsal jako pin. Launcher T3 apply nerestartoval: služba na VM101 běží od 2026-10-29 18:13 UTC a na VM102 od 2026-10-28 11:14 UTC, ověřenosystemctl --user show t3code.servicepo apply.0.1.2-lazurio.6. Do konvergence se vrátí s vydáním Machines, které obsahuje opravy z ohlášení recovery.Stav vlny: 2., 3. i 1. Organizace mají T3
0.1.6-lazurio.1na všech Prostředích, která jejich lane konverguje. Mimo konvergenci s nenasazeným pinem zůstávají VM107 (2. Organizace) a VM104 a VM150 (1. Organizace).Agent: environment a480495c-25e0-4e51-828b-1dbf1b77d62f · bot c59bfd74-62a6-4eaa-88dd-5e19f1b3032e
release: Lazurio distribution
feat(web): "+" and the empty panel open Nová karta
release: Lazurio distribution
feat(web): "+" and the empty panel open Nová karta
release: Lazurio distribution
feat(web): "+" and the empty panel open Nová karta
release: Lazurio distribution
feat(web): "+" and the empty panel open Nová karta
release: Lazurio distribution