Skip to content

feat: Add --json output to vouch pending #88

Description

@jsdevninja

What you're trying to do

When I’m reviewing proposals in a multi-agent repo, I want to inspect pending proposals in a machine-readable format so I can group them by agent, count noisy proposal sources, or wire the review queue into shell scripts and CI checks.

The docs already suggest this workflow:

vouch pending --json | jq -r '.[] | "\(.proposed_by)\t\(.id)"' | sort | uniq -c

but vouch pending --json does not appear to exist yet.

What you've tried

vouch status --json gives a machine-readable summary, but it only includes a pending proposal count, not proposal details.

vouch pending lists pending proposals, but the output is human-readable text, so scripts would need to parse display formatting.

The MCP/JSONL kb.list_pending surface can return structured pending proposal data, but that is heavier than needed for simple CLI automation.

Suggested shape

Add a --json flag to vouch pending.

Expected behavior:

  • vouch pending keeps its current human-readable output.
  • vouch pending --json emits a JSON array of pending proposals.
  • If there are no pending proposals, output [] and exit 0.
  • Proposal entries can use the existing proposal model shape, likely Proposal.model_dump(mode="json").

Suggested test coverage:

  • pending proposals render as valid JSON
  • empty pending queue renders as []
  • existing human-readable output remains unchanged

Compatibility considerations

This should be additive and should not break existing KBs.

It should not require a VEP if the change stays limited to CLI output. It does not change the object model, kb.* method surface, on-disk layout, bundle format, audit-log shape, or transport behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    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