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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions