ciregenz
|
706a93e0e9
|
[eric] browser: prefill [ so the plan aux can't waffle in prose (caught live) + read-script skips the settle-retry on results lists
|
2026-07-16 16:02:41 -07:00 |
|
ciregenz
|
e6b6d1a1a0
|
[eric] browser: prestage runs perceive-only for read tasks when plan-dispatch owns the click-through (its aux asks measured ~2s of nothing there)
|
2026-07-16 15:51:47 -07:00 |
|
ciregenz
|
15edeee9fe
|
[eric] browser: prestage overrules READY once on a results-list URL (aux stalled at search 2/4 cold runs; deterministic, fail-open)
|
2026-07-16 15:35:55 -07:00 |
|
ciregenz
|
77181665c5
|
[eric] browser: read-script answers a read task from the staged authed page in one aux call (answer-or-INSUFFICIENT, fail-open)
|
2026-07-16 15:06:49 -07:00 |
|
ciregenz
|
80ccdfc76e
|
[eric] browser: skip plan-dispatch when the send composer is already staged (4.7s of aux poking for nothing)
|
2026-07-16 14:35:08 -07:00 |
|
ciregenz
|
72ddb07b59
|
[eric] browser: mid-loop post-fill code-send (model types, code finishes the send + verifies), so un-quoted sends skip the ~3-4 stale-Send-button turns
|
2026-07-15 20:02:57 -07:00 |
|
ciregenz
|
2357111ac8
|
[eric] browser: skip the blocking candidate scan on send tasks (it never ranks candidates for a message/reply, so it was ~4s of dead first-turn latency)
|
2026-07-15 19:30:17 -07:00 |
|
ciregenz
|
32215136d2
|
[eric] browser: model-written send confirmation (cheap aux call, validated + fail-open to template) instead of a hardcoded line
|
2026-07-15 19:14:31 -07:00 |
|
ciregenz
|
37d4cf23f5
|
[eric] browser: friendly non-dev send confirmation ('Done, I sent "X" for you' vs 'the send registered and the composer cleared')
|
2026-07-15 19:07:15 -07:00 |
|
ciregenz
|
3a9474e77d
|
[eric] browser: cap+timeout the candidate scan (kill the 8s empty-scan idle) + send-script enables prestage opener (fixes ~50% fire-rate miss on search-page landings)
|
2026-07-15 18:26:52 -07:00 |
|
ciregenz
|
449f66057d
|
[eric] browser: scope broadened submit vocab to the receipt-gated send-script; keep the always-on Send hint tight (broadening it regressed the default config with the send-script off)
|
2026-07-15 16:22:10 -07:00 |
|
ciregenz
|
5196ba77e3
|
[eric] browser: fire the 'from a previous visit' recall line only on a LEARNED playbook, not a shipped seed (else a first visit to a seeded site lies)
|
2026-07-15 15:46:35 -07:00 |
|
ciregenz
|
efb84daefc
|
[eric] browser: unknown-model fallback resolves a capable (sonnet) tier, not haiku (browser is agentic; haiku 50.7% vs sonnet 72.5% OSWorld)
|
2026-07-15 14:26:05 -07:00 |
|
ciregenz
|
9b7b972fef
|
[eric] browser: retract haiku loop-pin recommendation (OSWorld 50.7% vs sonnet 72.5%; per-turn speed is the wrong metric; fewer-turns is the real, provider-agnostic cold lever)
|
2026-07-15 14:18:11 -07:00 |
|
ciregenz
|
06744e39c4
|
[eric] browser: +12 seed sites & write-mechanics; correct loop-tier comment (Haiku is the ~2x lever, not Sonnet, measured n=10)
|
2026-07-15 13:49:58 -07:00 |
|
ciregenz
|
1e68aa5d7b
|
[eric] browser: send-script completes on X/IG/FB (submit-button vocab beyond LinkedIn Send)
|
2026-07-15 11:54:49 -07:00 |
|
ciregenz
|
1f74cc13de
|
[eric] browser: general capture-replay write tier (site's own captured route, same-origin + gated, default off)
|
2026-07-14 23:47:17 -07:00 |
|
ciregenz
|
d445543430
|
[eric] browser: wire BrowserApiWrite agent tool + robust Reddit write receipt
|
2026-07-14 23:27:39 -07:00 |
|
ciregenz
|
329209259b
|
[eric] browser: dry-run terminates the browser run with a grep-stable [dryrun-report] gate line (a dry-run decline falling through to the model loop could perform the REAL send the flag exists to avoid, and a loop rescue would contaminate gate attribution); inert when the flag is off; +2 tests
|
2026-07-09 16:26:15 -07:00 |
|
ciregenz
|
7de724c930
|
[eric] browser: fix the 2 warm-marriage replay bugs = (1) 'Send a message to X' opener no longer trips the replay send-boundary (it opens the composer, reversible), (2) marriage replays NAV+opener only and hands composer->send to the send-script (which polls the lazy overlay), instead of replaying a composer-textbox click that races the render; 4 tests
|
2026-07-08 23:39:19 -07:00 |
|
ciregenz
|
8dcf4b4ae0
|
[eric] browser: skip prestage when a learned skill exists for the host+task (the replayed prefix owns the nav; prestage would aux-drive the same path for ~8-12s first); skill key hoisted above the gate so skip + replay share one derivation
|
2026-07-08 23:22:25 -07:00 |
|
ciregenz
|
3257caafe4
|
[eric] browser: warm-write marriage (OSW_REPLAY_SENDTAIL, default off) = a learned send-skill's replayed prefix hands its post-nav state to the verified send-script tail, so a warm write completes with ZERO model turns; also fixes prefix steps missing from action_log (warm re-record was clobbering the skill with a tail-only version); zero-LLM e2e test
|
2026-07-08 23:20:07 -07:00 |
|
ciregenz
|
eae31e744f
|
[eric] browser: fold page text into the auto-attached post-action state (OSW_FOLD_TEXT, default off) = after any action the model has BOTH clickable elements AND readable text, so it stops double-perceiving (measured: 52% of tool calls are perception, ~half redundant list+GetText pairs, the biggest untouched turn-cost)
|
2026-07-08 17:08:16 -07:00 |
|
ciregenz
|
e0162779a7
|
[eric] browser: gate document-order display behind OSW_DOC_ORDER (default on) so the A/B can measure it against legacy rank-order; 14 ranking tests
|
2026-07-08 14:57:24 -07:00 |
|
ciregenz
|
f238fbfce9
|
[eric] browser: code-side plan dispatch (OSW_PLAN_DISPATCH, default off) = one aux call compiles the task's mechanical prefix into verified steps, code executes them resolve-late+verified, the big model starts with that work done; irreversibles refused in the PARSER, fail-open everywhere; the turn-collapser that doesn't wait for model tool adoption (0/3 A/Bs), 4 tests
|
2026-07-07 23:13:41 -07:00 |
|
ciregenz
|
02fee0983e
|
[eric] browser: evict only AGENT-SPAWNED cards (a wedged USER card must never be deleted out from under the user; unverifiable ownership = no delete, reuse-skip is the remedy); caught in the downstream-risk review, 3 tests
|
2026-07-07 23:04:09 -07:00 |
|
ciregenz
|
aa752303cd
|
[eric] browser: verified-action executor = resolve-late resolver + act/verify/re-aim step loop + BrowserActVerified tool (model emits 2-4 dependent click/fill steps in ONE turn, code resolves each by name against the live page, verifies the specific effect, re-aims once; irreversible targets refused in code, solo-send rule unchanged); 16 unit + 1 loop-interception test
|
2026-07-07 22:42:39 -07:00 |
|
ciregenz
|
c423517a9f
|
[eric] browser: close the evict->remount race (wait for the dead webview's teardown to land before recovery spawns its replacement; live-observed the recovery card still capped once when it mounted next to a still-freeing dead one); failure-path-only wait, invisible next to the 15s cap it prevents
|
2026-07-07 17:56:38 -07:00 |
|
ciregenz
|
3123e9a1b4
|
[eric] browser: evict a dead card's webview BEFORE recovery spawns a fresh one (the recovery-card wedge: two heavy pages starve the renderer event loop; unmounting the wedged one leaves the recovery card the only heavy neighbor); immediate removeBrowserCard (no fade/keep-pill) + layout drop, gated by OSW_DEADCARD_EVICT, 2 tests
|
2026-07-07 17:20:57 -07:00 |
|
ciregenz
|
b60f0b94aa
|
[eric] browser: wrong-target detectability probe = the click hit-test now reports WHAT element was actually under the click point, so a click that lands on the wrong element (occluded/stale/moved, and still changes the page) is finally measurable, the failure a page-change metric can't see
|
2026-07-07 16:47:47 -07:00 |
|
ciregenz
|
8f2565e027
|
[eric] browser: thread self-heal + click-effect metric into BATCH sub-clicks too (most clicks are batched; gating only top-level click_index measured ~none of them) + scan batch sub-results for the telemetry
|
2026-07-07 15:41:07 -07:00 |
|
ciregenz
|
f54f474de7
|
[eric] browser: click-effect metric (measure before fixing) = fingerprint the page before/after a click to catch the INVISIBLE failure the tool-error counter misses (a click that succeeds but hits the wrong/dead element = nothing changes); flag-gated OSW_CLICK_EFFECT_PROBE, zero cost off, 3 unit tests
|
2026-07-07 15:33:33 -07:00 |
|
ciregenz
|
522b55f2c8
|
[eric] browser: log self-heal click recoveries for the A/B (backend can't see the renderer console.log)
|
2026-07-07 15:07:12 -07:00 |
|
ciregenz
|
5ca7308fa5
|
[eric] browser: self-healing click (Phase 1) = a failed cached-index click auto-escalates to fresh by-name resolution in-code before the model ever sees the error (stale index = ~half of all runs' tool-errors, each costs a ~3s re-strategize turn); error-triggered so no double-act, OSW_SELFHEAL_CLICK=0 kill switch, 5 unit tests
|
2026-07-07 15:05:41 -07:00 |
|
ciregenz
|
b03cb53795
|
[eric] browser: send-script receipt=False must NOT set send_confirmed (r264 set it unconditionally, so an unverified send let the model FALSELY claim delivery); only a cleared-composer receipt confirms
|
2026-07-07 12:06:48 -07:00 |
|
ciregenz
|
f3102496b2
|
[eric] browser: send-script surface-gate = fire only on full-page /messaging/ composers, decline the profile overlay (live A/B r246-r251: firing on the overlay ran 4x slower + 1/3 vs 3/3 delivery, net-negative; only /messaging/thread/ has a listable Send)
|
2026-07-07 03:09:54 -07:00 |
|
ciregenz
|
91a17548d1
|
[eric] browser: send-script two-wall fix caught live (fired on a read-only probe + never fired on real sends): payload from RAW user prompt not brief-polluted composed task, read-only directives decline in code; 2 red-then-green tests
|
2026-07-07 02:26:24 -07:00 |
|
ciregenz
|
14feb03da8
|
[eric] browser: staged-send script (code runs fill/verify/send/verify when prestage leaves a ready composer; OSW_SEND_SCRIPT, default off)
|
2026-07-06 22:27:54 -07:00 |
|
ciregenz
|
8e571e1bc7
|
[eric] browser: receipt-done requires two-sided evidence (fill seen committed + composer seen cleared); r228 proved click-name alone can lie
|
2026-07-06 15:31:06 -07:00 |
|
ciregenz
|
ad9bb8439e
|
[eric] browser: cut send-path waits (composer-fill poll 6s->2.4s after 3/3 full-timeout misses; skip the 4s text-confirm on send-class clicks the receipt already proves)
|
2026-07-06 15:22:53 -07:00 |
|
ciregenz
|
bba6b74d76
|
[eric] browser: receipt-done (clean send click ends the run in code, no Done turn) + staged-run two-tool script hint
|
2026-07-06 14:45:48 -07:00 |
|
ciregenz
|
1cc4dbc5d0
|
[eric] browser: flip speed levers default-ON (hop/prestage/trim/evict, kill switch =0); conftest pins them off for the mocked suite
|
2026-07-06 14:12:34 -07:00 |
|
ciregenz
|
c4d83192c4
|
[eric] browser: OSW_PRESTAGE aux-driven nav pre-stage (nav/click-only, irreversible clicks refused in code) so the big loop wakes staged
|
2026-07-05 20:06:06 -07:00 |
|
ciregenz
|
28cdb361e9
|
[eric] browser: flag-gated speed levers (OSW_FASTREAD_HOP one-link follow, OSW_PRELUDE_TRIM mount-poll + nav-skip, OSW_DEADCARD_EVICT) + de-prefix learn_tasks
|
2026-07-05 17:53:39 -07:00 |
|
ciregenz
|
20834d7c11
|
[eric] browser: stream the loop LLM call so tool-use works on ALL providers (gemini/openrouter/antigravity were silently broken via 9router SSE)
|
2026-07-03 04:21:15 -07:00 |
|
ciregenz
|
240d1a4313
|
[eric] browser: V7 flag-gated loop-tier pin (fast-capable, fail-safe) + V3 auto-state cap 35->60
|
2026-07-03 03:24:31 -07:00 |
|
ciregenz
|
37a640657e
|
[eric] browser: parallel front-load reads, background tail distill, fix aux primary_api
|
2026-07-03 02:49:48 -07:00 |
|
ciregenz
|
8eb48dfc42
|
[eric] app-use: strip pierre's transient [app-agent] trace scaffolding + write-only controls cache (no speculative scaffolding)
|
2026-06-29 23:03:45 -07:00 |
|
ciregenz
|
1b6d747326
|
[eric] merge #107 (pierre): app-use OPENSWARM_APP bridge + AppAgent
# Conflicts:
# electron/main.js
# frontend/src/app/pages/Views/ViewPreview.tsx
|
2026-06-29 21:34:11 -07:00 |
|
ciregenz
|
e57bc06c9f
|
[eric] browser: tag agent-spawned + pasted browser cards with their home dashboard (were untagged, bled onto all dashboards)
|
2026-06-26 05:01:44 -07:00 |
|