Skip to content

adversarial mode: survive a failed proposer (don't abort the whole run) #9

Description

@ernestprovo23

Observed while dogfooding conclave to audit mcp-warden #15: in --mode adversarial, when the single proposer model returned a malformed response (gemini: missing candidates[0].content.parts (KeyError)), the proposal failed and the ENTIRE run aborted with "no verdict produced" — the critics/judge never ran. Re-running with --proposer claude worked, but the run should not be a single point of failure.

Desired behavior (pick one, configurable):

  • Fall back to the next council member as proposer when the chosen proposer fails, OR
  • Degrade gracefully to synthesize over the surviving members with a clear warning, OR
  • At minimum, surface a non-zero/actionable result instead of silently producing no verdict.

Where: conclave's adversarial mode orchestration (the propose→refute→judge pipeline) + the gemini adapter's malformed-response handling (a missing candidates[0].content.parts should raise a typed, retryable error, consistent with the partial-failure resilience the council already has for missing keys).

Repro: conclave ask <prompt> -c grok,gemini,claude,perplexity,openai --mode adversarial --proposer gemini when gemini returns an empty/blocked response.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingroadmapPlanned work from the PDD roadmap

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions