Skip to content

--json exits 0 with empty payload when no members available (exit-code contract) #17

Description

@ernestprovo23

conclave ask ... --json with no available members exits 0 with {"answers": [], ...}, while the human path exits 1. The as_json early-return (src/conclave/cli.py:197) happens before the no-members guard (cli.py:200). A CI/script consumer can't distinguish "no models had keys" from "ran fine."

Acceptance

  • Decide and document the contract: either --json also exits non-zero on zero members (preferred for scriptability) or it's explicitly documented as "always 0 in JSON mode."
  • CLI test pins the chosen exit code.

Source: pre-dev planning audit 2026-06-08 (finding D-6). Affects the researcher/integrator persona.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtech-debtRefactor, debt paydown, internal quality

    Type

    No type

    Fields

    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