offload-audit: offload-analyst recursively re-delegates to itself on heavy targets — no base case #13

Closed
opened 2026-07-29 21:50:33 +03:00 by issuer-agent · 2 comments

Why: The offload-analyst agent currently has no guardrail preventing it from re-delegating the whole-audit task to another offload-analyst instance. This creates unbounded recursive self-delegation with no base case, causing token burn and preventing forward progress.

Problem:

  • commands/offload-audit.md step 3 directs heavy targets to Agent(subagent_type="inference-arbitrage:offload-analyst")
  • agents/offload-analyst.md carries tools including Agent and instructions to read/follow offload-audit/SKILL.md
  • Neither file states that an offload-analyst instance IS the delegation target and must NOT re-delegate the whole audit to another offload-analyst
  • Result: when offload-analyst loads the skill and re-evaluates the target, it judges it heavy by the same criteria and spawns another offload-analyst instance, which repeats the cycle to 3-4+ levels deep

Observed (2026-07-29): User ran /offload-audit cluster (11 agents, ~27 skills). Main session delegated to offload-analyst → analyst loaded skill, re-measured, re-delegated to fresh offload-analyst → repeat, each level restarting early measurement/exploration without forward progress.

Acceptance:

  • agents/offload-analyst.md explicitly states it is the delegation target and must never spawn another offload-analyst for the whole-audit task
  • Agent calls from within offload-analyst are scoped to the fixed filing chain only (anxious:issuer-agent → cluster:gitea-agent), never to re-run the audit
  • commands/offload-audit.md guidance is scoped to apply only at top level (main session → analyst), not recursively
  • Test: re-run /offload-audit cluster and confirm single Agent(offload-analyst) call, no re-delegation chain

Links: Spec §7 (spec/inference-arbitrage.md)

**Why**: The offload-analyst agent currently has no guardrail preventing it from re-delegating the whole-audit task to another offload-analyst instance. This creates unbounded recursive self-delegation with no base case, causing token burn and preventing forward progress. **Problem**: - `commands/offload-audit.md` step 3 directs heavy targets to `Agent(subagent_type="inference-arbitrage:offload-analyst")` - `agents/offload-analyst.md` carries tools including `Agent` and instructions to read/follow `offload-audit/SKILL.md` - Neither file states that an offload-analyst instance IS the delegation target and must NOT re-delegate the whole audit to another offload-analyst - Result: when offload-analyst loads the skill and re-evaluates the target, it judges it heavy by the same criteria and spawns another offload-analyst instance, which repeats the cycle to 3-4+ levels deep **Observed** (2026-07-29): User ran `/offload-audit cluster` (11 agents, ~27 skills). Main session delegated to offload-analyst → analyst loaded skill, re-measured, re-delegated to fresh offload-analyst → repeat, each level restarting early measurement/exploration without forward progress. **Acceptance**: - [ ] agents/offload-analyst.md explicitly states it is the delegation target and must never spawn another offload-analyst for the whole-audit task - [ ] Agent calls from within offload-analyst are scoped to the fixed filing chain only (anxious:issuer-agent → cluster:gitea-agent), never to re-run the audit - [ ] commands/offload-audit.md guidance is scoped to apply only at top level (main session → analyst), not recursively - [ ] Test: re-run `/offload-audit cluster` and confirm single Agent(offload-analyst) call, no re-delegation chain **Links**: Spec §7 (spec/inference-arbitrage.md)
admin added the area/agent-behaviordomain/agentskind/defect labels 2026-07-29 21:51:49 +03:00
admin added this to the v0.1.0 milestone 2026-07-29 21:52:03 +03:00
Owner

Fixed by commit 06cb5b8 on main. agents/offload-analyst.md now explicitly states the analyst is the delegation target and its only Agent calls are the fixed filing chain. commands/offload-audit.md now scopes the "delegate to offload-analyst" instruction to fire once, at the top level only, never recursively. Plugin bumped 0.4.0 → 0.4.1.

Fixed by commit 06cb5b8 on main. `agents/offload-analyst.md` now explicitly states the analyst is the delegation target and its only Agent calls are the fixed filing chain. `commands/offload-audit.md` now scopes the "delegate to offload-analyst" instruction to fire once, at the top level only, never recursively. Plugin bumped 0.4.0 → 0.4.1.
oleks closed this issue 2026-07-29 21:52:46 +03:00
Owner

Fixed by commit 06cb5b8 on main. agents/offload-analyst.md now explicitly states the analyst is the delegation target and its only Agent calls are the fixed filing chain. commands/offload-audit.md now scopes the "delegate to offload-analyst" instruction to fire once, at the top level only, never recursively. Plugin bumped 0.4.0 → 0.4.1.

Fixed by commit 06cb5b8 on main. `agents/offload-analyst.md` now explicitly states the analyst is the delegation target and its only Agent calls are the fixed filing chain. `commands/offload-audit.md` now scopes the "delegate to offload-analyst" instruction to fire once, at the top level only, never recursively. Plugin bumped 0.4.0 → 0.4.1.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kotkan/claude-plugin-inference-arbitrage#13