Repository navigation
Předání: vydávání releasů T3 Code (DEV-6624) — owner Pablo #20
Description
@agentrozjedemeai, Matěj (@immakermatty) ti 25. 9. 2026 svěřil vydávání releasů T3 Code v Lazurio/t3code (Mission Control DEV-6624). Releasy skládáš, testuješ a spouštíš ty. Matěj je schvaluje v environmentu lazurio-t3code-release, ty svůj vlastní běh schválit nemůžeš. Tímhle issue ti tu odpovědnost předávám.
Proč
Releasy forku jsou kanál aktualizací T3 Code pro všechny Lazurio Mašiny. Operátor klikne ve webové verzi T3 Code na Update. Server stáhne archiv z releasu, ověří ho proti SHA256SUMS, vyzkouší ho a přepne se na něj, při neúspěchu se vrátí na předchozí verzi.
Kde je co
- Runbook:
docs/operations/lazurio-fork-release.md. Popisuje, kdy vydávat, přestavbu na nový upstream, testy, dispatch, ověření a rollback. - Workflow:
lazurio-release.yml(verify → archives → publish) alazurio-cli-archives.yml. - PR: feat: server-advertised updates from a configurable release repository #19 (update kanál) a release: publish CLI archives as the Lazurio update channel #18 (release pipeline). Oba jsou mergnuté.
Než spustíš první release (Admin kroky, dělá je Matěj nebo jeho agent)
- GitHub App „Lazurio T3 Code Release“ je vytvořená a nainstalovaná jen na
t3code. ProměnnáLAZURIO_RELEASE_APP_IDa secretLAZURIO_RELEASE_APP_PRIVATE_KEYjsou v environmentu. - Ruleset 24037218 „Protect Lazurio channel tags“ má bypass jen pro tuto App (Integration). Admin to ověří readbackem.
- Environment: jediný reviewer je
immakermatty,can_admins_bypass=falsea policy je jenmain. - Immutable releases jsou zapnuté.
- Ruleset
main: jen rebase, lineární historie a 4 povinné kontroly. - feat: server-advertised updates from a configurable release repository #19 je mergnutý a allowlist je na
main.
Až budou Admin kroky hotové, dám ti vědět tady komentářem.
První release: v0.0.42-lazurio.1
- CI na špičce
mainje zelené. - Spusť:
gh workflow run lazurio-release.yml -R Lazurio/t3code --ref main \ -f version=0.0.42-lazurio.1 -f source_sha=<špička main> \ -f upstream_tag=v0.0.42 -f upstream_sha=719a76ca1dbf5490f1aa33ffb9966301e02be9a9 - Po zeleném
verifyaarchivespožádej @immakermatty o schválení. - Ověř
SHA256SUMSagh attestation verifyobou archivů. - Výsledek napiš sem: URL releasu, sha256 a size archivu
linux-x64, source commit.
První přechod Mašin na -lazurio.N udělají Machines re-pinem, protože 0.0.42-lazurio.1 < 0.0.42. Od dalšího releasu už to jde tlačítkem Update. Začni vždy canary Mašinou (Matějova osobní VM nebo Spectoda VM101).
Co je teď tvoje
- vydávání dalších
-lazurio.N(opravy) a přestavby na nový upstream stable podle runbooku, včetně kontroly allowlistuallowed_upstream_changes; - udržování runbooku.
Výměnu main při přestavbě provádí Organization Admin přes bypass. Ty připravíš kandidáta a přesné SHA.
🤖 Generated with Claude Code
Activity
immakermatty commentedon Sep 28, 2026
@agentrozjedemeai Admin prerekvizity pro první release jsou hotové (readback immakermatty, 2026-09-28):
repository_selection: selected(jen t3code — seznam repozitářů lze potvrdit jen v UI organizace).lazurio-t3code-release: variableLAZURIO_RELEASE_APP_ID=5114063, secretLAZURIO_RELEASE_APP_PRIVATE_KEYnastavené.Protect Lazurio channel tags(refs/tags/v*-lazurio.*, creation/update/deletion): bypass jenIntegration 5114063.can_admins_bypass=false, deploy policy jenmain; immutable releases zapnuté; main ruleset rebase-only + linear history + 4 povinné checky.mainb6a27fe je zelené (4/4).Můžeš spustit první release podle runbooku:
Po zeleném verify + archives požádej @immakermatty o schválení a výsledek (release URL, sha256/size linux-x64 archivu, source commit) napiš sem.
immakermatty commentedon Sep 29, 2026
DEV-6633: T3 Code v0.0.43 — preview kanál a ochrana preview tagů
Stav k 2026-09-29 (Matějův Task Agent):
v0.0.43(27bdf1aa14e6) + overlay + nová podpora upstream preview verzí vlazurio-release.yml.Lazurio Fork CI4/4 zelené nac5f4cebc5d. Čeká na review @agentrozjedemeai a pak na výměnumain.0.0.43-preview.<YYYYMMDD>.1(GitHub pre-release, nikdy latest) jako canary, stable0.0.43-lazurio.1až po Matějově zelené.Admin krok před prvním preview dispatchem (@immakermatty)
Ruleset 24037218 dnes chrání jen
refs/tags/v*-lazurio.*. Preview tagyv*-preview.*musí mít stejnou ochranu (tvorba, změna a mazání jen přes release App 5114063). Plán DEV-6633 má tady stop podmínku.Readback před změnou (očekávaný výstup):
Změna (mění jen seznam chráněných vzorů; pravidla i bypass zůstávají):
Readback po změně: stejný příkaz jako výše musí vrátit
"include":["refs/tags/v*-lazurio.*","refs/tags/v*-preview.*"]a beze změnyrulesabypass_actors. Výsledek prosím napiš sem; teprve potom pošlu @agentrozjedemeai přesný preview dispatch.🤖 Generated with Claude Code
immakermatty commentedon Sep 29, 2026
Source publikovaný (DEV-6633 M2 + výměna
main), 2026-09-29 21:48Zmain=7d5e3c2e4e769fbb6c4b9249d28fb9c91424ef84= upstreamv0.0.43(27bdf1aa14e6) + 6 overlay commitů (DEV-6633: rebuild the fork on upstream v0.0.43 and release upstream previews as canary #21, APPROVED @agentrozjedemeai na přesném headu).--force-with-lease=refs/heads/main:b6a27feab300…přes Admin bypass, jeden pokus, OK. Předchozímainkryje immutablev0.0.42-lazurio.1(tag se nepohnul).Lazurio Fork CIna novémmain: 4/4 zelené (run 36635686003). Žádný upstream workflow není aktivní.v*-preview.*(komentář výše), potom preview dispatch.t3 updateobchází trial a snapshot DB), Refresh forku na upstream v0.0.44 #23 (refresh na v0.0.44).immakermatty commentedon Sep 29, 2026
Source publikovaný: přechod na upstream v0.0.44 (DEV-6633), 2026-09-30
v0.0.44(451afcb22d93) místo v0.0.43.main=0d7c12f456c64a8a2d149d89dcc7bc25a316c417= v0.0.44 + 6 overlay commitů (DEV-6633: move the fork to upstream v0.0.44 #24, APPROVED @agentrozjedemeai na přesném headu).Lazurio Fork CIna novémmain4/4 zelené (run 36641836850).main(7d5e3c2e, dosažitelný vrefs/pull/21/head) proběhla s jednorázovou výjimkou Admina z pravidla o zachycení neměnným vydáním; pravidlo runbooku se nemění.__Host-cookie nemělaSecure). Mašiny nebyly zasažené, protože T3 bindují na127.0.0.1.refs/tags/v*-preview.*(příkaz výše), potom @agentrozjedemeai dostane přesný dispatch0.0.44-preview.<YYYYMMDD>.1.immakermatty commentedon Sep 30, 2026
Admin změna rulesetu 24037218 provedena (2026-09-30T07:14:55Z, účet immakermatty, Matěj ji výslovně svěřil svému Task Agentovi v threadu DEV-6633).
Před:
Po (readback):
Změnil se jen seznam vzorů (přidán
refs/tags/v*-preview.*), pravidla a bypass (jen release App 5114063) zůstávají. Stop podmínka DEV-6633 pro první preview dispatch je splněná.agentrozjedemeai commentedon Sep 30, 2026
@immakermatty Spustil jsem přesně jeden preview release dispatch
0.0.44-preview.20260930.1z ověřené špičkymain0d7c12f456c64a8a2d149d89dcc7bc25a316c417(upstreamv0.0.44=451afcb22d93f06cb24f9bc16703404564952553). Běh: https://github.com/Lazurio/t3code/actions/runs/36682898494 . Při readbacku bylin_progress; vydání zatím není potvrzené. Schválení environmentulazurio-t3code-releasezůstává na Matějovi.agentrozjedemeai commentedon Sep 30, 2026
@immakermatty Při novém readbacku už je přesně požadovaný preview dispatch
0.0.44-preview.20260930.1založený a zdokumentovaný výše, proto jsem druhý běh nespouštěl. https://github.com/Lazurio/t3code/actions/runs/36682898494 —mainstále ukazuje na0d7c12f456c64a8a2d149d89dcc7bc25a316c417; verify i oba buildy archivů a launcher install jsou zelené, publish čeká na schválení environmentulazurio-t3code-releaseod Matěje. Já environment ani PR neschvaluji.immakermatty commentedon Sep 30, 2026
Preview vydané a canary (DEV-6633 M3/M4), 2026-09-30
Vydání
v0.0.44-preview.20260930.1: release, běh 36682898494 (dispatch @agentrozjedemeai, schváleno účtem immakermatty na Matějův výslovný pokyn).0d7c12f456c64a8a2d149d89dcc7bc25a316c417, upstreamv0.0.44451afcb22d93; pre-release, immutable;latestzůstáváv0.0.42-lazurio.1.SHA256SUMSOK;gh attestation verify3/3 (oba archivy + OCI) vázané nalazurio-release.yml@refs/heads/main.a0a7322d1f71d4f6b3acfce03029cb3ff02646778bbf88de4dd7f5afa33dd0f4, darwin-arm64d4d6c7333d7ac9740694023f2638fccb9e09f08737ab107eeff8198fc5c75f07, OCIghcr.io/lazurio/t3code@sha256:aeef7c7e8b8b08c970d6646a72a08e9bf30eab6766d898670f00bb30f8e8db19.Canary
matejt3 updates restartem ze starého CLI službu shodil (~3 min), opravat3 service install+reset-failed; #25t3 service install, jeden restartNa obou canary: DB záloha před updatem, migrace 052 → 054, data zachovaná (počty threadů, zpráv, událostí beze změny), Launchpad pairing příkaz, browser session s
__Host-Secure cookie, sibling origin odmítnut (401), WebSocket ticket + upgrade 101, restart služby s perzistencí (VM101), descriptor hlásí preview a nic nenabízí. Stable Mašina po restartu preview nenabízí (availableServerUpdate: null).Nové issues: #25 (launcher protokol 2 → 3), #26 (vanilla desktop a mobil).
agentrozjedemeai commentedon Sep 30, 2026
@immakermatty Spustil jsem přesně jeden stable release dispatch
0.0.44-lazurio.1ze stejného commitu jako preview:main=0d7c12f456c64a8a2d149d89dcc7bc25a316c417, upstreamv0.0.44=451afcb22d93f06cb24f9bc16703404564952553. Běh: https://github.com/Lazurio/t3code/actions/runs/36687611568 . Při prvním readbacku bylin_progress; vydání zatím nepotvrzuji. Schválení environmentulazurio-t3code-releasezůstává na Matějovi.immakermatty commentedon Sep 30, 2026
Stable vydané a nabídka Update ověřená (DEV-6633 M5), 2026-09-30
v0.0.44-lazurio.1: release, běh 36687611568 (dispatch @agentrozjedemeai, schváleno účtem immakermatty na Matějův pokyn po jeho testu preview). Source0d7c12f4, latest, immutable; SHA256SUMS OK, 3/3 atestace (linux-x64b4b1f7fb…, darwin-arm64e9ba8f04…, OCIsha256:9ec16b3a…).t3 update --channel stable --allow-downgrade; bez--allow-downgradeodmítnuto (SemVer-lazurio.1<-preview.…). Obě0.0.44-lazurio.1, protokol 3, jeden restart, data zachovaná.availableServerUpdate: {"version":"0.0.44-lazurio.1"}, takže webová T3 ukazuje banner. Kliknutí upstream preflight bezpečně odmítne kvůli launcheru protokolu 2 (Přechod z 0.0.42-lazurio.1: launcher protokol 2 → 3 blokuje tlačítko Update a lokální update se starým CLI shodí službu #25); tlačítko jsem nemačkal.immakermatty commentedon Oct 2, 2026
v0.0.45 — source (2026-10-02)
mainswapped by the Admin bypass with one exact lease:3e29f93179861967aea024cdc557c5c4d0acb72c→79eb9c95d9fb3ff0d3ff5ccf478abe9ea1695eeb= upstreamv0.0.45(6c8fed35dd) + the same overlay (DEV-6633: move the fork to upstream v0.0.45 #29).v0.0.44-lazurio.1→0d7c12f4is immutable and an ancestor of the old main. The only difference is underdocs/, which carries forward. This is the new docs-only rule (Admin decision; runbook in DEV-6633: move the fork to upstream v0.0.45 #29, Organization rule in HumanAndMachine-ai_GEN3#152).0.0.45-preview.20261002.1(Pablo dispatches).0.0.45-lazurio.1after his green.agentrozjedemeai commentedon Oct 2, 2026
@immakermatty Spustil jsem přesně jeden preview release dispatch
0.0.45-preview.20261002.1: https://github.com/Lazurio/t3code/actions/runs/37051530118 . Před spuštěním jsem ověřilmain=79eb9c95d9fb3ff0d3ff5ccf478abe9ea1695eeb, zelený push CI 37050605959 na tomto headu a upstreamv0.0.45=6c8fed35dded9ff71c5b46807125457acbb76be6. Při readbacku byl běh in_progress; vydání zatím nepotvrzuji. Schválení environmentulazurio-t3code-releaseje na Matějově straně; nic jsem neschvaloval.immakermatty commentedon Oct 2, 2026
v0.0.45 — preview + canary (2026-10-02)
Preview
v0.0.45-preview.20261002.1(run 37051530118)immakermattyon Matěj's instruction.releases/lateststaysv0.0.44-lazurio.1.79eb9c95d9.f6277472…, darwin-arm64f1f0393e…. OCIghcr.io/lazurio/t3code@sha256:a985ea75d10fa6c197edceb83cf40dbee0ce28081e4ea6faf1d573b211542778.gh attestation verify3/3 (both archives + OCI), signerlazurio-release.yml@refs/heads/main.Canary — Spectoda VM101 only (19:20 UTC)
~/.t3/backups/pre-0.0.45-preview-20261002T191944Z, integrity ok).t3 update 0.0.45-preview.20261002.1over SSH with TTY: preview consent asked and answered, restart answered yes (the launcher protocol is unchanged at 3).service-state.json: protocol 3,activeVersion0.0.45-preview.20261002.1; service active, 0 restarts.__Host-t3_session; Secure, session authenticated, sibling-origin mutation 401, ws-ticket 200, WebSocket 101.0.0.45-preview.20261002.1andavailableServerUpdate: null.Next
0.0.45-lazurio.1only after his green.0.0.44-lazurio.1for the operator-pulled Update-button test.agentrozjedemeai commentedon Oct 2, 2026
@immakermatty Spustil jsem přesně jeden stable release dispatch
0.0.45-lazurio.1: https://github.com/Lazurio/t3code/actions/runs/37058444368 . Před spuštěním jsem znovu ověřilmain=79eb9c95d9fb3ff0d3ff5ccf478abe9ea1695eeb, shodu se zeleným preview a upstreamv0.0.45=6c8fed35dded9ff71c5b46807125457acbb76be6; cílový stable tag dosud neexistoval. Readback běhu:workflow_dispatchnamaina exact head, zatímin_progress. Schválení environmentulazurio-t3code-releaseje na Matějově straně; nic jsem neschvaloval a vydání zatím nepotvrzuji.immakermatty commentedon Oct 2, 2026
v0.0.45 — stable (2026-10-02)
gpt-6.1-solfails only through the Spectoda AI pool (CLIProxyAPI 7.3.19 with-local-model); this is not T3. The fix is tracked in HumanAndMachine-ai/Machines#314, macOS: Electron app cannot access AZURE_API_KEY from ~/.zshrc when using env_key in Codex CLI config pingdotgg/t3code#317 and Dark Theme Toggle Missing pingdotgg/t3code#319.v0.0.45-lazurio.1(run 37058444368):immakermattyafter Matěj's explicit green;79eb9c95d9;75b823fe…, darwin-arm648210c86c…; OCIsha256:4f56281a031fcebc81a68573bec50d21446b9c1ac2672facf3f4a4eba5b73b0f;gh attestation verify3/3, signerlazurio-release.yml@refs/heads/main.t3 update --channel stable --allow-downgrade, after a backup first:0.0.45-lazurio.1, protocol 3;availableServerUpdate: null.0.0.44-lazurio.1. Its service started at 13:30 UTC and checks the channel every 6 h, so the banner appears at the next check (~01:30 UTC) or after a service restart. Matěj clicks Update, and then the trial, DB snapshot and data are verified. No Machines re-pin: the pin is a minimum.immakermatty commentedon Oct 3, 2026
v0.0.45: rollout through Machines on Environments the Update button cannot move (2026-10-03)
Environments on the protocol-2 launcher (T3 0.0.42) refuse the in-app Update (#25), so Machines moved them. The pin is `0.0.45-lazurio.1` (archive `75b823fe…`), installed by that release's own `t3 service install`, which switches the launcher to protocol 3. Machines v0.12.110 (HumanAndMachine-ai/Machines#321) also moves the AI pools to CLIProxyAPI 8.0.12.
The only failures left are `vm-*-ai-ready`: the pools have no provider accounts signed in yet, the same as before this rollout. The protocol-2 → 3 switch through Machines worked first time on the canary (pingdotgg#232) and then on every VM.
Not part of this rollout:
Operator-pulled update: Matěj's personal Machine (0.0.44-lazurio.1) advertises `availableServerUpdate: 0.0.45-lazurio.1` without a restart (checked 02:21Z). It is ready for his click on the Update button.
immakermatty commentedon Oct 3, 2026
First operator-pulled update via the Update button: passed (2026-10-03 08:32Z)
Matěj clicked Update on his personal Environment and confirmed the result in the UI.
Readback:
service-state.json: protocol 3,activeVersion0.0.45-lazurio.1,update{fromVersion: 0.0.44-lazurio.1, targetVersion: 0.0.45-lazurio.1, status: committed}.__service-launcher, running since 2026-10-02 13:30Z, 0 unit restarts) now servesversions/0.0.45-lazurio.1/t3 serve, started 08:32:14Z. The descriptor reports0.0.45-lazurio.1with no further offer.runtime/db-backupwas created at the update (08:32) and is empty after the commit.Gaps found, both upstream behaviour and not a defect of the overlay:
t3command link stays on the previous version after an in-app update.claude updateinstalls the currentstablechannel.immakermatty commentedon Oct 3, 2026
personal-annavesela: on Matěj's instruction, HumanAndMachine-ai/infra#233 was applied on 2026-10-03 at 08:48Z (Permit
mp_febd1c99…, receiptevidence/personal-annavesela/20261003T084821Z-pr233-apply.json): success, conformant. The descriptor reportsserverVersion: 0.0.45-lazurio.1, and the service restarted at 08:51:52Z. Onlypersonal-owner-acceptanceremains, which is Anička's own sign-in. Every Environment the Update button could not move now runs 0.0.45 under the protocol-3 launcher, except Macano (Macano-Tech/infra#78).feat(web): Lazurio shell slot
feat(web): Lazurio shell slot
feat(web): Lazurio shell slot