Commit Graph
875 Commits
Author SHA1 Message Date
ciregenz 05132c7ace [eric] workflows: retire the previous test chat, five tests left five orphan cards and five leaked transcripts 2026-07-31 21:32:52 -07:00
ciregenz 66c5f7bb53 [eric] agents: a restart relabelled every finished chat stopped and hung a Resume button off it 2026-07-31 21:32:39 -07:00
ciregenzandClaude Opus 5 949655e86c [eric] backend: browser tools follow whether a renderer is attached, not the headless flag
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015q1TVSLNNsXAoyM7sJuVKP
2026-07-31 19:01:03 -07:00
ciregenz 0f6e110a86 [eric] apps: bring back apps whose record vanished but whose work is still on disk 2026-07-31 17:31:15 -07:00
ciregenz ebdc8575b2 [eric] merge eric/app-orphans: a second app instance was classified as a dead app and torn off the canvas 2026-07-31 17:14:58 -07:00
ciregenz e350802a26 [eric] workflows: a record the loader drops now names itself instead of vanishing in silence 2026-07-31 17:13:59 -07:00
ciregenz ab8609a0ca [eric] workflows: null session pointers whose session is gone, so a loss renders as empty not blank 2026-07-31 17:01:04 -07:00
ciregenz 95006713c6 [eric] workflows: purge takes the workflow's own chats with it, and spares the chat it was born from 2026-07-31 17:01:04 -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 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 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 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 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 bce7e1f072 [eric] voice: Settings model picker with verified downloads; report fast whisper exits 2026-07-31 00:03:27 -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 96451de87e [eric] help: ground the help chat in real product knowledge instead of a hardcoded prompt 2026-07-30 18:29:15 -07:00
ciregenz ce7939b94d [eric] web: race the free search engines so a dead one costs the hedge delay once, not 8s on every launch 2026-07-30 17:20:41 -07:00
ciregenz dfa5dbd636 [eric] web: send a bot wall to our own Chromium instead of handing the model a challenge screen 2026-07-30 16:52:27 -07:00
ciregenz 108ef03451 [eric] web: let Startpage say 'nothing matched' and 'I refuse' differently so a closed engine stops costing its budget 2026-07-30 16:35:51 -07:00
ciregenz 37100e9b5c [eric] web: ask the archive for the raw snapshot so we stop returning its calendar toolbar as the article 2026-07-30 16:29:24 -07:00
ciregenz a78d6276c0 [eric] web: extract the article instead of the nav bar, and stop calling a dead domain a security refusal 2026-07-30 16:25:05 -07:00
ciregenz 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 2026-07-30 16:24:58 -07:00
ciregenz b8cfaff690 [eric] web: stop the fetch cascade on a body with no text layer instead of buying a paid summary of nothing 2026-07-30 14:55:56 -07:00
ciregenz 65430e1234 [eric] web: fall back to the Wayback Machine when the live page is dead or walled 2026-07-30 14:40:48 -07:00
ciregenz 88abab0c1c [eric] web: extract PDF text and refuse other binaries instead of dumping raw bytes into the model 2026-07-30 14:40:48 -07:00
ciregenz f30677e255 [eric] web: move the search engines into tools/search so the folder stays under the item cap 2026-07-30 14:34:32 -07:00
ciregenz d84f2d5301 [eric] web: add Startpage as a second independent search engine so one bot challenge cannot close free search 2026-07-30 14:34:29 -07:00
ciregenz 559bbbe768 [eric] web: send the keyless search rungs through a Chrome-fingerprint client (measured 4/8 -> 8/8 on DuckDuckGo) 2026-07-30 14:28:49 -07:00
ciregenz 3ea74d67a5 [eric] web: bound the search/fetch cascade with one wall-clock deadline so the later tiers are reachable 2026-07-30 14:21:27 -07:00
ciregenz 600c04dd02 [eric] history: stop losing chats (merge live sessions, drop agent-spawned children, sort by last activity, never render a blank row) 2026-07-30 12:59:45 -07:00
ciregenz 162eacc543 [eric] notes: delete the sticky-note feature end to end 2026-07-29 20:32:24 -07:00
ciregenz 8fedff40c1 [eric] efficiency: preflight classifier stamps cooldown whenever it runs (was re-firing Haiku every turn on concrete prompts); remove warm_prompt_cache (billed N no-op requests/dashboard-mount, warmed nothing: wrong prefix, below cache floor, no cache_control) 2026-07-29 01:01:26 -07:00