ciregenz
|
49e935e3bd
|
[eric] browser: a send may only claim success on evidence, and every completion is composed not templated
|
2026-07-28 14:05:00 -07:00 |
|
ciregenz
|
9e11f128d3
|
[eric] browser: login-once handoff (pause on wall, sign in once, remember the site)
|
2026-07-23 17:14:14 -07:00 |
|
ciregenz
|
10f9c12a8a
|
[eric] browser: submit picker below-composer scope + container tier; readonly guard sealed
|
2026-07-21 21:02:55 -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
|
424ff22ce3
|
[eric] test: fix compose-confirmation test (asyncio.run, no leading-underscore attr)
|
2026-07-15 19:15:02 -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
|
7edb81a6cc
|
[eric] test: warm-send summary assert case-insensitive for the friendly confirmation
|
2026-07-15 19:09:18 -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
|
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
|
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
|
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
|
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
|
bb31d359ee
|
[eric] analytics: retire the old session-snapshot cloud path (sync_session_close); full transcript + classification now come from Haik's per-message product-analytics bridge, and it was 413ing the 100KB /sync edge
|
2026-06-25 03:40:35 -07:00 |
|
ciregenz
|
36626be089
|
[eric] backend: one-line comments + collapse blank runs across backend root + tests (AST-verified, 1 test skipped: embedded #-lines)
|
2026-06-25 03:04:16 -07:00 |
|
ciregenz
|
6721c39719
|
[eric] backend: leading-_ -> p_/public for remaining module-level fns/classes/consts + test helpers across apps + tests (p-private 0, 1441 green)
|
2026-06-23 21:30:47 -07:00 |
|
ciregenz
|
621a2c661f
|
[eric] tests: leading-_ -> p_ for function-local vars/args/nested-fns + import aliases across 56 test files (scope-aware AST rename)
|
2026-06-23 21:22:57 -07:00 |
|
ciregenz
|
a407e6578f
|
[eric] dashboards+modes: leading-_ -> p_/public; promote cross-file public (load/save/load_all/migrate_if_needed/strip_orphan_session_cards), fix qualified test refs
|
2026-06-23 20:47:13 -07:00 |
|
ciregenz
|
1767389cbb
|
[eric] browser: leading-_ -> p_/P_/public for module functions+constants+state across browser subsystem; promote cross-file symbols public (detect_loop, BROWSER_HISTORY, TRUSTED, etc.), align analyze-browser-metrics.py + tests
|
2026-06-23 19:37:40 -07:00 |
|
ciregenz
|
394dcd7492
|
[eric] agents: leading-_ -> p_/public in providers+core+tools (registry/pricing/seq_log/mcp_preflight/openai_passthrough/web/ssrf_guard); promote cross-module fns public, fix monkeypatch string refs
|
2026-06-23 18:39:11 -07:00 |
|
ciregenz
|
751bb77032
|
[eric] agents: publicize cross-mixin members (p_run_agent_loop, p_build_mcp_servers, etc.) + safe_resp_text so the decomposition passes p-private
|
2026-06-23 16:44:41 -07:00 |
|
ciregenz
|
0f94f3feaf
|
[eric] agents: fix 6 callers of renamed p_ methods (browser_agent/agents/main) that the suite masked
|
2026-06-23 11:30:07 -07:00 |
|
ciregenz
|
bfcad98b76
|
[eric] browser: BrowserSaveData writes a big page dataset to one sandboxed file, ending the dispatch-per-chunk waste
|
2026-06-09 02:05:26 -07:00 |
|
ciregenz
|
9eb0e2cb2b
|
[eric] browser: new gathered data resets the spin backstop, so a page-by-page gather runs to completion instead of getting cut with partial results
|
2026-06-08 23:47:26 -07:00 |
|
ciregenz
|
ba41409577
|
[eric] browser: spin backstop nudges a clean Done wrap-up, not a mid-thought cutoff
|
2026-06-08 23:26:15 -07:00 |
|
ciregenz
|
438d1e36d4
|
[eric] browser: arm the send-completion shortcut only for send tasks, not gathers (cookie click faked a send)
|
2026-06-08 23:02:55 -07:00 |
|
ciregenz
|
07f911d200
|
[eric] browser: a clean success needs an explicit Done; recognize gather asks, steer them to BrowserExtract
|
2026-06-08 22:37:33 -07:00 |
|
ciregenz
|
91073becec
|
[eric] browser: finish via a Done(message) tool so the user gets a plain conversational reply, not the OUTCOME tag
|
2026-06-08 22:15:52 -07:00 |
|
ciregenz
|
8d9c75803c
|
[eric] browser: restore the Send-button handoff (points the model at the Send index after a fill); deleting it brought the Send-hunt back, it was NOT redundant with the wait
|
2026-06-08 00:58:38 -07:00 |
|
ciregenz
|
f8c812353e
|
[eric] browser: agent writes a plain human final message (no UI jargon/OUTCOME mechanics); delete the leaky send-ready advisory, dead prefix flag, and humanize aux experiment
|
2026-06-08 00:09:50 -07:00 |
|
ciregenz
|
d5fc146123
|
[eric] browser: never leave a tool_use unanswered (backfill mid-turn + validate both directions) so a 30s upstream reset stops 400-killing the run
|
2026-06-07 23:04:59 -07:00 |
|
ciregenz
|
7ec05613fe
|
[eric] browser: hand the Send button to the model after a composer fill, and commit to an already-open thread instead of re-verifying
|
2026-06-07 19:28:51 -07:00 |
|
ciregenz
|
1204e733b5
|
[eric] browser: stall backstop only fires after a real action, never cuts short early orientation
|
2026-06-07 19:12:43 -07:00 |
|
ciregenz
|
889c7707e4
|
[eric] browser: a confirmed send ends the run, no more stalling to re-verify what the confirm proved
|
2026-06-07 18:52:20 -07:00 |
|
ciregenz
|
a54b4c0452
|
[eric] browser: run the action and remind on a missing ReportProgress instead of rejecting the turn
|
2026-06-07 18:19:39 -07:00 |
|
ciregenz
|
59658ddb46
|
[eric] browser: strip orphan surrogates from webview text so emoji pages don't crash a turn
|
2026-06-06 22:06:07 -07:00 |
|
ciregenz
|
4664065767
|
[eric] browser: converge speed-lever A/B, ship the winners, cut the dead-end flags
|
2026-06-06 18:29:03 -07:00 |
|
ciregenz
|
6380480502
|
[eric] browser: on a recoverable error (stale index/occlusion) attach fresh page state so the model recovers in one turn, never retries the action
|
2026-06-06 18:03:52 -07:00 |
|
ciregenz
|
5741e8f946
|
[eric] browser: endgame helper locates Send after a composer fill (never clicks it), behind OSW_BROWSER_COMPOSE_HELPER
|
2026-06-06 12:41:08 -07:00 |
|
ciregenz
|
9972171c05
|
[eric] browser: cheap-model laps behind OSW_BROWSER_CHEAP_LAPS, escalate to primary at the irreversible endgame
|
2026-06-06 12:32:04 -07:00 |
|
ciregenz
|
581af5b128
|
[eric] browser: auto-dismiss junk interstitials (cookie/upsell/coachmark) by generic close-vocabulary, conservative
|
2026-06-06 12:05:37 -07:00 |
|
ciregenz
|
e37ba6c66b
|
[eric] browser: skill recording judges the task ask, OUTCOME boilerplate no longer blocks learning
|
2026-06-05 13:09:02 -07:00 |
|
ciregenz
|
99bd15fdb1
|
[eric] browser: attached page state shrinks to changed rows, unchanged indices stay valid
|
2026-06-05 11:14:13 -07:00 |
|
ciregenz
|
20e1558d70
|
[eric] browser: auto-settle mutating actions and attach fresh page state to results, act and see in one turn
|
2026-06-05 09:35:51 -07:00 |
|
ciregenz
|
65427f33a0
|
[eric] browser: reuse the parent's same-host card on re-dispatch, stacked webviews wedge each other
|
2026-06-05 01:38:58 -07:00 |
|
ciregenz
|
262d48ff6c
|
[eric] browser: refuse zero-LLM replay of send/submit skills, the live agent confirms those instead
|
2026-06-05 00:54:31 -07:00 |
|
ciregenz
|
9b6e45f365
|
[eric] browser: act-and-confirm, declare the expected change and verify it instead of assuming
|
2026-06-04 15:14:58 -07:00 |
|