managarten/packages/shared-ai/src
Till JS 8f283726b1 feat(agent-loop): activate retryLoopReminder via LoopState.recentCalls
Extends LoopState with a sliding window of the last N ExecutedCalls
(oldest-first), capped at LOOP_STATE_RECENT_CALLS_WINDOW = 5. The loop
maintains the window automatically; reminderChannel producers read it
without touching internal state.

This activates retryLoopReminder which was shape-only in faa472be9.
The guard now fires end-to-end: when round >= 3 and the tail-2 calls
both returned success:false, the LLM sees a "stop retrying, write a
summary instead" <reminder> on the next turn. The tail-2 check rather
than window-wide is deliberate — a flaky run with intermittent success
(F, F, F, OK, F) is not a retry loop, just flaky tools.

Why window=5: retry loops usually manifest within 2-3 consecutive
rounds; a 5-deep window gives room for burst-detection and
stale-tool heuristics without bloating the reminder channel. Cap
keeps the reminder producers O(5) regardless of loop length.

Tests: 3 new (sliding-window cap + slide + order in shared-ai, retry
composition + budget+retry chain + tail-only heuristic in mana-ai).
Total agent-loop tests now 74 across both packages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 15:02:40 +02:00
..
agents chore: clear svelte-check errors + document scene-scope pattern 2026-04-18 17:24:52 +02:00
guardrails feat(ai): guardrail layer — pre/post-plan + pre-execute checks 2026-04-16 15:11:34 +02:00
missions feat(agents): Agent CRUD + default bootstrap + Mission.agentId (Phase 2) 2026-04-15 20:35:49 +02:00
planner feat(agent-loop): activate retryLoopReminder via LoopState.recentCalls 2026-04-23 15:02:40 +02:00
policy refactor(ai): dynamic tool registry — single-source catalog in shared-ai 2026-04-16 13:06:07 +02:00
tools feat(articles): M6 AI tools — list / save / archive / tag / highlight 2026-04-21 18:46:13 +02:00
actor.test.ts refactor(actor): identity-aware Actor for Multi-Agent Workbench (Phase 1) 2026-04-15 20:13:57 +02:00
actor.ts refactor(actor): identity-aware Actor for Multi-Agent Workbench (Phase 1) 2026-04-15 20:13:57 +02:00
index.ts feat(mana-ai): first live reminder producers — token budget + retry-loop 2026-04-23 14:00:04 +02:00