#568

Supervisor deadlock: a follow-up task cannot cite an observation produced by a FAILED (blocked) task

OpenMadgeaaaaaopened 13d ago

Summary

A probe that ends blocked/failed still yields actionable evidence (e.g. "the endpoint is auth-gated, so the direct injection never reaches the vulnerable path"). But the framework gives the Supervisor no way to act on it: citing that evidence forces the failed task into depends_on, and compile_plan rejects any selected task whose dependency is not DONE. The agent can learn from a probe but cannot change direction accordingly, so it deadlocks and the run fails with:

supervisor_contract: Supervisor failed after 2 attempts: selected task has unfinished dependencies

Why

Three rules combine to make a failed probe's evidence structurally uncitable:

  1. commit_execution maps ExecutionOutcome.BLOCKED -> TaskStatus.FAILED.
  2. compile_plan requires every cited observation's producing task to appear in depends_on.
  3. compile_plan's selection check requires every depends_on task to be DONE.

The root conflation: depends_on means both "closed, evidence available" and "succeeded". A negative result is a result — the agent needs to pivot on it, not treat it as an unfinished prerequisite.

Expected behavior

When a probe rules out an approach, the Supervisor should be able to pivot to a new hypothesis on the same target using that probe's evidence as its basis.

Possible fix

Accept a closed producer (DONE or FAILED) as a citable basis, or separate the "basis" relation from the "prerequisite" relation so failed probes can still steer the next decision.

Activity

0

No activity yet.