Peter Steinberger
83fa01a57e
test(sessions): avoid duplicate SQLite conformance runs ( #123913 )
2026-08-14 18:26:49 -07:00
scotthuang
dd67c3bdf0
fix(doctor): keep migrated agents on their existing workspace ( #123808 )
...
Co-authored-by: scotthuang <scotthuang@tencent.com >
2026-08-14 18:26:45 -07:00
Peter Steinberger
fd8741b4d8
perf(test): narrow plugin registration contract imports ( #123902 )
...
* perf(test): narrow plugin registration contract imports
* fix(test): preserve plugin registration contract boundary
2026-08-14 18:25:49 -07:00
Peter Steinberger
76e4ef68ce
perf(ci): squeeze the last hybrid stragglers under the five-minute wall
...
Green tip run 31855637027 measured the remaining poles: ui-e2e shards up to
282s (imbalanced eight-way split), report-plugin-sdk-api-diff 246s on 4 vCPU,
and 220s test-type stripes (tsgo saturates a machine per graph, so stripe
count is the lever, not cores). Widen hosted-profile ui-e2e to ten rows,
test-type stripes to four, and lift the SDK diff to the 8 vCPU class.
2026-08-14 18:20:28 -07:00
Peter Steinberger
0982ee5729
perf(ui): reduce startup connect error overhead ( #123910 )
2026-08-14 18:07:20 -07:00
Peter Steinberger
b8a8df7008
test(sessions): trim maintenance cap duplicates ( #123909 )
2026-08-14 18:00:49 -07:00
ClawSweeper
d8cbcf64e5
test(plugins): include xai in empty startup baseline ( #123904 )
...
Co-authored-by: RoboClaw <309084314+roboclaw-bot@users.noreply.github.com >
2026-08-14 17:55:15 -07:00
Peter Steinberger
61bc6128a0
test(agents): trim compaction duplicate coverage ( #123903 )
2026-08-14 17:40:05 -07:00
Peter Steinberger
27bf9c2a74
docs: fix stale cua-computer section link on the Codex Computer Use page ( #123892 )
...
The Windows/Linux cross-reference still pointed at the pre-rename anchor
("experimental, via CUA Driver SDK"); the heading became "experimental,
direct SDK" in 19ace6830b , so the link landed at the top of the node
computer-use page instead of the fulfiller section.
2026-08-14 17:33:23 -07:00
Dallin Romney
d862148954
refactor(sessions): use archived projection for maintenance ( #123896 )
2026-08-15 08:31:30 +08:00
Peter Steinberger
054354e099
test(gateway): consolidate pairing completion boundaries ( #123895 )
2026-08-14 17:23:27 -07:00
Peter Steinberger
156af00a78
fix(memory): report truthful index outcomes ( #123863 )
2026-08-14 17:17:16 -07:00
Peter Steinberger
ad508a51c2
perf(ci): overlap two tsgo graphs inside each test-type stripe
...
Each graph is a serial single-project build, so tsgo gains little past four
cores; run 31852071103 measured ~34s/graph on 8 vCPU versus ~42s on hosted
4-core. Overlapping two fresh shard processes per CI stripe (--concurrency 2)
uses the idle cores and roughly halves the stripe body; local runs keep the
heap-bounded serial default.
2026-08-14 17:11:39 -07:00
Peter Steinberger
2702bcf09d
refactor(gateway): remove setup GC test callback ( #123891 )
2026-08-14 17:07:52 -07:00
Peter Steinberger
7f891f4a78
fix(ui): stale tabs keep dispatching after gateway updates ( #123882 )
...
* fix(ui): reject stale bundled clients at connect
* chore: keep release notes out of runtime fix
* fix(ui): preserve stale-build admission invariants
2026-08-14 17:05:10 -07:00
Dallin Romney
a01d40bfb9
fix(sessions): honor total entry cap with protected history ( #123081 )
...
* fix(sessions): count protected rows toward entry cap
* perf(sessions): defer maintenance snapshot loading
* test(sessions): assert total maintenance cap
* fix(sessions): align warning preservation
* fix(sessions): guard malformed maintenance rows
2026-08-15 08:03:57 +08:00
Peter Steinberger
d913796112
fix(runners): preserve node workspaces across restarts ( #123889 )
...
* fix(runners): retain node workspaces from gateway state
* docs(plan): record authoritative node retention
2026-08-14 16:59:19 -07:00
Peter Steinberger
9adfe07d9b
perf(ci): ride hybrid Blacksmith attempt-1 for the measured hosted poles
...
First hybrid main cycles (runs 31850815388-31851455918) landed at 5:47-6:32
walls with every remaining pole a hosted lane: the three test-type stripes
(232-269s), check-additional-runtime-topology (274s), check-dependencies
(260s), and report-plugin-sdk-api-diff (209s). Route them to their Blacksmith
labels on hybrid attempt 1 (retries stay hosted) and lift runtime topology to
the 8 vCPU class.
2026-08-14 16:56:52 -07:00
Peter Steinberger
b5f6230386
refactor(system-agent): remove plugin install test seam ( #123888 )
2026-08-14 16:51:04 -07:00
Peter Steinberger
0a6b95a3df
feat: cloud workers for the codex runtime (remote-exec placements) ( #123743 )
...
* feat(gateway): add remote-exec cloud placements
* feat(codex): run cloud turns through remote exec
* fix(sandbox): quote ssh_config path directives containing whitespace
Crabbox lease keys default to ~/Library/Application Support/... on macOS;
unquoted IdentityFile/UserKnownHostsFile/CertificateFile arguments tokenize
on the space and fail as 'extra arguments'. Found via live remote-exec
cloud-worker proof.
* test: consolidate gateway maintenance schedule coverage
* fix(ci): invalidate plugin sdk declarations on state changes
2026-08-14 16:46:56 -07:00
Peter Steinberger
72e67904be
fix(cli): infer provider lists respect selected agent ( #123884 )
...
* fix(cli): require inference provider owners
* test(cli): type provider owner fixtures
* chore: leave infer release note to release
2026-08-14 16:45:37 -07:00
Colin Johnson
722e1ff48e
fix(sessions): honor explicit legacy owner ( #123887 )
2026-08-14 19:44:34 -04:00
Josh Avant
ed106bdc7b
Fix channel startup admission ownership ( #123885 )
2026-08-14 18:37:10 -05:00
Peter Steinberger
bc66c1731f
test(cli): verify marketplace shorthand through command ( #123883 )
2026-08-14 16:34:10 -07:00
Josh Avant
2ce443d9a4
fix(compaction): preserve generated summaries when suffix context overflows ( #123827 )
...
* fix(compaction): preserve generated summaries under suffix pressure
* fix(compaction): keep suffix context message-aligned
* fix(compaction): report preserved context loss
* fix(compaction): cap tool interactions atomically
2026-08-14 18:28:14 -05:00
Peter Steinberger
1cf932295c
refactor(ui): trim pairing uncertainty state ( #123856 )
...
* refactor(ui): trim pairing uncertainty state
* test(ui): stabilize navigation and worker readiness
* test(ui): drop popover flip geometry replay
2026-08-14 16:16:57 -07:00
Peter Steinberger
bd1814bede
fix(policy): require --agent for explicit workspaces ( #123880 )
...
* fix(policy): require explicit CLI agent owner
* chore(policy): leave release notes to release flow
2026-08-14 16:15:17 -07:00
Peter Steinberger
0fdf3ae36c
fix(security): skip unused default workspace in explicit fleets ( #123878 )
...
* fix(security): preserve explicit fleet workspace ownership
* chore: leave security audit note to release
2026-08-14 16:12:23 -07:00
Peter Steinberger
98a8e0d63f
fix(macos): prevent mismatched CUA driver endpoints ( #123845 )
...
* fix(macos): make CUA driver endpoint handoff atomic
* ci: record approved CUA env budget increase
* test: satisfy changed-gate hygiene
* style(macos): use failable endpoint string conversion
* fix(macos): strip retired CUA worker environment
* ci: constrain CUA env budget approval
* test(macos): isolate inherited CUA environment
2026-08-14 16:04:43 -07:00
Patrick Erichsen
f726393812
fix(ui): offer permanent lobster dismissal ( #123789 )
...
* fix(ui): add persistent lobster dismissal
* fix(ui): keep the lobster dismiss menu from scrolling its own items
The dismiss menu anchors a synthetic trigger at the raw pointer position,
and the pet always sits on the sidebar footer ledge at the bottom of the
viewport. Web Awesome caps its popup to `--auto-size-available-height`,
and its `size` middleware runs after `flip`, so the menu was shrunk in
place to 60px against 64px of content instead of moving up. The two
dismissal items then scrolled inside a 6px overflow, which shows as a
scrollbar for anyone running the system setting that always renders them.
Clamp the anchor to the viewport the way every other pointer-anchored
menu already does (session-menu.ts:264, catalog-session-menu.ts:55,
native-link-menu.ts, sidebar-menus-controller.ts:270), so the popup keeps
the room it needs and renders both items in full.
* docs(web): describe the lobster dismiss menu options
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: vyctorbrzezowski <krzyszchweski@gmail.com >
2026-08-14 20:00:50 -03:00
Jason (Json)
89a424bcb9
fix(ui): page activity indicator matches session rows ( #123813 )
...
* fix(ui): align page working indicator with sessions
* test(ui): align lifecycle checks with home spinner
2026-08-14 16:58:44 -06:00
Peter Steinberger
47e683ad27
fix(gateway): keep node worker outcomes consistent under load ( #123869 )
...
* fix(gateway): reconcile saturated node turns safely
* test(gateway): provide queued turn context in wait coverage
* fix(gateway): keep workspace proof stable at capacity
* test(gateway): complete recovery wait context
2026-08-14 15:56:04 -07:00
Sarah Fortune
f2e5d2054d
feat(slack): include observed away duration in presence events ( #123805 )
...
* feat(slack): include observed away duration in presence events
* style(slack): format presence observation type
* test(slack): type presence enqueue mock
* fix(slack): preserve presence event prompting
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-08-14 22:46:00 +00:00
Peter Steinberger
1c055ba5e5
fix(cli): preserve explicit read-only agent targets ( #123868 )
...
* fix(cli): preserve explicit read-only agent targets
* chore: leave release changelog to release flow
2026-08-14 15:39:24 -07:00
Peter Steinberger
4fadf46740
fix(workers): own transfer scratch lifecycle ( #123859 )
2026-08-14 15:35:21 -07:00
Peter Steinberger
3ef7f590a7
fix(ci): invalidate plugin SDK declarations on auth changes ( #123861 )
...
* fix(ci): invalidate plugin sdk declarations on auth changes
* test(ui): await device migration overlay updates
2026-08-14 15:21:29 -07:00
Pavan Kumar Gondhi
d5e89de906
fix(synology-chat): deliver attachments without forwarding source URLs [AI] ( #119941 )
...
* fix(synology-chat): host outbound attachments
* fix(synology-chat): isolate hosted media routes
* fix(synology-chat): harden hosted media limits
* fix(synology-chat): inspect hosted media content
* fix(synology-chat): reject ambiguous media routes
* fix(synology-chat): retain indeterminate media capabilities
* fix(synology-chat): mask public callback URLs
* fix(synology-chat): align callback sensitivity metadata
* fix(synology-chat): reserve media capability query keys
* fix(synology-chat): release rejected staged media
* fix(synology-chat): preserve ambiguous media handoffs
* fix(synology-chat): scan complete active media preamble
* fix(synology-chat): report validated attachment readiness
* fix(synology-chat): bound public media capability probes
* fix(synology-chat): bound hosted media responses
* test(synology-chat): model response headers read-only
* fix(synology-chat): bound hosted media reads
* fix(synology-chat): bound hosted media delivery
* fix(synology-chat): retain media through active serves
* fix(plugin-sdk): lease hosted media readers atomically
* fix(synology-chat): close hosted media review gaps
* test(synology-chat): clean up hosted media state
* fix(system-agent): canonicalize sensitive config paths
* fix(system-agent): honor runtime config sensitivity hints
* fix(config): inherit sensitive metadata
* fix(synology-chat): close latest review findings
* test(system-agent): keep config recovery checks lint-clean
* fix(system-agent): redact structured config secrets
* fix(synology-chat): harden active-content sniffing
* fix(security): close hosted media review gaps
* fix(security): close remaining hosted media review findings
* fix(system-agent): narrow dynamic owner ids safely
* fix(system-agent): narrow dynamic channel ids safely
* test(channels): isolate hosted media proofs
* fix(security): close config and hosted media review gaps
* test(plugin-sdk): split outbound media retention coverage
* test(plugin-sdk): isolate capacity store fixtures
* test(system-agent): assert config secrecy invariant
2026-08-14 17:05:20 -05:00
Peter Steinberger
1b98bc35a0
fix(onboard): stop failing intentionally unstarted gateway ( #123857 )
2026-08-14 14:59:54 -07:00
Peter Steinberger
d5c194f4ea
fix(status): keep explicit fleets ownerless in diagnostics ( #123831 )
...
* fix(status): preserve explicit agent ownership
* chore: leave status notes to release
* style(status): format reconciled imports
2026-08-14 14:54:52 -07:00
Peter Steinberger
d343ea07ab
fix(state): preserve orphaned SQLite sidecars ( #123680 )
...
* fix(state): preserve orphaned SQLite sidecars
* fix(state): narrow orphan sidecar recovery guard
* test(state): satisfy orphan sidecar lint
* fix(state): quarantine orphaned SQLite sidecars
* test(state): narrow quarantine path assertion
* fix(state): copy orphaned SQLite sidecars
2026-08-14 14:53:03 -07:00
Peter Steinberger
8a9c7324f8
fix(gateway): explain stale install chunks instead of raw module errors ( #123842 )
2026-08-14 14:46:55 -07:00
Peter Steinberger
dc55a7d08d
ci: expand Linux installer verification ( #123849 )
2026-08-14 14:45:39 -07:00
Jason (Json)
386b12ba9c
fix(ui): sort created sessions by creation time ( #123828 )
2026-08-14 15:44:38 -06:00
Peter Steinberger
d27e318072
improve: make git installs use a blobless clone ( #123835 )
...
* perf: use blobless clone in git installer
* refactor(install): move clone-filter rationale above the call
Keep the file's comment convention (comments on their own lines) instead of a
150-column trailing comment, and record why blob:none is preferred over
--depth 1 plus why no fallback is needed.
Narrow the ordering test's source needle to the stable prefix so it stops
duplicating the behavioral flag assertion and no longer breaks whenever the
clone flags change.
2026-08-14 14:38:21 -07:00
Peter Steinberger
e7255b9e8c
test(cli): remove duplicate skills verify error case ( #123843 )
2026-08-14 14:33:48 -07:00
ClawSweeper
4fd825bc0a
fix(ui): contain mobile lightbox images ( #123840 )
...
Co-authored-by: RoboClaw <309084314+roboclaw-bot@users.noreply.github.com >
2026-08-14 14:32:36 -07:00
Peter Steinberger
6072a838a1
fix(anthropic): read keychain auth during non-interactive setup ( #123839 )
2026-08-14 14:31:15 -07:00
Peter Steinberger
9f125bcee0
perf(test): import package manifest helper directly ( #123841 )
2026-08-14 14:27:29 -07:00
Peter Steinberger
628056b0ba
docs(plan): W2-PKB landed ( #123801 ) ( #123838 )
2026-08-14 14:26:18 -07:00
Jason (Json)
204416747e
fix: prevent sqlite commands from opening live state ( #123816 )
...
* fix: prevent sqlite commands from opening live state
* fix: preserve early exec control rejection
* fix: guard sqlite shell reopen commands
2026-08-14 15:19:27 -06:00