Commit Graph

  • 345000e8dc [eric] credentials: hand custody to the cloud strip-first, so two rotators is unrepresentable ciregenz 2026-07-31 13:12:11 -07:00
  • c9c25542b9 [eric] browser: never click a disabled submit, and turn the structural composer finder on ciregenz 2026-07-31 13:03:59 -07:00
  • d542b1814b [eric] browser: fill a custom editor with real keystrokes when synthetic input is ignored ciregenz 2026-07-31 13:03:58 -07:00
  • 2c63367ae0 [eric] browser: a signed-in page is not a login wall just because it says sign in ciregenz 2026-07-31 13:03:58 -07:00
  • 0cf7d111c2 [eric] browser: rank a submit control instead of exact-matching a closed label set ciregenz 2026-07-31 13:03:58 -07:00
  • c0a0993ca2 [eric] credentials: move a rotating token out of 9router's db.json without racing the router for the file ciregenz 2026-07-31 13:00:11 -07:00
  • 475a76ce68 [eric] runner: keep the developer's backend/.env out of the image and fail the build if one ever lands ciregenz 2026-07-31 12:47:49 -07:00
  • 2cc6bc017f [eric] runner: ephemeral cloud container that boots the backend, runs one workflow, and exits ciregenz 2026-07-31 12:44:35 -07:00
  • e70cc5bf59 [eric] backend: headless mode drops the renderer-bound tools and denies approvals instantly ciregenz 2026-07-31 12:02:29 -07:00
  • 3d8c6101b6 [eric] security: make the 9router state dir owner-only, its db.json held live tokens at 0644 ciregenz 2026-07-31 11:44:24 -07:00
  • 6f32861b41 [eric] workflows: add execution_target so the local scheduler never fires or rolls a cloud-hosted timer ciregenz 2026-07-31 11:42:52 -07:00
  • 258d0c7573 [eric] backend: let OPENSWARM_DATA_ROOT point the data dir at a container volume ciregenz 2026-07-31 11:42:52 -07:00
  • 5d8bf4102e [eric] browser: only a verified delivery teaches a write skill, not a resend guard ciregenz 2026-07-31 02:44:34 -07:00
  • a1c6c710eb [eric] browser: reddit clears its composer without posting, so treat it as a ghost-drop host ciregenz 2026-07-31 02:37:07 -07:00
  • b4074c3665 [eric] browser: never report a post as sent when no send was ever confirmed ciregenz 2026-07-31 02:23:36 -07:00
  • 98fa900dbf [eric] dock: shrink-to-fit down to a 14px floor, magnify to an absolute size, and pin the rail's ends like the macOS Dock ciregenz 2026-07-31 02:02:56 -07:00
  • 1fee20f425 [eric] dashboard: un-minimizing wakes a parked browser wherever the camera is, with a grace so the flight back can't re-park it ciregenz 2026-07-31 01:32:25 -07:00
  • 013bf663ef [eric] browser: a post that never confirmed is not a skill worth learning ciregenz 2026-07-31 01:27:55 -07:00
  • b8a9793b65 [eric] distill: pin the touched file paths back onto a summary that paraphrased them away ciregenz 2026-07-31 01:21:49 -07:00
  • 8b72683a43 [eric] lint: drop the unused load_settings import in RunSupport ciregenz 2026-07-31 01:17:14 -07:00
  • e10bd2ed9d [eric] tool-results: middle-elide oversized spills so the tail (where the verdict lives) survives ciregenz 2026-07-31 01:17:14 -07:00
  • 71f480ecfd [eric] client-pool: stop hashing the compaction cutoff, it respawned the CLI every turn past 65% context ciregenz 2026-07-31 01:17:14 -07:00
  • 970144ce2b [eric] tools: ship the pruned built-in manifest by default, 4211 fewer prompt tokens per turn ciregenz 2026-07-31 01:17:09 -07:00
  • ee287534d0 [eric] dashboard: minimizing a browser card actually frees its renderer (it used to keep a live one) ciregenz 2026-07-31 01:16:06 -07:00
  • 955abfa69c [eric] canary: cleanup passes on the outcome (marker gone), not on which code path deleted it ciregenz 2026-07-31 01:15:38 -07:00
  • 17ab446945 [eric] browser: read script looks cheap first and only a decline buys the whole page ciregenz 2026-07-31 00:51:54 -07:00
  • 2572f9ff45 [eric] voice: label the model catalog with the latencies actually measured, not guesses ciregenz 2026-07-31 00:10:03 -07:00
  • 0d826b5daa [eric] build: drop foreign-arch native prebuilds from the app, with a release gate to keep them out ciregenz 2026-07-31 00:05:54 -07:00
  • bce7e1f072 [eric] voice: Settings model picker with verified downloads; report fast whisper exits ciregenz 2026-07-31 00:03:27 -07:00
  • 4f4d5e8d55 [eric] browser: the read script asks for the whole page, not the model loop's smaller default ciregenz 2026-07-31 00:02:57 -07:00
  • ddedbe4662 [eric] tiling: tiles stop beside the minimized rail instead of sliding under it ciregenz 2026-07-31 00:00:54 -07:00
  • eae4f067d9 [eric] tiling: a tiled chat is an open chat, so a collapsed one can't paint the white card ciregenz 2026-07-31 00:00:51 -07:00
  • b5e205160d [eric] settings: disconnect a subscription provider from the UI, verified against 9router not assumed ciregenz 2026-07-31 00:00:43 -07:00
  • acfc6eb8e7 [eric] palettes: portal Cmd+K and Cmd+F to a body top layer so cards stop painting over them ciregenz 2026-07-30 22:07:26 -07:00
  • 97ddc89aa9 [eric] voice: tap-to-dictate stops itself when you stop talking instead of taping silence ciregenz 2026-07-30 22:00:53 -07:00
  • 664608b4a8 [eric] voice: warm whisper at boot, unload when idle, and stop guessing the server port ciregenz 2026-07-30 21:49:16 -07:00
  • e989517c6c [eric] lint: de-private the wall budget, trim error_classify under cap, drop stray ws_manager ciregenz 2026-07-30 20:58:16 -07:00
  • f6ad6cfb91 [eric] browser: a run out of wall time delivers what it has instead of nothing ciregenz 2026-07-30 20:50:37 -07:00
  • 0c201eb2a2 [eric] tiling: one writer owns a tiled card's rect, so a stale camera can't freeze or whiten it ciregenz 2026-07-30 20:45:54 -07:00
  • 324ee47937 [eric] browser: a command stops waiting when the window closes under it ciregenz 2026-07-30 20:44:22 -07:00
  • 93e2730c2f [eric] agents: a bare connection error is transient, so a network blip stops killing runs ciregenz 2026-07-30 20:00:42 -07:00
  • 4ba19a5b6e [eric] browser: the intervention prompt reads like a headline, not a 10px footnote ciregenz 2026-07-30 19:50:07 -07:00
  • f1f8464f1a [eric] browser: reap idle agent cards so finished runs stop stacking live webviews ciregenz 2026-07-30 19:47:20 -07:00
  • d9c2b728d5 [eric] tiling: one macOS rule set for every card type, Settings and Workflows windows included ciregenz 2026-07-30 19:31:21 -07:00
  • 42ef6be571 [eric] canvas: right-drag marquee-selects the empty canvas again; the menu waits for a click-only release ciregenz 2026-07-30 19:31:13 -07:00
  • 401120094e [eric] browser: a tab dragged out of an agent's card stays that agent's browser, so it isn't spawned twice ciregenz 2026-07-30 18:49:03 -07:00
  • 1e2022d1cb [eric] browser: show a collapsed agent's browser as a frozen shot, not a capture that never lands ciregenz 2026-07-30 18:49:03 -07:00
  • 96451de87e [eric] help: ground the help chat in real product knowledge instead of a hardcoded prompt ciregenz 2026-07-30 18:29:15 -07:00
  • 2385a348d5 [eric] shortcuts: drop the global Cmd+L that wiped a transcript with no confirm and collided with the composer shortcut ciregenz 2026-07-30 18:19:18 -07:00
  • c786a849bc [eric] canvas: keep guest pages owning their plain wheel while host content follows scroll focus ciregenz 2026-07-30 18:08:06 -07:00
  • ece00223ae [eric] browser: read answers lead with the answer, not with 'based on the page text provided' ciregenz 2026-07-30 17:48:47 -07:00
  • 8d878db589 [eric] canvas: make cmd/ctrl+wheel always zoom, and stop cards owning the plain wheel forever ciregenz 2026-07-30 17:35:32 -07:00
  • 78843dba2f [eric] browser: a prose decline from the read script is a decline, not an answer ciregenz 2026-07-30 17:31:16 -07:00
  • ce7939b94d [eric] web: race the free search engines so a dead one costs the hedge delay once, not 8s on every launch ciregenz 2026-07-30 17:20:41 -07:00
  • 6c6fcd96c2 [eric] cards: collapse a draft chat to the glass pill like every other card, not the full white card ciregenz 2026-07-30 17:18:43 -07:00
  • b5a832a99c [eric] dock: shrink tiles to fit like the macOS Dock, scroll only past the 18px floor ciregenz 2026-07-30 17:18:27 -07:00
  • dfa5dbd636 [eric] web: send a bot wall to our own Chromium instead of handing the model a challenge screen ciregenz 2026-07-30 16:52:27 -07:00
  • d5ab082019 [eric] spaces: make the strip scrollable so off-screen spaces are reachable (wheel, drag, chevrons, keep-active-in-view) ciregenz 2026-07-30 16:44:44 -07:00
  • 108ef03451 [eric] web: let Startpage say 'nothing matched' and 'I refuse' differently so a closed engine stops costing its budget ciregenz 2026-07-30 16:35:51 -07:00
  • 37100e9b5c [eric] web: ask the archive for the raw snapshot so we stop returning its calendar toolbar as the article ciregenz 2026-07-30 16:29:24 -07:00
  • a78d6276c0 [eric] web: extract the article instead of the nav bar, and stop calling a dead domain a security refusal ciregenz 2026-07-30 16:25:05 -07:00
  • 119e4a916e [eric] web: stop paying a dead search engine its full tier budget on every query, and let a 403 still try the lite frontend ciregenz 2026-07-30 16:24:58 -07:00
  • 29f4c26a35 [eric] dock: swap the hard blue selection outline for the rail's accent ring ciregenz 2026-07-30 16:16:50 -07:00
  • 318957b39c [eric] dashboard: minimize Settings and the Workflows hub to the rail instead of closing them ciregenz 2026-07-30 16:16:50 -07:00
  • 77b3595264 [eric] context menus: portal the card menu to body, widen the row schema, cover every shell surface ciregenz 2026-07-30 15:13:32 -07:00
  • b8cfaff690 [eric] web: stop the fetch cascade on a body with no text layer instead of buying a paid summary of nothing ciregenz 2026-07-30 14:55:56 -07:00
  • 1172fb07c5 [eric] web: say bot challenge, not rate limit, since retrying the same query never clears it ciregenz 2026-07-30 14:40:48 -07:00
  • 65430e1234 [eric] web: fall back to the Wayback Machine when the live page is dead or walled ciregenz 2026-07-30 14:40:48 -07:00
  • 88abab0c1c [eric] web: extract PDF text and refuse other binaries instead of dumping raw bytes into the model ciregenz 2026-07-30 14:40:48 -07:00
  • f30677e255 [eric] web: move the search engines into tools/search so the folder stays under the item cap ciregenz 2026-07-30 14:34:32 -07:00
  • d84f2d5301 [eric] web: add Startpage as a second independent search engine so one bot challenge cannot close free search ciregenz 2026-07-30 14:34:29 -07:00
  • 356f7a4ea1 [eric] minimized: one glass rail for apps and browsers, real thumbnails, no live webview behind a parked card ciregenz 2026-07-30 14:31:30 -07:00
  • 629e58a59b [eric] window-controls: fan all three arc lights by data-light, green was stacked on red and ate the close click ciregenz 2026-07-30 14:31:24 -07:00
  • 559bbbe768 [eric] web: send the keyless search rungs through a Chrome-fingerprint client (measured 4/8 -> 8/8 on DuckDuckGo) ciregenz 2026-07-30 14:28:49 -07:00
  • 3ea74d67a5 [eric] web: bound the search/fetch cascade with one wall-clock deadline so the later tiers are reachable ciregenz 2026-07-30 14:21:27 -07:00
  • 18e024834d Merge branch 'eric/dev' into eric/browser-merged ciregenz 2026-07-30 13:18:48 -07:00
  • 3d5c287139 [eric] merge: bring eric/browser onto eric/dev (30 conflicts resolved, gates green) ciregenz 2026-07-30 13:18:11 -07:00
  • 600c04dd02 [eric] history: stop losing chats (merge live sessions, drop agent-spawned children, sort by last activity, never render a blank row) ciregenz 2026-07-30 12:59:45 -07:00
  • 7fb3b85a64 [eric] dock: show the favicon INSTEAD of the browser glyph (it used to sit behind it), glyph returns if the favicon fails ciregenz 2026-07-30 12:03:29 -07:00
  • 75bc138601 [eric] dashboard: dock Settings opens as a canvas window (shared card chrome), not a modal ciregenz 2026-07-29 21:12:07 -07:00
  • 162eacc543 [eric] notes: delete the sticky-note feature end to end ciregenz 2026-07-29 20:32:24 -07:00
  • c10db35ebc [eric] history: move chat history from the dock to the top island and make it global (was filtered to the current dashboard) ciregenz 2026-07-29 20:17:17 -07:00
  • fac02bfccc [eric] shell: uncrop the spawn-pill shadow, shortcut tooltip on the composer, always-visible glass title bubble (incl. fullscreen), and collapsed cards show a plain-text answer ciregenz 2026-07-29 20:13:56 -07:00
  • 5b9d0dcce6 [eric] dock: drop the New-chat tile (the always-present spawn pill already owns that action) ciregenz 2026-07-29 19:59:27 -07:00
  • 776f4068f3 [eric] dock: Applications lists YOUR OpenSwarm apps (was the machine's /Applications via a launcher whose click IPC never existed) ciregenz 2026-07-29 19:58:02 -07:00
  • e321a35894 [eric] voice: drop whisper --convert (demanded ffmpeg on PATH at boot; Finder apps have none = dictation dead in prod), writable cwd, drain stderr, 60s cold-load budget ciregenz 2026-07-29 16:51:30 -07:00
  • 04f66b2cd0 [eric] hygiene: gitignore haptics node-gyp build output (mirrors mouseclamp) ciregenz 2026-07-29 16:38:32 -07:00
  • 11ea778884 [eric] tests: update providerUsage tests to the landed 150-title cap + convo char budget (4 green) ciregenz 2026-07-29 16:38:32 -07:00
  • f0229bef50 [eric] tests: land the 3 stranded browser capacity-retry tests from the windows-churn batch (64 green) ciregenz 2026-07-29 16:38:32 -07:00
  • 2ee25f80fc [eric] dashboard: cap live app webviews (closest-to-center wins) to bound memory v1.6.0 ciregenz 2026-07-29 11:22:27 -07:00
  • 19d991413d [eric] browser: compose-surface poll waits while the page is still arriving, stops when it settles eric/browser ciregenz 2026-07-29 10:52:03 -07:00
  • 7e79c9622b [eric] browser: the compose tier now requires the caller's write verdict so a quoted READ never opens it ciregenz 2026-07-29 10:38:19 -07:00
  • 98fed22b63 [eric] browser: split the opener-wait tests out at the file cap ciregenz 2026-07-29 10:28:48 -07:00
  • 1675176ac5 [eric] browser: wait for the compose surface to stop moving, not for a fixed number of seconds ciregenz 2026-07-29 10:27:29 -07:00
  • 47beb38fd9 [eric] browser: a compose URL that lands on a sign-in wall is not a reached composer ciregenz 2026-07-29 09:44:58 -07:00
  • 1fb9cb4ab0 [eric] browser: drop a stale comment about which text the compose veto reads ciregenz 2026-07-29 09:39:49 -07:00
  • f6ac1abbf2 [eric] browser: recognise LinkedIn's post editor by name and say why a compose surface came up empty ciregenz 2026-07-29 09:33:16 -07:00
  • 1c9755c0f2 [eric] onboarding: prove the Windows cookie path against real DPAPI on a Windows runner ciregenz 2026-07-29 09:28:17 -07:00
  • 7c9b0e61d4 [eric] browser: CDP teardown rechecks the target between awaits and stops latching live cards ciregenz 2026-07-29 09:28:17 -07:00
  • 42410e0a05 [eric] browser: open the site's own compose URL for a top-level write instead of hunting the button ciregenz 2026-07-29 09:28:07 -07:00