Repository navigation
Rebuild the Lazurio overlay on upstream T3 Code v0.1.2 - #114
Merged
Merged
Conversation
immakermatty
force-pushed
the
lazurio/rebuild-v0.1.2
branch
2 times, most recently
from
October 23, 2026 16:44
aa50054 to
6eb03a4
Compare
immakermatty
force-pushed
the
lazurio/rebuild-v0.1.2
branch
from
October 23, 2026 20:26
6eb03a4 to
25d9a21
Compare
agentrozjedemeai
deployed
to
lazurio-t3code-release
October 23, 2026 22:08 — with
GitHub Actions
Active
agentrozjedemeai
deployed
to
lazurio-t3code-release
October 24, 2026 09:32 — with
GitHub Actions
Active
9 tasks
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status: draft, for CI and review only. This PR is never merged by its button. Its head becomes
mainthrough the swap in stage 6 ofdocs/operations/lazurio-fork-release.md, after the currentmainis captured by an immutable release tag.Rebuild issue: #112 (inventory and every row's decision).
Inputs
v0.1.1=fe27e8e3dc12dcbb108e9a28fd9b8cb65f34ae92v0.1.2=044f07257c9684ae4543bd1e1ebf9c394e9e3830(tagupstream-v0.1.2)expected_old_mainmainis788fd715(#106, #113 and #110 since stable0.1.1-lazurio.1captured626cf804), and all three are replayed here. Preview0.1.1-preview.20261023.1is built from788fd715and goes to Ring 0. The stable0.1.1-lazurio.2will capturemain, and this value is set to it before the swap.candidate_head25d9a218245e2ab338aba16c651f7860d81a8549What the rebuild does
The overlay is replayed onto v0.1.2 as one commit per row, in the target stack's order, with row 5 (distribution) last: 28 commits. Rows 23–28 come over as one commit each, and row 29 is a backport (below). Each commit message says what changed on the new base.
Main problem solved. Upstream v0.1.2 adds its own
t3 thread list|start|send|show(pingdotgg#22732). A plain replay registers twothreadgroups, andt3(the server included) fails to start with "Duplicate subcommand". Row 21 now builds one group: the overlay's subcommands, plus every upstream subcommand whose name the overlay does not use (todaystartandshow).Other rebuilds:
chat/useSystemComposerBanners.tsxandsettings/SavedEnvironmentRows.tsx. A missed site would silently offer the client's version, so a new contract pin forbids.clientVersionin web sources.data-surface-launcher-keys, as upstream's launcher does since fix(web): right panel launcher letters open their surface instead of typing into the composer pingdotgg/t3code#22898. Without it the composer's type-to-focus would take them. Covered by a browser test and a pin.chat/TimelineUserMessageRow.tsx, including the automation row (feat: show automation messages as compact timeline rows pingdotgg/t3code#22638).chat/timelineRowContext.tsand the hidden fork button tochat/TimelineAssistantRows.tsx;chat/useComposerSend.ts, and the fallback chip tochat/UserMessageContextChips.tsx.chat/TimelineUserMessageRow.tsx. The „Buddy za “ label now wraps that row's label, andFoldedMessageHeadertakes aReactNode.MessagesTimeline.tsx. The mark at a decided request moves with the work row tochat/TimelineWorkEntryRow.tsx.chat/ComposerControlsBar.tsx(refactor(web): the composer's footer controls render in ComposerControlsBar pingdotgg/t3code#23058). The thread's error banner renders inchat/ChatBannerLane.tsx(refactor(web): ChatView's timeline banners render in ChatBannerLane pingdotgg/t3code#23101), andchat/useThreadLifecycle.tsxmakes the work banners ChatView joins.buddyBackgroundWorkis whether the background-work banner exists. It exists exactly while such work runs.22840ab943, not in v0.1.2): every patched package is pinned inpnpm-workspace.yaml'soverrides. Without it no release has passed since 2026-10-23 20:13Z: the CLI archive's install without the lockfile took node-pty1.2.0-beta.17once it was old enough, and the patch for1.2.0-beta.15went unused (ERR_PNPM_UNUSED_PATCH, release run 40017408531). The lockfile changes only inoverrides,catalogsand specifiers. The row is dropped at the rebuild onto the first tag that contains fix(deps): pin all patched package versions pingdotgg/t3code#23798.maingets the same fix in fix(deps): pin all patched package versions (upstream #23798) #117.apps/web/src/lazurio/brand/README.mdcomes with row 25. The README, the runbook and the release notes' licence lines come with row 5.lazurio/environmentLabel.test.ts,lazurio/branding.test.ts,lazurio/managedFolderVcs.test.ts,lazurio/questionTool.test.tsandcli/auth.test.ts.@tsc-rs/typescript0.8.0 and Vite+ 1.3.0 in CI, the release and the image.VP_NODE_VERSIONis removed. CLI archives build0.1.2-lazurio.0.What people and agents will notice
t3 thread sendnow defaults to--mode queue: a busy thread gets the message as its next turn and nothing is interrupted. Delegace always passes--mode queue.send:-reads standard input;--message-file -stays;--waitprints the reply, exits 1 if the run fails and 2 if the thread waits for an answer.t3 thread launchstarts in the project's default runtime mode (upstream's launch now applies project defaults to outside callers). That default is full access unless changed.t3 thread startandt3 thread showare available beside the overlay's commands.t3 agent clilabel, which keeps Delegace's send namespace. Buddy's chat and the „Buddy za …“ mark behave as onmain.What stays the same (stage 5)
statev2.sqliteand a return to v0.1.1 leaves it as it is.auth.tsandRpcAuthorization.tsare identical).t3 lazuriooutputs are unchanged and pinned byte for byte.Allowlist, test gate and pins
main→ this head), exactly the upstream files this overlay changes.packages/ssh/src/tunnel.test.tsandCodexDeveloperInstructions.test.ts.cli/thread.ts(oneexportforrunResultText).ServerEnvironmentLabel.test.ts,VcsProvisioningService.test.ts,RightPanelTabs.keyboard.browser.test.tsx).CI on this head
Lazurio Fork CI run 40019208350 (
workflow_dispatchon25d9a218, because the PR conflicts withmainby design) is running. Its CLI archive builds are the proof for row 29, because the release age that broke them has passed. The previous head6eb03a43b7was green in run 39989366643.Verified locally (macOS, Node 26.12.1, pnpm 12.14.0)
On
25d9a218(row 29 added): the contract test passes 46 of 46,vp fmt --checkis clean, andpnpm install --lockfile-onlyleaves row 29's lockfile unchanged. Its 25 pins equal the versions the lockfile already resolved. Everything below was verified on6eb03a43b7, which differs from this head only in row 29 and five lines of the runbook.main: each changed line of rows 27 and 28 and of docs(lazurio): the Lazurio brand assets stand outside the MIT licence #110 compared with its source onmain. The differences are only the v0.1.2 seams above, and row 24's commit subject names Delegace asmain's table does.node --test scripts/lazurio-release-contract.test.mjs: 46 pass.vp fmt --check: clean over the whole repository.pnpm run lint: exits 0. Its warnings are all on upstream lines that warn on plain v0.1.2 as well.vp run --filter t3 typecheckandvp run --filter @t3tools/web typecheckexit 0.apps/server: 70 files and 822 tests pass, with 1 file and 14 tests skipped.packages/contracts,packages/sharedandscriptspass.apps/web, on the second run: 40 of 42 files and 1,720 of 1,723 tests pass. In the first run Vite's dependency optimizer reloaded mid-run, so 8 files did not import.buddySurfaceControls.browser.test.tsx,buddySurfaceDayJump.browser.test.tsx) pass alone, 4 of 4, and CI ran them green.Not verified locally
pnpm/action-setupwith pnpm 12). CI checks both.Follow-ups
6eb03a43b7, from the code, relying on the green CI above.budicek) before it goes to Ring 0.expected_old_mainset to what0.1.1-lazurio.2captures, before the swap.🤖 Generated with Claude Code