feat: add guided proposal review CLI#84
Conversation
|
Caution Review failedFailed to post review comments 📝 WalkthroughWalkthroughAdds a read-only artifact diff feature (field-level changes + unified text diff, human/JSON CLI) and a new interactive CLI command vouch review to walk pending proposals with approve/reject/skip/quit and dry-run support; both include tests and docs. Changesvouch diff
Interactive Proposal Review Command
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@plind-junior would you please review this feature? |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@README.md`:
- Line 145: The README CLI synopsis for the "vouch review" command omits the
supported --dry-run flag; update the synopsis line "vouch review [--limit N]
[--type KIND]" to include "[--dry-run]" (e.g., "vouch review [--limit N] [--type
KIND] [--dry-run]") and ensure any nearby CLI option list or examples mention
and briefly describe the --dry-run behavior so the documented surface matches
the implemented flag.
In `@tests/test_cli.py`:
- Around line 171-172: The test asserts the wrong exception type: update the
pytest.raises in tests/test_cli.py around the get_claim call so it expects the
actual exception raised by KBStore.get_claim—ArtifactNotFoundError—instead of
KeyError; ensure the test imports ArtifactNotFoundError (or references it from
its module) and replace pytest.raises(KeyError) with
pytest.raises(ArtifactNotFoundError) for the "review-dry-run" claim check.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: d8eb8a15-1ed5-455f-82c4-c795bbe43376
📒 Files selected for processing (4)
CHANGELOG.mdREADME.mdsrc/vouch/cli.pytests/test_cli.py
|
@jsdevninja Would you attach the screenshot? |
|
@jsdevninja Plz create the PR against the test branch |
dff95c7 to
555acfc
Compare
|
@plind-junior I updated PR to against the test branch. |

What changed
Added
vouch review, a guided CLI queue for walking through pending proposals one at a time. It supports approve, reject, skip, quit,--limit,--type, and--dry-run, and documents the new command inREADME.mdandCHANGELOG.md.Closes #83
Why
Reviewing multiple proposals currently requires manually switching between
vouch pending,vouch show <id>,vouch approve <id>, andvouch reject <id>. This makes the core review-gate workflow faster and easier while still using the existing approval and rejection paths.What might break
This is an additive CLI-only change. No
.vouch/files move, no persisted field shapes change, and nokb.*methods behave differently. Existing.vouch/directories should continue working unchanged.VEP
No VEP needed. This does not change the object model,
kb.*method surface, on-disk layout, bundle format, audit-log shape, default config semantics, or add a transport.Tests
make checkpasses locally (lint + mypy + pytest)CHANGELOG.mdupdated under## [Unreleased]Summary by CodeRabbit
New Features
vouch review— interactive queue to approve/reject/skip/quit proposals with--limit,--type, and--dry-run.vouch diff <id-old> <id-new>— read-only artifact diffs with per-field summaries, unified text/line diffs, and--jsonoutput.Tests
reviewanddiffbehaviors, dry-run, error cases, and CLI output.Documentation