100 Commits
Author SHA1 Message Date
ciregenz 2c8ae9a3b8 [eric] agents: extraction-shaped handoffs and relayed refusals never reach the subscription lane (ENG-387) 2026-08-21 11:51:14 -07:00
ciregenzandClaude Fable 5 42e4f9116b [eric] agents: transport heals respawn the CLI on the same transcript instead of rebuilding it (ENG-382)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01En8dRGsJPLrJCQBEkTH4Mp
2026-08-21 00:20:04 -07:00
ciregenzandClaude Fable 5 295a7b52e2 [eric] agents: a policy block ratchets the recap down instead of bricking the chat (ENG-358)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01En8dRGsJPLrJCQBEkTH4Mp
2026-08-20 23:44:44 -07:00
ciregenzandClaude Fable 5 1f1ce09d7a [eric] agents: 401 needs auth context; answers can be blocks; quits forgiven (ENG-364/365)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01En8dRGsJPLrJCQBEkTH4Mp
2026-08-20 22:22:49 -07:00
ciregenz 3235324122 [eric] agents: a user's Stop or Close is final; no watchdog resend, disk reload, read, or late-booting child revives the card 2026-08-20 19:39:33 -07:00
ciregenz 10bca6ba17 Revert "[eric] browser: a card the renderer parked is slow, not dead; parallel agents no longer ghost"
This reverts commit 6ed6206c7b.
2026-08-20 16:13:50 -07:00
ciregenzandClaude Opus 5 6ed6206c7b [eric] browser: a card the renderer parked is slow, not dead; parallel agents no longer ghost
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 15:50:55 -07:00
ciregenzandClaude Opus 5 ea04b1da11 [eric] agents: one provider verdict per ask, and a spent plan is never sold as a short wait
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 15:08:12 -07:00
ciregenzandClaude Opus 5 e5e8da37ac [eric] agents: a provider's error never reaches the user as the agent's own words
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 12:22:34 -07:00
ciregenzandClaude Opus 5 0f2543db65 [eric] agents: a finished turn always leaves the user something to read
Every silent-stop fix so far was a detector for a shape somebody had already
found in the field, which is why the class kept coming back wearing a new hat.
turn_spoke.py moves the question down a tier: at the one exit every terminal
path passes through, ask whether anything readable appeared since the user last
spoke, and if not, say the honest line. Cause no longer has to be enumerated for
the user to be answered.

proactive_prune.py is the hermes trigger we were missing. Their own tests say
our bug out loud: on a large window, a percentage-of-window compaction check
almost never fires, so aged tool output rides in history and is re-sent verbatim
every turn. Measured here, our shaping cut 0.0% at every session size; with a
fixed 60K-token cost trigger it cuts 88% at 12 turns, 93% at 30, 94% at 60. The
prompt-cache contract is load-bearing rather than optional, because our prune is
a rebuild: it commits only when it reclaims enough to pay for the busted prefix,
then disarms until history has regrown a full runway.

Also: lane preflight now treats only 401/403 as a dead credential, since
testStatus=="unavailable" conflated a throttled lane with a revoked one and told
users to reconnect a merely rate-limited Gemini; and awaiting_reconnect is
cleared when the retry budget is spent, so a stale flag can no longer muzzle the
floor and end an ask in total silence.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 11:36:34 -07:00
ciregenzandClaude Opus 5 9a7570092f [eric] agents: never spend a turn on a lane the router gave up on, and stop our own retries stacking cards
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 09:20:46 -07:00
ciregenzandClaude Opus 5 58e376496e [eric] agents: an outage parks the turn and resumes when the provider answers; OAuth connects survive a backend restart
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 08:39:41 -07:00
ciregenzandClaude Opus 5 d5934b1da1 [eric] agents: no turn ends silent, and a codex 401 waits out the rotation window
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 07:21:00 -07:00
ciregenz 4be2f10d02 [eric] agents: every sub lane self-heals a mid-run token expiry before any card; codex retries wait out the rotation window instead of burning the one shot inside it 2026-08-19 17:24:23 -07:00
ciregenz 7e3a98e315 [eric] agents: a turn cut off by a dirty exit auto-resumes at boot, gated by a consecutive-crash breaker; a clean Cmd+Q keeps the manual chip (hermes #30719 pairing) 2026-08-19 15:36:01 -07:00
ciregenz 108287eda4 [eric] agents: provider content-policy blocks are terminal (no snag flicker), recap-bearing sessions get ONE recap-free retry, and the recap reads first-person instead of a User:/Assistant: transcript that trips distillation filters (Alex's bricked chats) 2026-08-19 14:07:29 -07:00
ciregenz a66b0b0eaa [eric] agents: a REPEAT silent quit compacts from a 40% floor; Haik's opus-5 quits at ~149K, under the 180K trigger, so the band fix alone missed his storms (ENG-354) 2026-08-19 11:32:29 -07:00
ciregenz ab4d7b2db7 [eric] streaming: stream frames stop riding the dashboard socket and the backgrounded chat batches to 1Hz (ENG-329) 2026-08-16 20:52:51 -07:00
ciregenz a81958acb9 [eric] agents: first expired-token failure heals itself (fresh CLI + one hidden retry); the reconnect banner is the second rung (ENG-294) 2026-08-16 02:06:33 -07:00
ciregenz 156c6092a3 [eric] agents: an auth blip mid-run refreshes and resumes once instead of dying at the reconnect banner 2026-08-14 10:40:20 -07:00
ciregenz fc09059595 [eric] agents: the final silent-quit nudge runs with zero tools, so ignoring 'stop calling tools' is no longer possible (ENG-291) 2026-08-13 01:14:04 -07:00
ciregenz 14d4a71e15 [eric] agents: a TLS certificate failure is non-transient and says so, instead of burning 335s of retries on a broken cert chain 2026-08-09 12:51:02 -07:00
ciregenz 0592437941 [eric] memory: agents get MemoryRead/MemoryWrite (atomic batch, overflow-consolidate protocol) and the prompt block freezes per session, hermes-agent style 2026-08-09 08:52:30 -07:00
ciregenz 4ac57967ff [eric] agents: the last silent-quit nudge demands a text answer instead of more work, and an exhausted budget says so in the chat 2026-08-08 22:35:41 -07:00
ciregenz c6a0c1f34b [eric] telemetry: silent-recovery rows carry journey context, and packaged builds stop shipping test files 2026-08-07 06:35:20 -07:00
ciregenz bbf086329f [eric] agents: a router-down turn names its cause instead of dying unclassified, found by the forced-failure battery 2026-08-07 06:23:45 -07:00
ciregenz 2b6178c12e [eric] telemetry: crumbs at every spawn phase and stream milestone, envelopes carry journey and auth context 2026-08-07 00:02:29 -07:00
ciregenz 792605e530 [eric] telemetry: OSW_FLIGHT=0 kill switch for the recorder 2026-08-06 23:36:53 -07:00
ciregenz d082af7e03 [eric] telemetry: envelopes get real concurrency via a sessions provider, every turn opens with a baseline crumb 2026-08-06 22:57:53 -07:00
ciregenz 86e323cbce [eric] telemetry: per-session flight recorder, error envelopes name cause+lane+phase+crumbs, silent recoveries hit the ledger 2026-08-06 22:39:30 -07:00
ciregenz 7c3999d779 [eric] agents: a self-healing reset-window 401 retries silently instead of flashing the reconnect card 2026-08-06 20:58:42 -07:00
ciregenz dbade1b25e [eric] agents: a turn whose router died mid-flight re-ensures it and resumes instead of a terminal snag 2026-08-06 20:50:13 -07:00
ciregenz 1b2203fa75 [eric] boot: anthropic and the sdk+mcp chain leave the import graph, api-ready median 2531 to 1843ms, hooks re-import at call time 2026-08-06 16:33:22 -07:00
ciregenz 42103a4e23 [eric] agents: launch honors its prompt instead of silently dropping it, spawn phases log their trail (the ENG-131 ghost hang) 2026-08-06 15:19:02 -07:00
ciregenz b6f8fbb5ef [eric] agents: silent-quit re-nudges are earned by new tool work, capped at 3, stalls surface honestly (ENG-121 family) 2026-08-05 20:10:54 -07:00
ciregenz cc50fda07b [eric] agents: a silent-quit turn gets one hidden continue nudge, and the context meter reads real context not summed billing 2026-08-03 20:12:50 -07:00
ciregenz 9eef9d6a1d [eric] agents: a context overflow now compacts and retries once instead of dying, and never fakes a completed 2026-08-03 15:24:11 -07:00
ciregenz fb3ec15105 [eric] merge: bring eric/dev onto the browser v3 branch (7 conflicts resolved, gates green) 2026-08-02 16:14:53 -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 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 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 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 3d5c287139 [eric] merge: bring eric/browser onto eric/dev (30 conflicts resolved, gates green) 2026-07-30 13:18:11 -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 e16255e06a [eric] agents: classify bundled-CLI-missing errors + unwrap exception groups to the real cause 2026-07-28 15:49:59 -07:00
ciregenz 078daf83a1 [eric] merge: bring eric/onboarding up to date with eric/dev 2026-07-19 23:11:56 -07:00
ciregenz 74309a7cef [eric] agents: read-only session flag for the unattended onboarding audit (Edit/Bash hard-blocked) 2026-07-19 12:07:00 -07:00
ciregenz 68b079cc5e [eric] ws: slim status frames, cross-socket dedupe, REST-seeded resume cursor, closed-only history 2026-07-17 11:11:35 -07:00