Commit Graph

  • 01e295ac5c [eric] agents: parked CLIs die at 10 minutes and the warm cap drops to 8, cutting the measured 1.3GB idle ceiling roughly in half ciregenz 2026-08-07 21:10:44 -07:00
  • ec9941821c [eric] backend: respawn on unexpected exit (bounded, backoff), so a crash no longer leaves a dead shell and orphaned app runtimes ciregenz 2026-08-07 21:02:08 -07:00
  • 08694d18b8 [eric] apps: the ghost reaper matches workspace paths case-insensitively, so a packaged app's openswarm vs OpenSwarm casing no longer spares orphans ciregenz 2026-08-07 21:00:44 -07:00
  • ed8e7d6304 [eric] updater: OPENSWARM_NO_UPDATE=1 stops a local packaged build from downgrading itself mid-smoke ciregenz 2026-08-07 20:30:05 -07:00
  • 2bd42f7f35 [eric] tests: the sync-test contract tests now pin the progress-based wait, not the deleted fixed budget ciregenz 2026-08-07 20:27:10 -07:00
  • 8e9baee839 [eric] workflows: at most 3 run at once, extra due fires queue for a slot and give up honestly, so 30 saved workflows can never become 30 live agents ciregenz 2026-08-07 20:26:27 -07:00
  • 256e922886 [eric] canvas: browsers and apps share one 10-renderer ceiling, so the two caps can no longer stack to 14 ciregenz 2026-08-07 20:10:59 -07:00
  • dfed363db7 [eric] apps: the scaffold ships a durable store and the skill forbids memory-only state, since the runtime dies on a timer ciregenz 2026-08-07 20:01:06 -07:00
  • dec16d78db [eric] apps: the ghost sweep fails closed, a bad ps scan or a mid-spawn race can no longer read working apps as ghosts ciregenz 2026-08-07 19:54:11 -07:00
  • f32bcafc01 [eric] apps: idle pool holds 6 frozen runtimes instead of 3, affordable now that the TTL bounds their lifetime ciregenz 2026-08-07 19:51:25 -07:00
  • 913f597656 [eric] apps: ghosts get swept every 10 minutes not just at boot, and a frozen idle runtime dies after 15 minutes instead of squatting RAM forever ciregenz 2026-08-07 19:47:16 -07:00
  • a276a5d64d [eric] canvas: a browser leaving the rail lands on its snapshot and attaches the guest after the motion, killing the browser-only jank ciregenz 2026-08-07 19:28:17 -07:00
  • 8c8a9fe120 [eric] canvas: a card leaving the minimized rail lands in its tile in one frame, instead of flying in from a home nobody saw ciregenz 2026-08-07 19:22:19 -07:00
  • ab875d5894 [eric] canvas: the tiling settle waits for the camera to demonstrably rest, not for a guessed delay ciregenz 2026-08-07 19:13:57 -07:00
  • c8df096520 [eric] canvas: revert the top inset, the tiled window already sits above the drag strip and did not need it ciregenz 2026-08-07 19:09:24 -07:00
  • c8dd05ddf4 [eric] canvas: tiling insets below the top drag strip, so a fullscreen window stops losing its top edge to window-drag ciregenz 2026-08-07 19:00:58 -07:00
  • 863a8274f9 [eric] canvas: stop re-solving a tile origin that was already right, which is what put fullscreen a few px off ciregenz 2026-08-07 18:57:12 -07:00
  • 85e50f029a [eric] canvas: a browser card too small to read goes to sleep on zoom-out, not just stays asleep on zoom-in ciregenz 2026-08-07 18:43:42 -07:00
  • 31a45b003a [eric] canvas: a tiling settle waits for the camera to stop moving, and re-measures once the rail lets the card go ciregenz 2026-08-07 18:25:08 -07:00
  • dc1896c91f [eric] canvas: tiling diagnostics log one flat line, since devtools ate the nested arrays on copy ciregenz 2026-08-07 18:17:53 -07:00
  • 088a31973b [eric] canvas: temporary tiling diagnostics, so the minimized-to-fullscreen offset can be read off numbers ciregenz 2026-08-07 18:12:58 -07:00
  • 901d9ff070 [eric] browser: back, forward and reload lose their tooltips, which only ever landed on top of the page ciregenz 2026-08-07 18:10:25 -07:00
  • df85b17100 [eric] canvas: fullscreen from the minimized rail lands square, instead of taking its origin from the -100000 park ciregenz 2026-08-07 18:02:21 -07:00
  • 0417e70b72 [eric] memory: the profile is about the person, not the project, and saying nothing is the default ciregenz 2026-08-07 17:53:40 -07:00
  • 0c83bb8f78 [eric] canvas: an app window owns its wheel whether or not you clicked in first; workflow tests wait on progress, not a clock ciregenz 2026-08-07 17:37:30 -07:00
  • 9b54b39dde [eric] workflows: a test that runs long hands back what it has instead of telling the agent to poll; memory stops re-deriving facts it already stored ciregenz 2026-08-07 17:33:20 -07:00
  • bde92de062 [eric] prompt: reading the web starts with WebSearch/WebFetch and only escalates to the browser when they come back thin ciregenz 2026-08-07 17:18:30 -07:00
  • 050a02fc52 [eric] workflows: a new workflow runs on the model you actually configured, not Anthropic's API lane ciregenz 2026-08-07 17:06:48 -07:00
  • b16c31b8c2 [eric] canvas: scroll over an unfocused card drives the canvas again, and a scroll inside one never chains out of it ciregenz 2026-08-07 16:52:55 -07:00
  • 6d8ecc6fd4 [eric] canvas: the host window allows visual zoom, so macOS actually delivers a trackpad pinch to the dashboard (ENG-186) ciregenz 2026-08-07 16:24:07 -07:00
  • b37509894d [eric] tests: two suites imported a .js that never existed, so 13 assertions had never run once ciregenz 2026-08-07 16:06:57 -07:00
  • 9b0ca9f2fc [eric] canvas: double-click to frame everything keeps a readable floor instead of bottoming out at 15% ciregenz 2026-08-07 16:04:42 -07:00
  • 5b63c98854 [eric] dictation: the cursor wins, so a transcript lands where you clicked, not where you started (reverts ENG-176) ciregenz 2026-08-07 16:01:05 -07:00
  • d1d8597513 [eric] help: the 1.7.5 notes describe the build that exists, not the one that was planned ciregenz 2026-08-07 15:52:28 -07:00
  • 69797ba88a [eric] workflows: pausing one clears its queued missed fires, so a switched-off workflow leaves nothing behind ciregenz 2026-08-07 15:47:31 -07:00
  • 4293904214 [eric] canvas: the stock wash is one flat colour, so a default install has no texture left to tear ciregenz 2026-08-07 15:41:07 -07:00
  • 5485021b7b [eric] workflows: a stalled label lane can no longer hold a step edit open, which is what bricked the editor ciregenz 2026-08-07 15:41:07 -07:00
  • c0117d817b [eric] voice: reap fn-watchers stranded by a crash, so a dead session can't keep tapping the keyboard ciregenz 2026-08-07 15:31:09 -07:00
  • ec0d706a80 [eric] canvas: cut the evictable full-window texture 98MB to 43MB, so the wash has far less left to drop as a band ciregenz 2026-08-07 15:23:43 -07:00
  • f018eefdb9 [eric] workflows: a deleted workflow stays deleted, so the immortal 45-minute ghost can't write itself back to life ciregenz 2026-08-07 15:05:42 -07:00
  • e53d01f9ef [eric] canvas: wash and grain paint on the viewport itself, so there is no second layer to lose ciregenz 2026-08-07 14:45:43 -07:00
  • 8364864f9f [eric] canvas: the wash is a real gradient, not a 119KB image the GPU can drop ciregenz 2026-08-07 14:41:08 -07:00
  • 48bcdd4f85 [eric] workflows: off means off on every path, and the refusal shows up in History ciregenz 2026-08-07 14:35:08 -07:00
  • d05963884d [eric] workflows: deleted or switched off means it cannot run, from any path, including mid-run ciregenz 2026-08-07 14:30:29 -07:00
  • e5f4144f72 [eric] workflows: an agent will not start a workflow the user switched off ciregenz 2026-08-07 14:26:33 -07:00
  • bb5893ff46 [eric] apps: a crash no longer leaves app runtimes running for days, boot reaps what no live backend owns ciregenz 2026-08-07 14:23:25 -07:00
  • 2287c1244b [eric] canvas: browser cards past the first actually load their page again ciregenz 2026-08-07 13:56:41 -07:00
  • 86f92164b6 [eric] canvas: a card finishes its own attach work before the next webview starts ciregenz 2026-08-07 13:50:16 -07:00
  • 3c711d0f85 [eric] canvas: the next webview waits for the last one to attach, not for the next frame ciregenz 2026-08-07 13:44:30 -07:00
  • 5eed1385be [eric] canvas: webview attaches go one per frame, so opening a loaded dashboard stops locking the app for 4.7s ciregenz 2026-08-07 13:39:03 -07:00
  • c0c190987e [eric] qa: the perf gate measures main-thread blocking at mount, the class every other gate slept through ciregenz 2026-08-07 13:19:13 -07:00
  • 0a56eb1a85 [eric] browser: take browser-use's visibility rule, drop our arbitrary size floor ciregenzandClaude Opus 5 2026-08-07 13:11:37 -07:00
  • 571b10b521 [eric] release: 1.7.5 ciregenz 2026-08-07 12:48:06 -07:00
  • 21e1400e3c [eric] telemetry: a silent quit carries the same envelope as a hard error, found by reading the sink ciregenz 2026-08-07 12:27:38 -07:00
  • 48b46d17a1 [eric] skills: pnpm dlx and yarn dlx pastes install, which is the form READMEs actually print ciregenz 2026-08-07 12:08:56 -07:00
  • 3017d73ad0 [eric] telemetry: a native crash reports its own cause on the next boot instead of leaving a file nobody reads ciregenz 2026-08-07 12:01:06 -07:00
  • 433a22d081 [eric] qa: a dead-control sweep clicks every control and fails when nothing happens ciregenz 2026-08-07 11:55:44 -07:00
  • eaecf19579 [eric] usage: agent time stops billing idle cards as work, and the panel gains real figures ciregenz 2026-08-07 11:07:43 -07:00
  • 307c0647d7 [eric] settings: the shortcut chip takes focus when armed, so a blur cannot disarm it before a key lands ciregenz 2026-08-07 10:09:48 -07:00
  • 85fa639de7 [eric] apps: the composer's Add app opens the same Applications window as the dock, not the legacy inline picker ciregenz 2026-08-07 10:04:14 -07:00
  • 926a146d97 [eric] scripts: verifier forces overflow and both 401 shims, so silent recoveries show up in the ledger ciregenz 2026-08-07 09:58:09 -07:00
  • b7366cce49 [eric] scripts: the verifier drives the CDP proofs too, so dictation, INP and idle rAF land in the same scoreboard ciregenz 2026-08-07 09:48:12 -07:00
  • a565d5638c [eric] scripts: the 1.7.5 verifier forces two failure classes live and stops gating boot on a baseline that never reproduced ciregenz 2026-08-07 09:39:29 -07:00
  • 8888c6856c [eric] scripts: one command re-checks the 1.7.5 contract and prints a scoreboard ciregenz 2026-08-07 09:08:04 -07:00
  • 42b14165d5 [eric] telemetry: the missing-CLI error card carries a flight envelope, and a test keeps every error family honest ciregenz 2026-08-07 07:25:57 -07:00
  • 511e2b0029 [eric] dictation: a field that dies mid-decode drops the words instead of typing them into a stranger's box ciregenz 2026-08-07 06:42:41 -07:00
  • 44af7d29d9 [eric] skills: an unrelated npx paste no longer installs a skill named after it ciregenz 2026-08-07 06:38:39 -07:00
  • c6a0c1f34b [eric] telemetry: silent-recovery rows carry journey context, and packaged builds stop shipping test files ciregenz 2026-08-07 06:35:20 -07:00
  • bbf086329f [eric] agents: a router-down turn names its cause instead of dying unclassified, found by the forced-failure battery ciregenz 2026-08-07 06:23:45 -07:00
  • 260d5a3de3 [eric] agents: the CLI's silent provider-500 retries become breadcrumbs and near-miss ledger entries ciregenz 2026-08-07 05:39:46 -07:00
  • 820bd922a2 [eric] telemetry: a crashed browser card reports itself instead of going silently blank ciregenz 2026-08-07 04:59:30 -07:00
  • 007bd47f3b [eric] workflows: TestWorkflow waits for the run and returns the transcript in-turn, so the agent keeps going instead of parking on the user ciregenz 2026-08-07 04:06:02 -07:00
  • 45fdff8173 [eric] skills: the Add box accepts the install commands people paste from READMEs (npx/npm/pnpm/bunx, URLs, bare names) ciregenz 2026-08-07 01:16:35 -07:00
  • dbea61b109 [eric] telemetry: the last two envelope-less diagnostics (pressure valve, router start) now carry context too ciregenz 2026-08-07 01:08:00 -07:00
  • 3324d63ab1 [eric] release: What's New card + endpoint serve the same story as Help and GitHub, header punctuation fixed ciregenz 2026-08-07 01:05:05 -07:00
  • a7fd7168ec [eric] help: changelog import belongs at module scope, a decorator was left dangling over it ciregenz 2026-08-07 01:02:06 -07:00
  • 37f5c35244 [eric] windows: Settings and Marketplace honor bring-to-front, clicking one actually raises it ciregenz 2026-08-07 00:52:35 -07:00
  • 9d8fe2e545 [eric] release: one changelog source feeds the Help agent, the GitHub body, and the in-app card ciregenz 2026-08-07 00:45:06 -07:00
  • 3ba65bedb7 [eric] ux: marketplace joins click-to-fit, camera flights land soft (340ms quintic), browser-agent runs show one view not two ciregenz 2026-08-07 00:43:23 -07:00
  • ef8806eda3 [eric] latency: a short first message no longer drifts the boot fingerprint, so the pre-warmed CLI is actually used (3.92s -> 1.58s median, 0 wasted spawns) ciregenz 2026-08-07 00:34:54 -07:00
  • d59b61e810 [eric] telemetry: memory thresholds are env-overridable so support and tests can prove the wire ciregenz 2026-08-07 00:16:10 -07:00
  • 7a1518df32 [eric] telemetry: memory sensor reports cap crossings and leak-shaped growth, silent on healthy sessions ciregenz 2026-08-07 00:08:53 -07:00
  • 29f7bd5837 [eric] canvas: scroll containment covers every surface, a wheel inside any card stays in that card ciregenz 2026-08-07 00:06:58 -07:00
  • 2b6178c12e [eric] telemetry: crumbs at every spawn phase and stream milestone, envelopes carry journey and auth context ciregenz 2026-08-07 00:02:29 -07:00
  • b233178c8c [eric] canvas: a wheel that starts inside a scrollable surface or an app window stays there, no more scroll leaking into pan/zoom ciregenz 2026-08-06 23:51:30 -07:00
  • 313e3fd07d [eric] dictation: dev-only seam proves the focus-drift guarantee against the real module ciregenz 2026-08-06 23:47:36 -07:00
  • 0914b276d7 [eric] dictation: the paste target is snapshotted at press-start, so focus drift during decode cannot steal the transcript (ENG-176) ciregenz 2026-08-06 23:46:09 -07:00
  • 792605e530 [eric] telemetry: OSW_FLIGHT=0 kill switch for the recorder ciregenz 2026-08-06 23:36:53 -07:00
  • c4ff6dad93 Merge remote-tracking branch 'origin/eric/dev' into eric/browser-merged ciregenz 2026-08-06 23:22:12 -07:00
  • 3c50359146 [eric] browser-v3: fix the instrument first, then the two composer bugs it could finally see ciregenzandClaude Opus 5 2026-08-06 23:21:05 -07:00
  • c3635062a1 [eric] telemetry: long-task observer is the primary wedge sensor, Chromium unresponsive stays as a second witness ciregenz 2026-08-06 23:05:09 -07:00
  • d082af7e03 [eric] telemetry: envelopes get real concurrency via a sessions provider, every turn opens with a baseline crumb ciregenz 2026-08-06 22:57:53 -07:00
  • 751747b293 [eric] telemetry: crash recoveries, wedge recoveries, and rage clicks reach analytics (silent-failure family A) ciregenz 2026-08-06 22:45:32 -07:00
  • 565009f0c5 [eric] telemetry: auth and overflow errors carry flight envelopes, router revives hit the near-miss ledger ciregenz 2026-08-06 22:42:48 -07:00
  • 5be3bb842d [eric] telemetry: OPENSWARM_DIAG_SINK writes every diagnostic to a rotating local flight file ciregenz 2026-08-06 22:40:49 -07:00
  • 86e323cbce [eric] telemetry: per-session flight recorder, error envelopes name cause+lane+phase+crumbs, silent recoveries hit the ledger ciregenz 2026-08-06 22:39:30 -07:00
  • d492c46f02 [eric] apps: runtimes get OPENSWARM_HOST_TOKEN_FILE (path not value) so app backends can call the host API across rotations ciregenz 2026-08-06 21:39:58 -07:00
  • 474a6fdbb0 [eric] chat: connection-hiccup and provider-refresh failures get honest cards instead of the generic snag v1.7.4 ciregenz 2026-08-06 21:03:32 -07:00
  • 7c3999d779 [eric] agents: a self-healing reset-window 401 retries silently instead of flashing the reconnect card ciregenz 2026-08-06 20:58:42 -07:00
  • d1d6e0e0e5 [eric] health: one banner line per provider, a 401 naming its own reset window is mid-refresh not dead ciregenz 2026-08-06 20:58:42 -07:00