ciregenz and Claude Fable 5.1
9bdd45f791
[eric] policy: a block on Opus 5 finishes the ask on Opus 4.8 on the same lane before touching the user's key, one failover per ask; fleet 14 days: 78 blocks on opus-5, 0 on opus-4-8
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-07 18:32:56 -07:00
ciregenz and Claude Fable 5.1
5d5a58fc29
[eric] pro: a pool with nothing to serve with ends the turn with a card that names OpenSwarm Pro and the way around it, instead of parking the chat 21 minutes as a transient; the probe reports it too (ENG-462)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-07 10:23:59 -07:00
ciregenz and Claude Fable 5.1
053cac99bb
[eric] health: a chat resumes on a healed login only if it died in this run of the app; the fault kit takes a fire budget so a drill can watch a lane come back; the exp.9 notes carry the week
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-06 21:01:51 -07:00
ciregenz and Claude Fable 5.1
da56b2cd1a
[eric] auth: a dead login heals itself: renewed before expiry, a turn's 401 advances the verdict, the retry pushes the pill, a reconnect resumes the chats; preflight never restarts the router
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-06 15:55:26 -07:00
ciregenz and Claude Fable 5.1
377c5f3a69
[eric] agents: a CLI that died between turns is respawned and resumed instead of carded on every send; a crash signal is named on the exhausted card
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-03 17:45:29 -07:00
ciregenz and Claude Fable 5.1
48886e4746
[eric] providers: an Anthropic key that spans workspaces sends anthropic-workspace-id on every lane, with a Workspace ID field beside the key and a card that names the fix
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01C9zwUaHucUgrdxvK8FvjYT
2026-09-03 12:44:30 -07:00
ciregenz and Claude Fable 5.1
f38016efb2
[eric] agents: self-heals stop being invisible: a stuck tool's restart and the CLI's own compaction reach the card, any signal death resumes, previews never quote the harness, spent retries are not "Done", one copy of the token-rotation notice
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-01 23:52:59 -07:00
ciregenz and Claude Fable 5.1
1ca4d0c5a3
[eric] agents: a CLI killed from outside resumes on a fresh process once, instead of carding the turn and forcing the recap rebuild
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_012G8kyALnPjsA7aJFmMBq3R
2026-09-01 19:49:29 -07:00
ciregenz
e5b3749f90
[eric] agents: autocompact thrash and a stalled long chat stop telling the user to switch models
2026-08-31 23:00:30 -07:00
ciregenz
ae44920cfe
Revert "[eric] agents: the policy ratchet narrows the declared recap mode, not whatever the turn happened to render"
...
This reverts commit 729dc968bc .
2026-08-31 22:46:48 -07:00
ciregenz
729dc968bc
[eric] agents: the policy ratchet narrows the declared recap mode, not whatever the turn happened to render
2026-08-31 19:24:02 -07:00
ciregenz
b9a63b3b80
[eric] windows: the antivirus exclusion is a real Settings toggle now, and the quarantine card offers it
2026-08-31 15:54:13 -07:00
ciregenz
1db307f5f5
[eric] agents: the exhausted-respawn 400 cards the router restart honestly instead of blaming the model
2026-08-31 12:24:31 -07:00
ciregenz
b40d09bad3
[eric] agents: the deferred-tool 400 (ENG-394) earns one CLI respawn instead of carding out on top of the turn's work
2026-08-31 11:03:06 -07:00
ciregenz and Claude Opus 5
b2f797776f
[eric] agents: BrowserAgents is exempt from the quick-tool wedge, and the two name lists became one
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01U6zrBsUCNzpMBnov3rTVYV
2026-08-30 15:04:28 -07:00
ciregenz and Claude Opus 5
59a95b268a
[eric] agents: the quarantine card spells out the clicks, because 22 of 25 never recovered from naming the fix
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01U6zrBsUCNzpMBnov3rTVYV
2026-08-30 10:10:59 -07:00
ciregenz and Claude Opus 5
b133ef7a1a
[eric] agents: a pruned recap says it is partial, and the prune that reclaimed the history is counted
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01U6zrBsUCNzpMBnov3rTVYV
2026-08-29 11:17:38 -07:00
ciregenz and Claude Opus 5
785b841763
[eric] agents: a turn that GREW past the trigger breaks, so the valve is not sat out by a big first reading (ENG-418)
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01U6zrBsUCNzpMBnov3rTVYV
2026-08-28 01:19:58 -07:00
ciregenz
492a28a2b4
[eric] agents: a policy-block failover borrows the user's API key for one ask, not forever (ENG-383)
2026-08-26 13:14:41 -07:00
ciregenz and Claude Opus 5
10084b1b28
[eric] agents: split the delegation backstop and the quit telemetry into their own files
...
Both host files crossed the 300-line ceiling; the seams were already there (quick-tool wedge vs delegation backstop, ladder logic vs its telemetry).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018foyDoK19jjbYdudfzQVkZ
2026-08-24 22:07:31 -07:00
ciregenz and Claude Opus 5
9541310a4a
[eric] agents: a policy block records which chat and what shape it sent, so the class can be tested (ENG-397)
...
model_error was the one envelope kind carrying no session_id at all: 1,028 of 1,028 null.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018foyDoK19jjbYdudfzQVkZ
2026-08-24 10:05:14 -07:00
ciregenz and Claude Opus 5
3e0e1f67c6
[eric] agents: a malformed request is never transient, whatever reset hint rides along (ENG-395)
...
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018foyDoK19jjbYdudfzQVkZ
2026-08-24 00:48:51 -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
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
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
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
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
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
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
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
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
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
2a42a1c460
[eric] agents: AV-repair card for missing CLI, stderr tail on masked exit-1 cards, group-unwrap in the fatal path
2026-07-28 15:49:59 -07:00
ciregenz
d5cd4db026
[eric] agents: one-line every comment + collapse 3+ blank runs across manager/ surface (33 files, -550 lines, code byte-identical)
2026-06-25 02:16:14 -07:00
ciregenz
d29076df93
[eric] agents: wire the unwired out-of-credits card into handle_run_error + test (is_out_of_tokens/extract_reset_hint)
2026-06-25 00:14:12 -07:00
ciregenz
6bf543831f
[eric] agents: rename single-export modules to match their export (handle_run_error, register_builtin_mcp_servers)
2026-06-24 01:03:55 -07:00