Skip to content

v1.23.39

Choose a tag to compare

@github-actions github-actions released this 20 Oct 00:09
· 51 commits to main since this release
  • agents run --device auto places from a snapshot instead of probing the fleet on every launch. Each placement probe's load stats and readiness answer are now kept in ~/.agents/.cache/.fleet-stats.json, and the daemon's device-probe tick refreshes them every 3 minutes while placement was used in the last day. A launch uses a device's entry when it is at most 5 minutes old and probes live only the devices whose entry is missing or older (stats and readiness now in parallel). The picked device is confirmed with one ssh … true that the dispatch then reuses, and ensureHostReady reads the same fresh entry instead of its own agents view round trip. On yosemite-s1 a headless --device auto launch reached its dispatch ssh in 0.6 to 0.9 s instead of 6.1 s. A pick that no longer answers is marked and the next best is taken; when only the snapshot says no device is ready, placement probes live before refusing. Source: cli/src/lib/teams/placement-probe.ts, cli/src/lib/devices/stats-cache.ts, cli/src/lib/hosts/ready.ts, cli/src/lib/smart-launch.ts, cli/src/lib/daemon/device-probe-service.ts

  • Picking an account no longer checks every stored credential one at a time. The run checked whether each registry account's secret was present with one synchronous secrets process per account, about 70 ms each on Linux and far more through the macOS keychain. It now checks only the accounts that can serve the harness, all at once. Account selection for agents run claude --local went from 1.5 s to 0.2 s on yosemite-s1. The banner for a pick without a recent usage reading now says usage unverified — no recent usage reading; nothing was being refreshed. Source: cli/src/lib/accounting/account-pool-collect.ts, cli/src/commands/exec.ts

  • agents run names each slow step as it starts. On a terminal, stderr shows one dim line before placement (Placing on the fleet…), account selection (Picking an account…), the harness check (Starting claude@2.1.261…) and a remote start (Starting on yosemite-m5…). Nothing is printed with --json, --quiet, or when stderr is not a terminal. Source: cli/src/commands/exec.ts

  • The daemon no longer floods a busy Mac with ps. Scans that asked for the process table while a read was still running each started their own ps -A. On a loaded machine a ps -A takes seconds, so they piled up: zion had 74 running at once from one daemon, with a load average near 40, and every editor, panel and terminal on it slowed down. Callers now share the read in flight, so there is at most one ps -A at a time. Source: cli/src/lib/session/active.ts