Commit Graph
472 Commits
Author SHA1 Message Date
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 c9c25542b9 [eric] browser: never click a disabled submit, and turn the structural composer finder on 2026-07-31 13:03:59 -07:00
ciregenz 2c63367ae0 [eric] browser: a signed-in page is not a login wall just because it says sign in 2026-07-31 13:03:58 -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 a1c6c710eb [eric] browser: reddit clears its composer without posting, so treat it as a ghost-drop host 2026-07-31 02:37:07 -07:00
ciregenz b4074c3665 [eric] browser: never report a post as sent when no send was ever confirmed 2026-07-31 02:23:36 -07:00
ciregenz 013bf663ef [eric] browser: a post that never confirmed is not a skill worth learning 2026-07-31 01:27:55 -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 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 17ab446945 [eric] browser: read script looks cheap first and only a decline buys the whole page 2026-07-31 00:51:54 -07:00
ciregenz 4f4d5e8d55 [eric] browser: the read script asks for the whole page, not the model loop's smaller default 2026-07-31 00:02:57 -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 e989517c6c [eric] lint: de-private the wall budget, trim error_classify under cap, drop stray ws_manager 2026-07-30 20:58:16 -07:00
ciregenz f6ad6cfb91 [eric] browser: a run out of wall time delivers what it has instead of nothing 2026-07-30 20:50:37 -07:00
ciregenz 324ee47937 [eric] browser: a command stops waiting when the window closes under it 2026-07-30 20:44:22 -07:00
ciregenz 93e2730c2f [eric] agents: a bare connection error is transient, so a network blip stops killing runs 2026-07-30 20:00:42 -07:00
ciregenz f1f8464f1a [eric] browser: reap idle agent cards so finished runs stop stacking live webviews 2026-07-30 19:47:20 -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 78843dba2f [eric] browser: a prose decline from the read script is a decline, not an answer 2026-07-30 17:31:16 -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 1172fb07c5 [eric] web: say bot challenge, not rate limit, since retrying the same query never clears it 2026-07-30 14:40:48 -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 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 18e024834d Merge branch 'eric/dev' into eric/browser-merged 2026-07-30 13:18:48 -07:00
ciregenz 3d5c287139 [eric] merge: bring eric/browser onto eric/dev (30 conflicts resolved, gates green) 2026-07-30 13:18:11 -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 f0229bef50 [eric] tests: land the 3 stranded browser capacity-retry tests from the windows-churn batch (64 green) 2026-07-29 16:38:32 -07:00
ciregenz df0e4a2393 [eric] merge eric/onboarding into eric/dev; version 1.6.0 2026-07-28 22:20:34 -07:00
ciregenz ac0f575d34 [eric] health: boot-time bundled-CLI integrity check rides the login-health pill with repair guidance 2026-07-28 15:49:59 -07:00
ciregenz 2a42a1c460 [eric] agents: AV-repair card for missing CLI, stderr tail on masked exit-1 cards, group-unwrap in the fatal path 2026-07-28 15:49:59 -07:00
ciregenz e16255e06a [eric] agents: classify bundled-CLI-missing errors + unwrap exception groups to the real cause 2026-07-28 15:49:59 -07:00
ciregenz 4228cf5d00 [eric] backend: unused imports and dead helpers swept 2026-07-28 11:06:41 -07:00