Skip to content

Přestavba na upstream T3 Code v0.1.3 - #137

Merged
immakermatty merged 0 commit into
mainfrom
lazurio/rebuild-v0.1.3
Oct 28, 2026
Merged

immakermatty merged 0 commit into
mainfrom
lazurio/rebuild-v0.1.3

Conversation

@immakermatty

@immakermatty immakermatty commented Oct 28, 2026 •

Copy link
Copy Markdown

Status: ready for review / approved. Pablo APPROVED head 6f04174a49 in round 2 (2026-10-28 16:16:53 UTC, after the head commit). The swap waits for the macOS arm64 archive job: it has had no GitHub runner in three attempts; attempt 4 is queued in run 40715377422. Then main swap (stage 6), preview and Ring 0 (stage 7) after the Example canary.

Rebuild of the Lazurio overlay onto upstream T3 Code v0.1.3 (d2c44031). Tracking issue with the decision table: #136.

What it is

This branch replaces main at the swap (stage 6 of the runbook); it is never merged.

  • It is the exact upstream v0.1.3 tag, followed by one commit per overlay row in target-stack order, with row 5 last.
  • The old main (697648c0) is captured exactly by the immutable stable v0.1.2-lazurio.6.

What changes on the new base

Review round 1 fixes (head 6f04174a49)

Both defects also existed on the old main. They are fixed here, in the rows that own the files, with tests that fail on the old code.

  • The day pane can no longer point at an invisible Delegace wake (row 27).
    • Days, counts, previews and the first message now come only from messages the person sees.
    • The rule lives in one predicate, actingSenderVisibility.ts. It has identical server and web copies, and the contract test keeps them equal.
    • A day with only wakes is not listed.
  • A direct link to another thread no longer bypasses Buddy's one conversation (rows 25 and 28).
    • In Buddy mode, a thread on the primary Environment other than Buddy's redirects to Buddy's thread, as / does.
    • Buddy's presentation in ChatView, the thread details panel and the error banner is scoped to the thread's own Environment, so a secondary Environment keeps T3's normal behaviour.
    • A browser test opens a thread link directly.

What does not change

  • The t3 CLI surface.
  • The capabilities, model and providers outputs.
  • Session scopes and pairing; nobody pairs again.
  • Orchestration protocol 2.
  • Launcher protocol 3.
  • Node 26.12.1 and pnpm 12.14.0.

Verification (local, on this head)

  • Contract test: passes 47 of 47.
  • Allowlist guard: emulated, with no unexpected or stale entries. pnpm-workspace.yaml and pnpm-lock.yaml equal v0.1.3.
  • Typecheck: clean for server and web, and for provider-acp, client-runtime, contracts and shared.
  • Lint: clean over every changed file, with the new rules.
  • Overlay test gate, emulated:
    • server: 934 passed and 14 skipped (CDP tests need a real browser endpoint);
    • web: 1,924 passed, with browser tests on Playwright's bundled Chromium.
  • Owed on the Ring 0 canary (runbook stage 7), from the decision table:
    • the 127.0.0.1 bind;
    • the rail under the Settings modal;
    • the agent-browser tabs surviving the end of an agent;
    • the dark-mode tokens;
    • Chat through the gateway with route-bound WebSocket tickets;
    • a live Codex turn asking through request_user_input;
    • migration 069's first start.

Risks

  • Codex questions: whether the override in row 22 beats Codex's own Default-mode text is only provable on a live turn.
  • Database: migration 069 fills a message search index on first start, so a large database may start slower once.
  • Upstream workflows: three new ones (relay-preview.yml, relay-preview-cleanup.yml, stale-needs-more-info.yml) are disabled right after the swap, per the runbook.

🤖 Generated with Claude Code

Note

Rebuild on upstream T3 Code v0.1.3 with fx provider and shared source-control registry

  • Replaces GitHub-specific pull-request terminology, URL parsing, and media handling across web and mobile with the provider-agnostic sourceControlClients registry; the new source-control-definitions package aggregates the six built-in host definitions
  • Adds the fx provider package and registers its driver, client, and model defaults; adds the Muse usage reader with the Muse Code label
  • Adds the infra/task-cache build/deploy package with a remote cache (admission limits of 2 stores / 4 reads, Basic-auth developer identity, D1-backed) plus CI wiring through setup-ci-deps
  • Restructures web settings into per-page _chat.settings.* routes (beta → labs, storage → maintenance, integrations → browser) and adds guest-share flows, an inspector-based thread navigation path on iOS, and native terminal output replay (512 KiB buffer) on mobile
  • Replaces Shiki with the new t3-highlights native module (Android JNI + iOS) and the highlights engine on web
  • Risk: many package exports are removed or moved (./client/definition → ./shared/definition on all source-control packages, provider-acp drops server/coreRuntimeEvents, shared drops ./githubMarkdownLinks and four other subpaths); ThreadPullRequestWatch, TracingResource, and the terminal module interface gain required/changed fields — check in-tree consumers compile against the new shapes

Macroscope summarized 6f04174.

RetriggerView in GreptileConfidence Score: 5/5

No blocking code issue was established; the inspected changes appear safe to merge.

Summary

Rebuilds the Lazurio overlay on upstream v0.1.3, adapting updates, agent commands, and Buddy’s conversation to the new upstream APIs.

  • T3 Code now includes the v0.1.3 upstream feature set.
  • Each Lazurio thread now keeps its own browser tabs.
  • Buddy now has one focused conversation with page context.
  • Message search now uses an index for matching text.
  • Lazurio now has its own build and release path.

Acknowledged by immakermatty: macOS archive verification awaits an available runner; migration 069 may slow the first start of a large database; live Codex questions and the listed Ring 0 checks remain deferred to the canary; three new upstream workflows will be disabled after the swap.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  U["Upstream v0.1.3"] --> O["Rebuilt Lazurio overlay"]
  O --> S["Server"]
  O --> W["Web client"]
  S --> A["Advertised release"]
  A --> B["Sidebar update button"]
  B --> I["Exact-version install"]
  W --> C["Buddy conversation"]
  S --> D["Visible messages by day"]
  D --> C
Loading

Reviews (1) · Last reviewed commit: "release: Lazurio distribution" · Reviewed by Greptile

@agentrozjedemeai agentrozjedemeai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@immakermatty — exact-head review of bd911a3de4ede82878610bd1c952fff653901f18. The patch stack is based on v0.1.3, the old main and stable tag match, git diff --check is clean, and the manually dispatched Lazurio Fork CI run 40652295524 is green on this SHA. Two Buddy conversation regressions still need a fix and regression coverage before the swap:

  1. [P2] Day pane can point at an invisible Delegace wake. apps/server/src/lazurio/buddySurfaceDays.ts:108-111 fetches every user-role message and :70-89 chooses the first message of each local day without excluding agent-sent wakes. But apps/web/src/lazurio/actingSender.ts:152-174 removes Delegace wakes from the timeline, while apps/web/src/lazurio/BuddySurface.tsx:559-565 jumps to that first message ID. useBuddyDayJump at BuddySurface.tsx:230-245 cannot find it and clears the request when history is exhausted. If a Delegace wake precedes the person's message that day, clicking the day never reaches the visible conversation; a wake-only day becomes a dead entry. Derive days from the same visible-person predicate (and cover wake-first/wake-only cases) rather than selecting all role=user records.

  2. [P2] A linked thread bypasses Buddy's one-conversation route. apps/web/src/routes/_chat.tsx:38-43 and apps/web/src/components/ThreadRouteView.tsx:139-146 render any ready thread route, even while the primary server is in Buddy mode. apps/web/src/components/ChatView.tsx:579 then uses unscoped useBuddySurfaceMode() to apply Buddy's steer/composer behavior to that thread; other Buddy wrappers similarly hide thread details. The mode helper explicitly scopes by environmentId when passed one (BuddySurface.tsx:58-67), and the server guard only refuses new threads/forks, not read-only navigation to a pre-existing or secondary-environment thread (buddySurfaceGuards.ts:32-59). Redirect non-Buddy targets to the canonical Buddy thread, or consistently scope all presentation/behavior to the target environment and thread ID; add a direct-URL regression test.

I did not merge, push, dispatch, or touch Ring 0. The local contract test ran 45/46 in this dependency-free temporary clone; the sole failure was module resolution (@t3tools/shared absent because node_modules was not installed), not a source assertion. CI on this exact SHA did complete successfully. The intentional rebuild conflict with main is not a finding. Ring 0 browser/runtime checks remain stage-7 work.

@immakermatty
immakermatty force-pushed the lazurio/rebuild-v0.1.3 branch from bd911a3 to 6f04174 Compare October 28, 2026 15:22
@immakermatty

Copy link
Copy Markdown
Author

Thanks. Both findings are fixed on head 6f04174a492ee54d760e7942bafa816a672cffca, folded into the rows that own the files. They existed on the old main too, so this also fixes the current stable's behaviour.

  1. Delegace wake in the day pane (row 27).
    • buddySurfaceDays.ts now filters through the same visibility predicate as the timeline: actingSenderVisibility.ts, with identical server and web copies held equal by the contract test.
    • Wake-first days start at the person's message, and wake-only days are not listed.
    • Unanswered agent messages are left out, as the timeline does.
    • New cases in buddySurfaceDays.test.ts cover wake-first, wake-only and unanswered days.
  2. A linked thread bypassing Buddy's route (rows 25 and 28).
    • In Buddy mode, any thread on the primary Environment other than Buddy's renders BuddySurfaceIndex, the same path as /, which redirects to Buddy's thread.
    • The Buddy checks in ChatView, the thread details panel and the error banner are scoped to the thread's environmentId, so a secondary Environment keeps normal T3 behaviour.
    • buddySurfaceRoute.browser.test.tsx opens a thread URL directly; the redirect case fails on the old _chat.tsx.
    • Not covered: /draft/<id> on Buddy's Environment is still not redirected. The server already refuses creating threads there.

Local checks on the new head:

  • contract test 47/47;
  • t3 and web typecheck 0;
  • the allowlist guard emulation finds nothing unexpected or stale;
  • the new tests pass.

Lazurio Fork CI on the exact head: run 40715377422. Please re-review on 6f04174a492ee54d760e7942bafa816a672cffca.

@agentrozjedemeai agentrozjedemeai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@immakermatty — APPROVED on exact head 6f04174a492ee54d760e7942bafa816a672cffca (review round 2). I checked the v0.1.3 patch-stack base and target order, git diff --check, the immutable v0.1.2-lazurio.6 tag against old main, and the changed Buddy day/route logic and regression tests. The day pane now excludes recorded Delegace wakes from day/first-message selection, and a direct primary-Environment thread URL redirects to Buddy while a secondary-Environment thread keeps its own chat behavior. No unresolved review threads were present. In my isolated dependency-free clone the release contract ran 46/47; the sole failure was missing workspace package resolution (@t3tools/shared, no node_modules), not an assertion. The exact-head CI has green server/web compatibility and linux-x64 archive jobs; darwin-arm64 is still queued, so this approval is not a swap/release gate. Complete that job and the remaining runbook/Ring 0 checks before any main swap. I did not merge, push, or dispatch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants