ciregenz and Claude Opus 5
771a7243b0
[eric] agents: a silent quit rebuilds only when the rebuild would buy something (ENG-354)
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018foyDoK19jjbYdudfzQVkZ
2026-08-21 10:29:56 -07:00
ciregenz and Claude Fable 5
de70e9fe79
[eric] agents: a subscription-lane policy block fails over to the user's own API key (ENG-383)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01En8dRGsJPLrJCQBEkTH4Mp
2026-08-21 00:20:05 -07:00
ciregenz and Claude 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
ciregenz and Claude Fable 5
a4be8c469f
[eric] agents: the recap carries no model text, nudges are short and unlabeled (ENG-358)
...
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
ciregenz and Claude 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
ciregenz and Claude 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 and Claude 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
ciregenz and Claude Opus 5
7c04c755ae
[eric] agents: an invisible thinking pill no longer breaks the repeat-card dedup
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014wtspwSFzZmjCx9UNPAorQ
2026-08-20 12:32:14 -07:00
ciregenz and Claude 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
ciregenz and Claude 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
ciregenz and Claude 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
ciregenz and Claude 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
8c482aa351
[eric] agents: the session recap moves to the SYSTEM channel; history-as-user-text was the anti-distillation filter's exact target shape and no rewording made it safe (ENG-358 structural fix)
2026-08-19 15:29:09 -07:00
ciregenz
da3c1be6ca
[eric] agents: the recap-free policy retry arms on ANY fresh-session recap, not just post-compaction; the packaged drill caught the gate firing never (ENG-358)
2026-08-19 15:10:51 -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
39d8da2697
[eric] agents: a vanishing quit (nothing persisted) on a session that already silent-quit is claimed and compacted; the poke-storm hole the one-for-one repro exposed (ENG-354)
2026-08-19 11:41:02 -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
16b8f21177
[eric] agents: a silent quit at high context compacts history and goes fresh before the nudge; re-sending the bloat just burned a nudge (ENG-354)
2026-08-18 21:17:57 -07:00
ciregenz
82a9860eaa
[eric] agents: pip installs stop no-oping (bundle PYTHONPATH shadow stripped from agent env) and agents self-serve deps instead of nagging (ENG-347)
2026-08-18 19:04:56 -07:00
ciregenz
86e3df51c3
[eric] agents: a core MCP server that never connects rebuilds the session instead of leaving it toolless (ENG-303)
2026-08-14 17:35:27 -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
67f787e5c7
[eric] client-pool: seal the boot fingerprint against object identity, so a future opaque option cannot respawn every turn (ENG-179)
2026-08-13 04:07:14 -07:00
ciregenz
b2eef18069
[eric] template: declare pydantic, httpx and uvicorn instead of riding fastapi's extras, with a general undeclared-import check (ENG-287)
2026-08-13 02:09:36 -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
62e707293e
[eric] models: retire the free tier (nothing mints it, existing installs migrate off) and drop the silent mid-run pin to Haiku it carried; pull Fable, which was selectable and never worked
2026-08-11 21:00:38 -07:00
ciregenz
a28268bab9
[eric] agents: an unclassified turn failure arms a fresh CLI session, so a chat bricked on "hit a snag" heals on the user's own next send instead of needing a manual branch (ENG-258)
2026-08-11 19:43:54 -07:00
ciregenz
7297b0a8e3
[eric] agents: the CLI's own auto-memory is disabled on every spawn, so memories stop landing in per-chat buckets and MemoryRead/MemoryWrite on the shared store is the one memory surface
2026-08-09 19:53:14 -07:00
ciregenz
b47ad9c60f
[eric] agents: active time is stall-capped inter-event work, so one wedged turn can't book 54 hours of 'agent time'
2026-08-09 14:08:34 -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
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
4faba74d55
[eric] agents: every builtin tool server rides ONE process per chat, and the gate enumerates its grants instead of wildcarding
2026-08-08 12:59:50 -07:00
ciregenz
01e295ac5c
[eric] agents: parked CLIs die at 10 minutes and the warm cap drops to 8, cutting the measured 1.3GB idle ceiling roughly in half
2026-08-07 21:10:44 -07:00
ciregenz
21e1400e3c
[eric] telemetry: a silent quit carries the same envelope as a hard error, found by reading the sink
2026-08-07 12:27:38 -07:00
ciregenz
42b14165d5
[eric] telemetry: the missing-CLI error card carries a flight envelope, and a test keeps every error family honest
2026-08-07 07:25:57 -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
260d5a3de3
[eric] agents: the CLI's silent provider-500 retries become breadcrumbs and near-miss ledger entries
2026-08-07 05:39:46 -07:00
ciregenz
ef8806eda3
[eric] latency: a short first message no longer drifts the boot fingerprint, so the pre-warmed CLI is actually used (3.92s -> 1.58s median, 0 wasted spawns)
2026-08-07 00:34:54 -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
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
565009f0c5
[eric] telemetry: auth and overflow errors carry flight envelopes, router revives hit the near-miss ledger
2026-08-06 22:42:48 -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
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
8042da10da
[eric] agents: the CLI pre-warms while the user types, first-turn answer median 2.42s to 1.23s, one spawn per session enforced
2026-08-06 15:50:32 -07:00
ciregenz
bd822c16ed
[eric] agents: spawn-phase logs carry monotonic ms stamps so a turn's latency attributes itself from one grep
2026-08-06 15:31:03 -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
b29c75d5e0
[eric] agents: crossing the compact threshold now actually trims next turn, and a pasted log can't ride the recap back over the wall
2026-08-03 15:47:18 -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