Commit Graph
2062 Commits
Author SHA1 Message Date
ciregenz 27e1ef2f06 [eric] linter: wire dangling-refs in, grandfathering the 32 pre-existing fields per field not per file 2026-07-31 17:10:56 -07:00
ciregenz 14389e1cf5 [eric] linter: dangling-refs check, a new *_id field on a backend model must declare its target 2026-07-31 17:10:56 -07:00
ciregenz d3e590f385 [eric] linter: entity-reference registry naming what every cross-entity id field points at 2026-07-31 17:10:56 -07:00
ciregenz bdb5f68bc0 [eric] merge eric/browser-index-leak: stop the browser sub-agent relaying raw element indices to the user 2026-07-31 15:59:52 -07:00
ciregenz b61a653180 [eric] updater: name the failures a user can fix instead of telling them to try again later 2026-07-31 15:59:34 -07:00
ciregenz 292d87afa2 [eric] browser: test the element-index leak fix and pin the renderer's row template 2026-07-31 15:58:49 -07:00
ciregenz ec4a044b0b [eric] browser: strip the click-by-index element rows from anything a human reads 2026-07-31 15:58:49 -07:00
ciregenz 1fec4a57b2 [eric] tools: ship ExitWorktree alongside EnterWorktree, an Enter with no Exit strands the agent 2026-07-31 15:57:55 -07:00
ciregenz 50a8424038 [eric] tools: hard-deny the between-turn tools whose callback nothing ever consumes 2026-07-31 15:57:55 -07:00
ciregenz e4f917a8c6 [eric] workflows: enforce a frozen Actions tool set at launch, it was computed and then discarded 2026-07-31 15:52:01 -07:00
ciregenz 61d824b14f [eric] merge eric/cloud-runs: headless backend, ephemeral runner, credential custody 2026-07-31 15:42:25 -07:00
ciregenz 91982a2278 [eric] apps: name the user's apps when none is selected, so the agent can point at the selection step instead of denying they exist 2026-07-31 15:29:07 -07:00
ciregenz b5d0461828 [eric] backend: queue messages typed mid-turn and replay them when the turn ends 2026-07-31 14:21:47 -07:00
ciregenz e9eb7a1b81 [eric] backend: surface error-shaped ResultMessages as failed turns instead of silent successes 2026-07-31 14:17:17 -07:00
ciregenz bf0c859fd4 [eric] workflows: fix three broken session_store imports left by the underscore migration 2026-07-31 14:14:13 -07:00
ciregenz 61d79ce5d0 [eric] backend: boot restore keeps session files on disk instead of unlinking them 2026-07-31 14:13:01 -07:00
ciregenz 02cda4c47a [eric] security: mirror the executor sandbox gate into the public edge, with a drift test 2026-07-31 13:47:11 -07:00
ciregenz 44f9e48c2a [eric] security: close the Output executor sandbox escape via sys, dunders and module chains 2026-07-31 13:47:02 -07:00
ciregenz f3761f61eb [eric] security: contain workspace file paths with realpath and a whole-component boundary 2026-07-31 13:46:52 -07:00
ciregenz 345000e8dc [eric] credentials: hand custody to the cloud strip-first, so two rotators is unrepresentable 2026-07-31 13:12:11 -07:00
ciregenz c0a0993ca2 [eric] credentials: move a rotating token out of 9router's db.json without racing the router for the file 2026-07-31 13:00:11 -07:00
ciregenz 475a76ce68 [eric] runner: keep the developer's backend/.env out of the image and fail the build if one ever lands 2026-07-31 12:47:49 -07:00
ciregenz 2cc6bc017f [eric] runner: ephemeral cloud container that boots the backend, runs one workflow, and exits 2026-07-31 12:44:35 -07:00
ciregenz e70cc5bf59 [eric] backend: headless mode drops the renderer-bound tools and denies approvals instantly 2026-07-31 12:02:29 -07:00
ciregenz 3d8c6101b6 [eric] security: make the 9router state dir owner-only, its db.json held live tokens at 0644 2026-07-31 11:44:24 -07:00
ciregenz 6f32861b41 [eric] workflows: add execution_target so the local scheduler never fires or rolls a cloud-hosted timer 2026-07-31 11:42:52 -07:00
ciregenz 258d0c7573 [eric] backend: let OPENSWARM_DATA_ROOT point the data dir at a container volume 2026-07-31 11:42:52 -07:00
ciregenz 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 2026-07-31 02:02:56 -07:00
ciregenz 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 2026-07-31 01:32:25 -07:00
ciregenz b8a9793b65 [eric] distill: pin the touched file paths back onto a summary that paraphrased them away 2026-07-31 01:21:49 -07:00
ciregenz 8b72683a43 [eric] lint: drop the unused load_settings import in RunSupport 2026-07-31 01:17:14 -07:00
ciregenz e10bd2ed9d [eric] tool-results: middle-elide oversized spills so the tail (where the verdict lives) survives 2026-07-31 01:17:14 -07:00
ciregenz 71f480ecfd [eric] client-pool: stop hashing the compaction cutoff, it respawned the CLI every turn past 65% context 2026-07-31 01:17:14 -07:00
ciregenz 970144ce2b [eric] tools: ship the pruned built-in manifest by default, 4211 fewer prompt tokens per turn 2026-07-31 01:17:09 -07:00
ciregenz ee287534d0 [eric] dashboard: minimizing a browser card actually frees its renderer (it used to keep a live one) 2026-07-31 01:16:06 -07:00
ciregenz 2572f9ff45 [eric] voice: label the model catalog with the latencies actually measured, not guesses 2026-07-31 00:10:03 -07:00
ciregenz 0d826b5daa [eric] build: drop foreign-arch native prebuilds from the app, with a release gate to keep them out 2026-07-31 00:05:54 -07:00
ciregenz bce7e1f072 [eric] voice: Settings model picker with verified downloads; report fast whisper exits 2026-07-31 00:03:27 -07:00
ciregenz ddedbe4662 [eric] tiling: tiles stop beside the minimized rail instead of sliding under it 2026-07-31 00:00:54 -07:00
ciregenz eae4f067d9 [eric] tiling: a tiled chat is an open chat, so a collapsed one can't paint the white card 2026-07-31 00:00:51 -07:00
ciregenz b5e205160d [eric] settings: disconnect a subscription provider from the UI, verified against 9router not assumed 2026-07-31 00:00:43 -07:00
ciregenz acfc6eb8e7 [eric] palettes: portal Cmd+K and Cmd+F to a body top layer so cards stop painting over them 2026-07-30 22:07:26 -07:00
ciregenz 97ddc89aa9 [eric] voice: tap-to-dictate stops itself when you stop talking instead of taping silence 2026-07-30 22:00:53 -07:00
ciregenz 664608b4a8 [eric] voice: warm whisper at boot, unload when idle, and stop guessing the server port 2026-07-30 21:49:16 -07:00
ciregenz 0c201eb2a2 [eric] tiling: one writer owns a tiled card's rect, so a stale camera can't freeze or whiten it 2026-07-30 20:45:54 -07:00
ciregenz d9c2b728d5 [eric] tiling: one macOS rule set for every card type, Settings and Workflows windows included 2026-07-30 19:31:21 -07:00
ciregenz 42ef6be571 [eric] canvas: right-drag marquee-selects the empty canvas again; the menu waits for a click-only release 2026-07-30 19:31:13 -07:00
ciregenz 401120094e [eric] browser: a tab dragged out of an agent's card stays that agent's browser, so it isn't spawned twice 2026-07-30 18:49:03 -07:00
ciregenz 1e2022d1cb [eric] browser: show a collapsed agent's browser as a frozen shot, not a capture that never lands 2026-07-30 18:49:03 -07:00
ciregenz 96451de87e [eric] help: ground the help chat in real product knowledge instead of a hardcoded prompt 2026-07-30 18:29:15 -07:00