Commit Graph

79406 Commits

Author SHA1 Message Date
Peter Steinberger d612949ee6 perf(ci): ride hybrid 8 vCPU for the checks-ui browser suite
Run 31861511624 made checks-ui the UI-scoped wall pole (247s job, 177s body
on hosted 4-core even in hybrid). Attempt 1 now uses the 8 vCPU class like
the ui-e2e shards; retries stay hosted.
2026-08-14 20:27:03 -07:00
Jason (Json) c1002c3ec4 fix(ui): dismiss landed steer notices (#123908)
* fix(ui): retire landed steer notices

* fix(ui): preserve steer transcript order
2026-08-14 21:19:30 -06:00
Peter Steinberger 5760fcdae1 fix(ci): record 2026-08-15 Control UI startup JS growth in the budget baseline
Tonight's UI fix stream (stale-tab retry, session attention, talk
backpressure) consumed the 1 KiB tolerance and broke build-artifacts plus
both QA smoke ui:build paths on main (run 31861213699, 333309 B vs
332040+1024). Recorded with CI bytes per the checker contract; the 350 KiB
maintainer-approved ceiling still bounds cumulative creep.
2026-08-14 20:19:16 -07:00
Peter Steinberger 4ca63cb98a fix(gateway): fence worker dispatch modes (#123946) 2026-08-14 20:12:36 -07:00
Peter Steinberger 5e8350fb04 fix: report stopped LaunchAgents as stopped (#123961)
* fix(daemon): report stopped launch agents as stopped

* fix(daemon): uninstall stopped launch agents cleanly
2026-08-14 20:10:23 -07:00
Peter Steinberger c6bf10c27d perf(test): reuse Quicksilver peer module graph (#123947) 2026-08-14 20:08:23 -07:00
Jesse Merhi 47442197a1 feat(ui): review install policy warnings (#120900)
* feat(ui): review install policy warnings

* fix(ui): keep install feedback on runtime plugin
2026-08-15 13:07:02 +10:00
Peter Steinberger c1ddb706f6 refactor(gateway): move host-origin tests to admission owner (#123925)
* test(gateway): move host origin cases to admission owner

* test(gateway): preserve port-sensitive build admission cases
2026-08-14 19:54:58 -07:00
Peter Steinberger d29a25e987 fix(logging): stop double-writing root log records (#123936) 2026-08-14 19:54:39 -07:00
Peter Steinberger b99f7c3f74 test(gateway): cover status build ID absence (#123943) 2026-08-14 19:54:31 -07:00
Peter Steinberger d674907896 feat(computer-use): capability-filtered model guidance for the v2 ladder (#123949) 2026-08-14 19:54:15 -07:00
Jason (Json) cae6030575 fix(ui): clear proven uncertain sends (#123927) 2026-08-14 20:49:45 -06:00
Peter Steinberger 2276dca1d3 fix(ci): route the protocol coverage record guard through record-shared
The inlined isRecord in 7e54cc9d19 tripped the coercion-helper declaration
guard on main (runs 31859544700+); the dependency-light scripts/lib/
record-shared.mjs seam is the sanctioned owner for scripts that must run
without workspace package resolution.
2026-08-14 19:44:29 -07:00
Jesse Merhi ed447135bd Prevent auxiliary owners from resetting shared WAL (#123777) 2026-08-15 12:34:24 +10:00
Peter Steinberger 86f38f7c8f fix(terminal): shrink widest flex table columns first (#123934) 2026-08-14 19:32:08 -07:00
Peter Steinberger d8cd661517 fix(gateway): keep supervised restarts from migrating live state (#123920)
* fix(gateway): fence supervised restart schema ownership

* fix(gateway): target supervised safe restarts

* chore: leave changelog to release automation

* fix(gateway): satisfy restart control checks
2026-08-14 19:31:15 -07:00
Peter Steinberger 6abfedcca5 fix: stale Control UI tabs stop retrying after updates (#123932)
* fix(ui): preserve stale client refresh compatibility

* fix(ui): cover build-aware frozen clients
2026-08-14 19:29:59 -07:00
Peter Steinberger 8266adfb45 fix(dns): publish CoreDNS zones atomically (#123928) 2026-08-14 19:29:44 -07:00
Peter Steinberger 7e54cc9d19 perf(ci): make push/PR preflight dependency-free and prune the store archive
The manifest planner closure and the protocol coverage script import only
node builtins and relative files (verified importing the full closure with
an empty node_modules under native type stripping), so push/PR preflight
drops the pnpm store restore and install (~30s off the barrier every lane
waits behind). Manual dispatches keep the tsx path for frozen targets, and
the coverage script inlines the record guard under the documented
dependency-free exception.

The store archive accretes every prior lockfile generation through
prefix-key restores (measured 2.05 GiB, ~36s restore in every hosted job);
the warmup writer now prunes to the current lockfile closure before saving.
2026-08-14 19:25:16 -07:00
Peter Steinberger 9d6b64cabf fix(gateway): release failed workspace upload claims (#123830)
Reset claimed workspace uploads when HTTP validation fails before staging so a later reconciliation can mint a fresh operation.
2026-08-14 19:21:55 -07:00
Peter Steinberger 00164c7bdc perf(ci): cut the QA smoke double build and three audited wall lanes
Sub-agent caching audit tranche, all measured on runs 31856622489 and
31857193681:

- QA Smoke parts rebuilt the runtime twice and packed a docker tgz that no
  scenario in the smoke coverage set consumes (verified against the resolved
  plan: zero docker-lane, zero Control UI scenarios). One private overlay
  build replaces the public-build/ui:build/pack/private-rebuild chain
  (~35-50s per part); the run step fails closed if a docker-lane scenario
  ever returns, and the guard now pins never-pack-after-private-build.
- report-plugin-sdk-api-diff is pure reporting (nothing passes
  --require-acknowledgement); it now runs on manual/release dispatches only.
- check-npm-lock resolved ~94 npm graphs against the registry on every push;
  push/PR runs now use the reviewed --changed scoping (2.4s on dep-free
  diffs) with a fail-open full sweep on base-fetch failure, and dispatches
  keep --all for registry-drift coverage.
- Six restore-test-caches gates said 'github' only while the writer already
  runs in hybrid; hybrid attempt-1 lanes now restore the transform seed.
- QA smoke lane reads the protected build compile cache; test-type stripes
  widen to five.
2026-08-14 19:19:13 -07:00
Peter Steinberger 2463ea0a5e fix(cli): render errors through redacting formatter (#123929) 2026-08-14 19:18:58 -07:00
Peter Steinberger f570022e14 fix(gateway): allow worker bootstrap on slow uplinks (#123919)
* fix(gateway): scale worker bundle transfer timeout with bundle size

Record the generated worker bundle size and scale only the upload phase timeout so large bundles can cross slow uplinks without weakening bootstrap verification. Preflight, install, and cleanup retain the base timeout, while invalid size metadata fails before remote work and the transfer remains capped at 60 minutes.

* fix(gateway): coordinate worker bootstrap lifecycle timeout

Derive the service-wide bootstrap deadline from the prepared installation artifact so the outer abort cannot preempt a permitted bundle transfer. Preserve the existing npm timeout, include bounded preflight, install, cleanup, and headroom, and cover the production service path that previously aborted after 35 minutes.

* style(gateway): simplify bundle digest validation

Flatten the bundle digest branch so the coordinated bootstrap timeout repair passes the core lint rule without changing validation behavior.
2026-08-14 19:14:01 -07:00
Jason (Json) 318d82e91a fix: visible sessions explain working-directory denials (#123829)
* fix(sessions): explain visible cwd denials

* fix: classify visible cwd denials structurally
2026-08-14 20:12:41 -06:00
Peter Steinberger d7d059c7e6 perf(test): move direct import smoke to test fixtures (#123923) 2026-08-14 19:07:48 -07:00
Peter Steinberger 7160c4de0b refactor(ui): remove disconnected build mismatch projection (#123916) 2026-08-14 18:52:22 -07:00
Peter Steinberger 784fac53b8 fix(gateway): include build identity in status JSON (#123917)
* fix(gateway): preserve build id in status probes

* chore: leave release notes to release automation
2026-08-14 18:51:45 -07:00
Vincent Koc b5957982e7 fix(gateway): reject stale worker bundle tunnels (#121081)
Revalidate SSH worker receipts against the current Gateway bundle before registering tunnel ownership, while preserving paired-device local-install identity. Restart recovery now remains fenced and retryable when current bundle or provider inspection is unavailable.

Fixes #121036.

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-14 18:50:57 -07:00
Peter Steinberger a2d1b0c03b perf(ci): anchor storage-state stripe balance with measured file walls
Run 31856622489's compact-small-14 owned a 335s wall because the
storage-state hosted split packed state-migrations (27s), sqlite-snapshot
(24s), and session-cost-usage (10s) into one stripe against uniform default
weights. Anchor those files with CI checkmark walls from run 31814517685 and
lift the group hint to its observed 235s so the halves pack realistically.
2026-08-14 18:41:30 -07:00
Peter Steinberger 1efe57b78b fix(cron): resolve a default owner for scheduled agent-less jobs (#123914) 2026-08-14 18:28:55 -07:00
Peter Steinberger 399f5a32e5 fix(workers): bound Gateway bundle cache growth (#123901)
* fix(workers): bound gateway bundle cache

* docs(plan): record Gateway bundle cache cleanup

* fix(workers): exclude terminal bundle diagnostics
2026-08-14 18:27:08 -07:00
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