ciregenz
e2a77b5eae
[eric] browser: parameterize skills so one skill serves a task with different inputs
2026-06-02 16:27:11 -07:00
ciregenz
e30d70ce97
[eric] browser: persist skills across sessions with secret-redaction gate
2026-06-02 16:17:23 -07:00
ciregenz
3aa9cf6ba0
[eric] browser: front-load page perception into turn 1 to cut orientation round-trips
2026-06-02 14:02:47 -07:00
ciregenz
a015036383
[eric] browser: prompt-cache the fixed prefix and push batching to cut first-run turns
2026-06-02 14:01:00 -07:00
ciregenz
014414440b
[eric] browser: decompose BrowserBatch into discrete replayable skill steps
2026-06-02 13:32:54 -07:00
ciregenz
d1c1b44ee7
[eric] browser: replay learned skills with zero LLM calls, fall back on any miss
2026-06-02 12:49:55 -07:00
ciregenz
d6682190cc
[eric] browser: in-memory skill cache that distills tasks into replayable steps
2026-06-02 12:45:42 -07:00
ciregenz
69c4546735
[eric] browser: refine ghost detector so read tasks need returned content, not state change
2026-06-02 12:35:12 -07:00
ciregenz
a8964830ac
[eric] browser: record per-tool latency, tokens, and per-task completion metrics
2026-06-02 12:12:41 -07:00
ciregenz
ea823951c6
[eric] browser: loop test for WebMCP-detect and route list/replay tools
2026-06-02 04:15:08 -07:00
ciregenz
15781d2a3b
[eric] browser: list captured routes and replay safe GETs to skip the UI (tier 2)
2026-06-02 04:11:50 -07:00
ciregenz
6e006dd472
[eric] browser: detect a page's declared WebMCP tools (tier 1)
2026-06-02 04:03:10 -07:00
ciregenz
43ba7d2f1c
[eric] browser: unit and end-to-end loop tests for the new browser behaviors
2026-06-02 03:56:07 -07:00
ciregenz
82dcb6bb4e
[eric] browser: per-domain hints, deterministic stagnation, and aux-LLM fallback
2026-06-02 03:56:07 -07:00
ciregenz
63e321b9fa
[eric] agent: call out the literal "-" in the no-dashes voice rule
2026-06-01 15:48:23 -07:00
ciregenz
c89ba4dc30
[eric] agent: give the assistant a tight, quirky, no-dashes texting voice
2026-06-01 15:01:13 -07:00
ciregenz
3d65cacddf
[eric] tools: drop personal gmail from the connected-account comment example
2026-06-01 15:01:13 -07:00
eric
a3114367d9
[eric] merge: streaming cadence + live markdown + auth/devtools/browser fixes from dev
2026-06-01 11:55:38 -07:00
eric
bcb88ebefb
[eric] auth: dev-only /api/dev/token so the split-port frontend can authenticate (404s when packaged)
2026-06-01 11:55:17 -07:00
eric
5fdbc3ab79
[eric] router: revert dev pin to 0.3.60 (0.4.x adds an api auth gate that 401s our oauth/provider-sync calls, breaking every subscription connect); documented what porting the bump needs
2026-06-01 08:27:00 -07:00
eric
f40d3b3b95
[eric] router: bump dev 9router pin 0.3.60 -> 0.4.66 to test websearch rework + opus-4-8/gpt-5.5 sub routes (prod pin stays 0.3.60 until websearch verified live)
2026-06-01 08:12:35 -07:00
eric
4b3aa3eb8b
[eric] fix: revert enable_tool_search back to auto (forcing 1 marked tools defer_loading and 400'd the claude sub route on the defer_loading+cache_control combo)
2026-06-01 07:58:09 -07:00
eric
1a4a23f131
[eric] models: gemini 3.5 flash is api-key only since pinned 9router 0.3.60 has no gc/ route for it (verified against the 0.3.60 model registry); opus 4.8 cc/ confirmed via passthrough
2026-06-01 00:03:13 -07:00
eric
581503d1d3
[eric] models: drop gpt-5.3-codex + high/xhigh (superseded by gpt-5.5, high/xhigh were just effort variants not real models)
2026-05-31 23:59:59 -07:00
eric
aff1b5f5bb
[eric] models: add claude opus 4.8 (new flagship) + gemini 3.5 flash (GA), drop dead gemini-3-pro (shut down mar 9), verified against official anthropic/openai/google docs
2026-05-31 23:53:31 -07:00
eric
8d93e29321
[eric] agent: reframe identity as the user's personal digital company, drop coding emphasis
2026-05-31 23:38:53 -07:00
eric
979301db4d
[eric] agent: trim identity blurb to one OpenSwarm mention and a tighter line (79 tokens)
2026-05-31 23:37:26 -07:00
eric
5e4148ef3e
[eric] agent: make the identity blurb shorter, quirkier and less repetitive (mistaken-identity framing, one disavowal not three)
2026-05-31 23:33:13 -07:00
eric
1bccb24b54
[eric] agent: stop the assistant calling itself Claude Code by appending an identity override after the preset (keeps tools + cache, edit AGENT_NAME to rebrand)
2026-05-31 23:29:18 -07:00
eric
11b7d9b7a4
[eric] perf+ui: shrink runs chunks in parallel (5min -> ~1min) and shows a live pulsing label so users know its working
2026-05-31 18:50:46 -07:00
eric
56caabebbc
[eric] fix: popup uses full width and matches app surface, error toast no longer red wall, summarize chunks small enough for dense pdf tokenization
2026-05-31 18:40:33 -07:00
eric
1372130d28
[eric] fix: summarize big files by chunking when source exceeds aux model window then merging
2026-05-31 18:33:02 -07:00
eric
3dc8ff842a
[eric] fix: text attachment cap is all-or-nothing now, no half-files since partial confuses the model and the user
2026-05-31 18:24:38 -07:00
eric
0ed5457ca2
[eric] docs: record hardening precedences (compaction trims, ssrf is async loopback-allowed, ports must be stable)
2026-05-31 18:13:06 -07:00
eric
1035c50be3
[eric] perf: force enable_tool_search=1 on non-anthropic paths so schemas load on demand and first message is ~9k tokens cheaper
2026-05-31 18:06:39 -07:00
eric
0b35b70d0b
[eric] sec: wire ssrf guard into webfetch (per-redirect) and /api/web/fetch (initial)
2026-05-31 18:05:34 -07:00
eric
68b7aa9a94
[eric] sec: ssrf guard module (async dns, ipv6 covered, loopback allowed for app builder)
2026-05-31 18:04:16 -07:00
eric
c9d2005e0b
[eric] fix: cap combined inline text attachments at 1.5m chars so a pile of txt files cant silently blow the context window
2026-05-31 18:01:48 -07:00
eric
ecf348f9cb
[eric] fix: autocompact now actually trims the model's history instead of just showing a marker
2026-05-31 18:00:39 -07:00
eric
72e0bf4105
[eric] fix: vendor kirbah-mcp-youtube.js bundle (33mb, mostly googleapis) to skip npx on first run
2026-05-31 16:07:53 -07:00
ciregenz
4c6326a566
[eric] security: pin 9router to loopback so it stops lan-exposing api keys + tripping the firewall prompt
2026-05-29 22:17:26 -07:00
Eric
41031a7790
[eric] backend: load_settings never bricks boot on a corrupt or version-drifted settings.json - preserve unparseable files aside and drop only the invalid fields instead of raising, plus a migration test suite
2026-05-28 21:41:01 -07:00
Eric
e8fd9ceb5a
[eric] backend: add preflight_enabled (default true) and preflight_rollout_pct (default 100) to AppSettings so the runtime preflight can be killed per-install via the existing settings sync or staged 5/25/100 by the cloud cohort gate without a release
2026-05-28 02:49:06 -07:00
Eric
e8f32da42d
[eric] backend: pin the six previously-unpinned requirements (jsonschema, fastapi, pillow, httpx, trafilatura, tzlocal) to the exact versions baked into the last working packaged build so deps-pinned passes and reproducibility actually matches the header comment
2026-05-28 00:55:55 -07:00
Eric
2a4cb96ac0
[eric] docs: record the one-line-comment rule in the precedence list
2026-05-27 19:11:12 -07:00
Eric
c8e781cc83
[eric] build: make the python lock universal so the mac build stops trying to install windows-only pywin32
2026-05-27 12:28:40 -07:00
Eric
6a0e437c8c
[eric] build: freeze python deps in a hashed lock so pip cant sneak one in
2026-05-27 10:19:52 -07:00
Eric
9c1940077f
[eric] diagnostics: add backend.log, handle backend spawn failures, force utf-8 in executor sandbox
2026-05-26 20:25:31 -07:00
Eric
ca5d69301d
[eric] app builder: fix windows-built apps failing by always creating the workspace .env (the windows build dropped the .env.example it seeds from) and writing app files as utf-8 (windows cp1252 choked on arrows and chess pieces); stays on 1.1.69 to rebuild only the windows installer
2026-05-26 17:40:51 -07:00
Eric and Claude Opus 4.7
cf74ada3c2
[eric] auth: generate installation_id at backend startup so first-launch sign-in always has a non-empty install_id; bump 1.1.66
...
- installation_id was created lazily on the first analytics submission; 1.1.64 removed the workflows startup poller, which was the early backend ping that used to generate it, so on a clean install the sign-in window built its google/email oauth url with an empty install_id and the cloud rejected the start
- now generated in main.py at the same pre-bind moment as the auth token, so GET /api/settings carries it from the very first fetch (no dependency on analytics timing)
- idempotent uuid4 hex, only written when missing; lazy path kept as fallback; platform-agnostic so mac is unchanged except the id exists slightly earlier
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 12:25:31 -07:00