Repository navigation
v0.1.111-alpha.2573
Pre-release
Pre-release
Codevisor 0.1.111-alpha.2573 Alpha
Changed
- Nightly Tier 2 over every scene, weekly Apple HP, N3 to spec, display phase (851-3749, 851-4092) (#1082) (5a33099)
- Produce plain and framed App Store screenshots in one run (#1088) (0c79206)
- Create, update and delete Gmail labels (851-4137) (#1087) (18885c1)
- Set up bun in the bench build, now that the minis have no Homebrew (851-3749) (#1085) (d9a865a)
- Create release tags through the GitHub API (851-4127) (#1086) (fbc2047)
- Use GitHub's xcode-27 runner label for the hosted canary (851-4133) (#1084) (8c0bb73)
- Report test results to GitHub from CI (851-4132) (#1083) (97346b1)
- Move the dev layout into devtools as typed TypeScript (851-4134) (#1081) (b8abe9d)
- Make the iOS sidebar's workspace row the main chat, like on macOS (#1080) (c2591b8)
- Store feature flags on the server and sync them across machines (851-4136) (#1079) (74f0a28)
- Make the Apple builds reusable and check them weekly on hosted runners (851-4133) (#1078) (9606250)
- Pin Xcode in .xcode-version (851-4129) (#1077) (1ebf523)
- Start the devtools package with ship and a shared reporter (851-4134) (#1076) (f1bd384)
- Ignore uploads from the turbo cache's read-only token (851-4130) (#1075) (29ab55f)
- Pin Rust in rust-toolchain.toml (851-4129) (#1074) (ac098d2)
- Show branch and machine under iOS chat titles (#1073) (c15412c)
- Retry transient GitHub errors in ship and the cache deploy check (851-4128) (#1072) (307719e)
- Keep the Updates title inline when Settings opens straight to it (851-4135) (#1071) (bf2aec2)
- Stream check output into GitHub log groups and summaries (851-4132) (#1070) (d78dbc2)
- Build the tunnel's native artifacts as turbo tasks (851-4131) (#1069) (5dad00b)
- Show why CI checks failed and confirm queue exits before reporting them (851-4128) (#1068) (93d5d33)
- Self-host the turbo remote cache on Cloudflare R2 (851-4130) (#1065) (369a4b7)
- Let ship --wait ride out brief GitHub outages (851-4128) (#1067) (f48ba4d)
- Strip debug info from the tunnel xcframework (851-4131) (#1066) (04ca789)
- Make the sleeping mascot's z's readable in dark mode and in the sidebar (#1064) (4209330)
- Refresh the iOS App Store screenshots: Harnesses, Updates and iPhone Duo (#1063) (7e0e874)
- Keep ship --wait waiting while the PR sits in the merge queue (851-4128) (#1062) (3a6f066)
- Gate main with a merge queue (851-4128) (#1061) (1efebca)
- Split CI out of Build and standardize workflow names (851-4127) (#1059) (f93fa92)
- Change bot mascot animations less often (8f5f215)
- Read bench job states with curl, not gh, on the minis (851-3749) (#1058) (620fb22)
- Step into the sidebar from outside it with ⌘⇧[ and ⌘⇧] (10194aa)
- Keep the bot status until a workflow says what it's doing (286fae8)
- Have the runner janitor ignore caches under 100 MB (a837f79)
- Let the runner janitor remove caches with locked directories (04e828c)
- Keep CI runner disks from filling up (f2979cd)
- Keep auto-read working after a Mac window closes (06ebd58)
- Show icons in the sidebar Properties and Grouping menus (851-4120) (#1057) (af4b172)
- Select bot sidebar rows on press, like code mode (c7aac93)
- Engine v2: capacity estimate on app-limited links, then VCP↔VideoToolbox switching (851-4109) (#1056) (31bb328)
- Animate ⌘B and the palette sidebar toggle like the toolbar button (851-4116) (#1055) (dad92d8)
- Start the New Chat send flight on Return (ac64c47)
- Stop the macOS sidebar toggle from redrawing the whole window (4c55866)
- Blur the macOS bot chat top bar on hover, and stop dimming its header (35fa549)
- Restore the iOS chat nav bar blur over the transcript (999aacb)
- Prepare the iOS app for App Store review (851-4115) (708cdb2)
- Remove the File pane's ⋯ overflow menu on macOS (851-4113) (#1054) (47302e9)
- Drop the gear icon from Manage Simulators… in the simulator picker (851-4114) (#1053) (bea6d85)
- Only workspaces can be renamed; tabs and panes can't (851-4112) (#1052) (529b185)
- Float a pane out of its split into a draggable in-window card (851-4105) (#1048) (8d5ea2c)
- Fix the bench virtual display's colour profile, and finish the VCP encoder follow-ups (851-3989, 851-4049) (#1051) (70332bd)
- Engine v2 on very slow links: VideoToolbox per-frame budget, small first keyframe, start-up loss cut (851-4063) (#1040) (cd90827)
- Keep hidden workspaces at their last size so window resizes only lay out the visible one (15541a0)
- Bring back ⌥⌘←/→ Switch to Chat / Code in the View menu (851-4110) (#1050) (8c678aa)
- Toggle the sidebar with ⌘B and the inspector with ⌥⌘B (851-4108) (#1049) (d97b67b)
- Show Screen Sharing connection details as grouped inspector cards (851-4104) (#1045) (cf0be2e)
- Create worktrees as machine jobs the app follows, and let unstarted chats be archived (53451e4)
- Show bot mascot poses from what the bot is doing, and stop archived agents keeping bots on the phone (0a27be1)
- Retry bot mascot loads with backoff and on reconnect, so Edit Mascot and avatars come back after a hiccup (255cc65)
- Move Code mode's New chat into the nav header (851-4106) (#1047) (4e91af6)
- Capitalize the child agents pill: "4 Agents" / "1 Agent" (851-4107) (#1046) (08a81cb)
- Remember the last Chat and Code selection, across flips and relaunches (851-4103) (#1043) (d9a13d1)
- Keep New Bot enabled and working wherever the sidebar is (c767919)
- Hide agent-made children from the sidebar, drop workspace collapsing, and open child agents as splits (851-4102) (#1044) (ed0957b)
- Show the engine v2 frame timeline in Connection Details (851-3604) (#1042) (3c08bcf)
- Run the tiled render tests off the main actor (851-4099) (#1041) (1babe81)
- Let bots start without projects, and drop Projects from the New Bot form (7922c7c)
- Let bot mascots pick hat and eyewear colors in the bot editor, and tint the sport shades lens (b5750c4)
- Time a turn from when its machine was reachable, and hide it the moment its send drops (faa8151)
- Move workspace tabs from the top tab bar into the sidebar (851-4097) (#1038) (6d821d9)
- Give each machine one connection owner, and let sends wait for it (ac45fcb)
- Add safety goggles, sport shades, 3D glasses, welding goggles and night vision goggles to the bot mascot (54e1075)
- Send and reply from Gmail send-as aliases (851-4101) (eb3d3aa)
- Focus the answer field when Other is chosen from the keyboard (57fd57b)
- Keep Codevisor's bot instructions in a marked AGENTS.md block, teach bots to text like people and brief agents like coworkers, and let them read back their chat (c4f953b)
- Run the server's tests in their own CI job (6ca1256)
- Lint the two rules that keep shared test workers safe (be040da)
- Load modules once per test worker instead of once per test file (f10052d)
- Give every Vitest package one shared config, and stop test support from registering hooks on import (f8c1cf2)
- Download self-updates through the updater's injected fetch (1d5f073)
- Fire one background tick inside the rotation window in the OpenCode refresh test (2640a9c)
- Render the inspector's desktop stream edge to edge in its card (851-4098) (#1035) (41bdd6b)
- Let time limits end the remaining test waits, and skip v2 codec tests the encoders can't serve (851-3633) (#1037) (cd906d5)
- RFB transport: closed-after-close reads and writes, and a race-free refused-port test (851-3612) (#1036) (9324006)
- Remove the unused WebRTC-era tunnel media flow from the net crates (851-4093) (#1034) (703d2fc)
- Stop the bot chat sidebar toggle from re-rendering the chat every frame, and keep its avatar above the name pill (b7755b5)
- Keep every copy of a bot's mascot in sync, and let idle bots sleep (851-3991) (4926813)
- Stop the transcript from crashing on duplicate row keys (#1033) (e2bafde)
- Show the send progress bar only while the message is on the network (f543985)
- Keep recent workspaces mounted so switching between them is a flip, not a rebuild (48b2215)
- Use the plus button for attachments in the iOS code composer (ef2f389)
- Shape child agent row focus rings like grouped rows, drop the popover header (851-4096) (#1032) (d400917)
- Draw the New Bot buttons with custom mascot SF Symbols (851-4091) (813fc97)
- Same New items in both sidebar modes, with New Bot… in the ⌘K palette (851-4095) (#1030) (a9d7d5e)
- Draw streaming transcript text at the width it was measured at (8f4527a)
- Add a sleeping animation to the bot mascot (851-3991) (2136cb0)
- Switch Chat/Code with ⌥⌘←/→, drop the tab-navigation hotkeys (851-4094) (#1031) (307f5e8)
- Delete the WebRTC target, binary and build recipe (851-3826) (#1029) (78058a9)
- Bench: remove the WebRTC (v1) systems and gate cells (851-3826) (#1027) (c011b5f)
- Delete the hosts' WebRTC peers and tunnel media (851-3826) (#1028) (4ec4bc3)
- Drop the viewers' WebRTC fallback: engine v2 only (851-3826) (#1026) (98713bf)
- Stream the iOS Simulator pane over engine v2 (851-3826) (#1025) (1a48cb0)
- Engine v2: draw the decoded tiles instead of composing a 4K picture (851-3976) (#1022) (bf4208a)
- Wrap an over-long line in ScreenSharingViewerMedia (unblocks the format check) (#1024) (04ea1f7)
- iOS viewer on engine v2 with WebRTC fallback (851-3824) (#1023) (a4be65e)
- Bench: measure the bottom tile and torn frames in Tier 2 (851-3976) (#1021) (431bf8f)
- Send a failed sandbox start back to New Chat with its reason (851-3812) (883b3a6)
- Move the iOS transcript with the keyboard when the composer is focused (851-4090) (7b7c285)
- Make each iOS sidebar row one tap target, chevron included (851-3985) (f06a214)
- Move the sidebar highlight instantly and load the workspace after it (9e93ac5)
- Move the Simulator pane and the Computer Use live preview to engine v2 (851-4089) (#1020) (86046c7)
- Keep a queued message's flight out of other chats (851-4088) (5fbb991)
- Engine v2: convert VCP tiles straight into their encoder buffers (851-3976) (#1019) (67dade2)
- Keep iOS attachments opening in Quick Look after a blocked or stale presentation (851-4084) (c5ffb95)
- Add nine mascot hats and a phone layout for the mascot playground (851-3991) (3c29773)
- Make engine v2 the Mac-to-Mac engine and delete the engine switch (851-4064) (#1018) (3a487e4)
- Split the calling mascot tests into one test per frame (851-4085) (#1017) (b26809b)
- Build the VideoToolbox fallback only when VCP fails (851-4081) (#1015) (462f916)
- Switch the child agents pill to a spinner and agent count (851-4083) (#1016) (fb730a9)
- Play the bot mascot with Rive in the Mac and iOS apps (851-3991) (e4a60b0)
- Screen sharing: two drawables on the render worker, and a render-commit log for commit-to-screen timing (851-4039) (#1014) (5ae9383)
- Show a chat's active child agents in a pill above the composer (851-4073) (#1010) (6c95349)
- Keep collapsed child agents quiet, and collapse agent-made children by default (851-4077) (#1013) (f2994bb)
- Make a workspace's name and its main chat's title one name (851-4075) (#1012) (7abbcf7)
- Remove Ask Siri from the transcript selection menu (851-4076) (#1011) (f794eeb)
- Engine v2 E7: rate control and admission on constrained links (851-3822) (#1001) (133323f)
- Add a first-party Linear plugin with OAuth sign-in and webhook events for bots (851-4056) (61ca692)
- Inspector subscriptions: show just the event label, not the plugin name (851-4079) (833b89c)
- Open every sign-in and link in the default browser, through one shared path (851-4066) (75d4e3c)
- Keep every tab an agent opens until the agent or the user closes it (851-4074) (50fd2ef)
- Add to Chat: don't flash twice on double/triple-click selection (851-4070) (#1007) (6a54356)
- Move Codevisor to the MCP SDK v2 and protocol 2026-07-28 (851-4071) (1ed51bf)
- Show the Add to Chat button above the pointer, not the selection start (851-4068) (#1009) (202c247)
- Add ⌘L for the floating Add to Chat button (851-4067) (#1008) (cf159f5)
- Make VCP engine v2's default encoder (851-4048) (#1006) (16ccff7)
- Remove the Shopify plugin until Shopify approves Codevisor (851-4060) (3d30ad0)
- Run the Shopify plugin through the Shopify CLI, signed in from Codevisor (851-4060) (ca7bec6)
- Run the hardware codec tests in the pre-commit hook only when screen sharing changes (851-4065) (eb878b8)
- Add a public Gmail docs page under Plugins and link it from the site footer (851-4057) (de83e94)
- Open a paused sandbox's chat on iOS instead of "Connecting to …" (851-3808) (e73a64e)
- Add a Shopify plugin for store owners, behind a feature flag (851-4060) (72555b5)
- Send a bot's first message on the harness default model when none is saved (851-4006) (e7d00fa)
- Recover a shared login when a refresh loses the network (851-2731) (6df77e7)
- Keep the bot's mascot up for the whole turn, with a debounced status (851-4055) (6af65a6)
- Keep the open page when the Mac sidebar flips between Chat and Code (851-4033) (b98539e)
- Give the iOS Chat sidebar Messages-style bot rows and a New Bot button (782ee52)
- Engine v2: start refinement encodes just after a refresh (851-3976) (#1004) (b0ee520)
- Give the bot composer's attachment row an even top inset (d471bbd)
- Show steered messages as sent bubbles with a Waiting on tool menu (851-4032) (9dea8e8)
- Land the bot's reply bubble the way it did before 851-3980 (851-4053) (a0be574)
- Wrap the two Host Lab lines swift-format rejects (52fc774)
- Engine v2: VCP text fidelity past Apple HP, behind the flag (851-3975) (#1003) (f079d3b)
- Pair the Tier 2 jobs through the queue so they survive CI on the minis (851-3749) (#1002) (52126ee)
- Keep the interrupted-step note out of chat titles (851-4036) (6a428ae)
- Stop bot chats crashing the Mac app when a turn ends during "Typing…" (851-4021) (4b4d6e6)
- Play the queue entrance only on send, with the native glass morph only (851-3999) (907bfce)
- Stop ScreenSharingV2Tests hanging and share the Mac's hardware encoders across test processes (851-4007) (5b40ab4)
- Interrupt bot steers at once again, with a hidden prefix on the message (851-4005) (d680376)
- Stop bot steers from reading to Claude as a rejected tool call (851-4002) (26fefa5)
- Split the Idle → Working → Idle mascot test into one test per frame (851-3997) (bbe475b)
- Clear stale sidebar hover when the Code list is shown again (851-3992) (164f24c)
- Remove five mascot moods, rebuild calling around an idle hub and add a cursor-following idle (851-3986) (0534bda)
- Show the macOS bot chat header only when the sidebar is collapsed; drop New Tab from iOS bot chats (851-3982) (934d985)
- Add to Chat: quote transcript text and images into the composer, with jump-back highlight (851-3984) (9df4ab0)
- Format the screen-sharing host service and machine preferences test with swift format (255a917)
- Format the screen-sharing bench README with oxfmt (e194352)
- Screen sharing: clicks from an event tap, input stage timings and an HP warm-up (851-3951) (#1000) (8796583)
- Format the E8 screen-sharing schema and test with oxfmt (851-3823) (#999) (2eee3a8)
- Engine v2 in the product behind a flag: signaling, QUIC control plane, viewing session, Connection Details (851-3823) (#998) (de62792)
- Host MCP Apps by the spec with real apps: inline cards, app-driven display modes, split or tab in code mode (851-3946, 851-3947) (4f364dc)
- Add a mascot playground app: bun run dev:mascot-playground (851-3981) (d2495ef)
- Show the bot's mascot and live status as the thinking indicator in bot chats (851-3980) (a69e080)
- Expect the v2 bench's zeroed refresh, keyframe and stalled-tile counts (3680386)
- Open Edit Bot from the bot chat header's avatar on macOS (851-3978) (ec5bca5)
- Give bot chats a clear, Messages-style top bar in macOS full screen (851-3959) (c530977)
- Engine v2 E6: LTR-ack recovery, per-tile loss handling and the decode-error freeze fix (851-3821) (#997) (7ea44cd)
- Engine v2: VCP tile encoder behind a flag, with a VideoToolbox fallback (851-3819) (#996) (9f06c4b)
- Bench: count Apple HP's avconferenced, whole-system process CPU and a host lab (851-3966) (#995) (f9e016f)
- Engine v2 E5: native R1x2, four tiles, dirty-tile skipping and build-to-lossless (851-3820) (#993) (b9d1272)
- Bench build: rebuild from clean when the net artifact changes (#994) (633bcbc)
- Animate full-height bot mascots in the sidebar and zoom the avatar circle 1.2× (851-3960) (5dde636)
- Stop the v1 idle-refresh flood: refresh only when video delivery stalls (851-3742) (#988) (dd662d5)
- Return each bot's chat options from bots.get and bots.list (851-3961) (3934238)
- Let inline plugin apps size to their content and pass vertical scrolling to the chat (851-3946) (01d4090)
- Show each part of a bot message as its own bubble (851-3944) (7cbfa83)
- Show a chat's event subscriptions in the inspector (851-3897) (985737f)
- Fit every mascot color swatch on an iPhone without scrolling (4286d42)
- Open the Mascot Editor from the bot editor's avatar, like Contacts (bc2885b)
- Move the mascot builder into its own Memoji-style Mascot Editor (1bbff6f)
- Build each bot's mascot in the bot editor, replacing the icon picker (f581dae)
- Add @codevisor/bot-mascot: the bot mascot character, ported from the mascot repo (11448d7)
- Tag ScreenCaptureKit 420v frames with the sRGB transfer they carry (851-3820) (#991) (c8c44d3)
- One step-list progress view for launch, updates and server restarts (851-3941) (7257158)
- Bench T8: text fidelity (PSNR, SSIM, chroma, ΔE00) for Apple HP, Codevisor v1 and v2 (851-3597) (#992) (739ea6b)
- Unify the launch screens and use the main window's background (851-3928) (#989) (c6218d7)
- Let agents list and call a site's WebMCP tools (851-3943) (444df1d)
- Bench T7: input to photon (S7) for Apple HP, Codevisor v1 and v2 (851-3596) (#990) (23cdd35)
- Bot editor: add projects that aren't on the bot's machine yet (851-3913) (05febdf)
- Hold steered messages in the queue until Claude reads them (851-3865) (29f3c62)
- Expose bot management as Codevisor MCP tools (851-3898) (cfb7419)
- Name the stuck step when a harness check times out; keep last known models (851-3912) (08f0ee2)
- Make the bot chat's top bar act as a title bar, not a transcript press (851-3910) (49de199)
- Agent hooks: type-aware oxlint, skip vendored Swift, guard Monitor (851-3889) (c031e02)
- Stop leaking harness processes from timed-out inspections (851-3879) (a5aa979)
- Keep a failed harness update from blocking Codevisor updates and chats (851-3854) (8d223e7)
- Bench support for engine v2: Tier 1 --engine v2, Tier 2 codevisor-v2, v2 stages and gate (851-3818) (#985) (1589475)
- Engine v2 single-tile engine: ScreenSharingV2 (851-3817) (#981) (cb2c279)
- Zero playout delay for the v1 WebRTC viewer (851-3814) (#987) (d2c0b2d)
- Add custom sections to the iOS Chat sidebar (#986) (45fedb7)
- Tune screen sharing connections and bind the screen ALPN on the app's endpoint (851-3816) (#982) (55f1b49)
- Add the Chat/Code segmented control to the iOS sidebar (#983) (ce0f721)
- Archive bots instead of deleting them, with an Archived section (851-3868) (#979) (0bd04f1)
- Add custom sections to the iOS Code sidebar (#980) (aab7a46)
- Separate Move to Section with a divider in workspace row menus (851-3869) (#978) (e8c2f69)
- Add Move to Section to pinned workspace context menu (851-3869) (#977) (69725dd)
- Show SF Symbols on the sidebar's section menu items (851-3867) (#976) (e59aac4)
- Fix bot display mode review findings (#975) (fe04e3b)
- Test audit iOS app tests: drop the landscape capture's fixed two-second sleep (851-3866) (5a7c0c8)
- Test audit macOS app tests: drive the staged send flight's advance explicitly instead of a timed run-loop drain (851-3864) (b8fb5eb)
- Fix CodevisorCore audit bugs: clone adoption machine, newer composer settings, signed-out plugin consents (851-3862) (c1908f1)
- Test audit Swift CodevisorUI: repair vacuous checks, drop replayed tests, remove test-only seams (851-3863) (edf29cb)
- Test audit Swift CodevisorCore: repair vacuous checks, drop replayed tests, remove test-only seams (851-3861) (419aef4)
- Format BotEditorSheet so swift:format:check passes (948aa4c)
- Add custom sections to the Code sidebar, like the Chat sidebar's bot sections (#974) (91dda27)
- Read a bot's display mode with a literal column reader (f2d5ed7)
- Draw a bot message that is only a code block or table without a bubble (dc31d5a)
- Add a bubbles display mode for bots alongside transcript and conversation (8b5d06a)
- Test audit Swift TranscriptKit: repair vacuous checks, drop replayed tests, remove test-only seams (851-3860) (ee557a2)
- Fix server bugs from the non-routes test audit (851-3859) (9f92aea)
- Let a bot's conversation mode be switched from its edit dialog (e5ffd82)
- Leave .DS_Store and AppleDouble files out of synced skills (851-3858) (651ddd7)
- Test that file capture refuses a sibling folder sharing the chat folder's name prefix (851-3855) (5bf2247)
- Test audit apps/server non-routes: repair blind checks, drop replayed and coverage-only tests, remove test-only seams (851-3857) (1e20f5e)
- Make every chat transcript host share one setup (851-3852) (7b1d1ac)
- End a Claude user turn at idle from a failed background-task result (851-3853) (c5bd432)
- Load attachment images in the bot Full Transcript window (#973) (b091f18)
- Test audit apps/server routes: drop replayed and coverage-only tests, repair vacuous checks, remove test-only seams (851-3850) (aee6020)
- Test audit apps/cloud: drop replayed relay and tunnel tests, repair the exactly-once death notice check (851-3849) (b177a1b)
- Fix main lint after codevisor-media (851-3815) (46c75ab)
- Engine v2 transport core: codevisor-media over iroh QUIC datagrams (851-3815) (5b4d423)
- Test audit packages/plugins + plugins/*: drop coverage-only and replayed tests, repair vacuous filter, catalog and header-injection checks (851-3848) (87cbca1)
- Preview HTML files in the file pane (851-3845) (a15c6f6)
- Format encode-lab bench sources with swift-format (b27ceb4)
- Test audit packages/sandboxes: drop duplicated defaults and fake-provider self-tests, repair Daytona root command and adapter wiring checks (851-3846) (f66d9ad)
- List Projects above Sandboxes in Settings (851-3844) (#970) (19ca9ad)
- Add an encode-lab bench subcommand for encoder experiments (851-3767) (#969) (4af6b59)
- Add a Tasks section to the workspace inspector (851-3760) (#967) (600b665)
- Remember composer speed and thinking per model, across machines (851-3841) (de4543e)
- Test audit packages/harness-manager: merge replayed vault and lifecycle cases, repair vacuous credential, OAuth and uninstall checks (851-3840) (758f73b)
- Build the Intel Mac server on GitHub's hosted macos-26-intel runner (851-3813) (5c5a423)
- Test audit packages/mcp: drop replayed and log-format tests, repair vacuous cancellation, OAuth and key checks (851-3830) (1b0ea87)
- Test audit packages/automation: drop description greps and copied inventories, repair wait and log contracts (851-3810) (c4efc90)
- Deliver messages sent while a sandbox is paused, and show its paused card in open windows (851-3757) (81f4288)
- Note noProject agent starts in the codevisor-agents and codevisor-machines skills (851-3799) (fac40c6)
- Test audit packages/db: merge duplicates, repair vacuous and env-dependent tests (851-3805) (6f61e31)
- Start agents with no project, in a fresh empty folder, from agents.start (851-3799) (ecd01b0)
- Show the sidebar row's trailing properties on inspector Parent and Children rows (851-3776) (#968) (c0ab2e3)
- Add a Google user data and Limited Use section to the privacy policy (851-3789) (99b0799)
- Sign in to OpenCode's Claude Agent with a Codevisor Claude account (851-3752) (3784754)
- Remove Fork from the sidebar workspace row's context menu (851-3764) (#966) (dbed761)
- Block pattern kills from agents in every harness, and stop repo scripts killing by pattern (851-3762) (1575d01)
- Always offer a working Retry on the agent error card, in chats and bots (851-3753) (0674a1b)
- Keep sandbox harness sign-ins in sync after re-logins and on wake (851-3758) (c33655c)
- Replace a Claude or ACP runtime whose process exited, and log why it exited (851-3753) (68a12bd)
- Match keyboard focus rings to hover shapes (851-3755) (#965) (cd64339)
- Tail-truncate workspace names instead of middle-truncating (851-3756) (#964) (7126c3c)
- Fix the vault revoke and agent-start test races (851-3709) (60e2c67)
- Remove Fork Workspace from the ⌘K command palette (851-3754) (#963) (579b92d)
- Install the chat's chosen agent first when it changes after a sandbox starts early (851-3699) (1ea2d34)
- Show what a plugin includes as disclosures in the install sheet (851-3751) (2b92be1)
- Collapse plugin page lists, drop Blocked Publishers on macOS, and add a managed Slack OAuth client (851-3746) (c7393c5)
- Resume update-paused turns without reading them as user rejections (851-3747) (1f660f7)
- Open the plugin's page after installing it, and show Accounts first (851-3719) (0fe36f7)
- Find the bundled Google sign-in client from the packaged server (851-3745) (4ef4970)
- Drop the dummynet rate limit from Tier 2's N3 (851-3595) (#962) (4d5cd09)
- Open the bot Full Transcript like a chat pane and keep busy transcripts projecting (851-3727) (5559af0)