record-verdict: add relink verdict + --cost sidecar (3b-i, unblocks vetter wiring) - #28
Conversation
Closes the two gaps that surfaced when wiring the vetter (3b): record-verdict was built without the consumer in front of it and was missing — - the `relink` verdict (the vetter emits 5: ready/relink/reject/close/design; the tool handled 4). relink -> ai:relink (its own label), replacing any other ai:* like the rest. - `cost`: every vetter verdict carries a 0-1000 human-verification cost and the queue orders cheapest-first by it. --cost <n> --basis <s> now appends to the review-costs.jsonl sidecar that cost_for already reads, so cheapest-first survives the ledger->labels move. Adversarial-mutation validated (relink map + cost-line key each killed their test); cost_sidecar_line round-trips through parse_sidecar; 67 tests, nix build, dry-runs (relink label swap + cost line + human-guard exit 3) all green. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
Warning Review limit reached
Next review available in: 12 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Reviewed 6971611: adversarial mutation pass (standing default). Both new behaviours independently mutation-killed — relink→ai:reject fails verdict_label_includes_relink; renaming the cost key fails cost_sidecar_line_round_trips_through_parse_sidecar (which proves the cost line is exactly what the queue's parse_sidecar reads). Dry-runs verified end-to-end: relink swaps ai:ready→ai:relink, cost line emitted to review-costs.jsonl, human-guard still exit 3. 67 tests green, nix build ok, CodeRabbit clean, closes no issue. Approve. 🤖 ai:assistant |
🤖 ai:assistant — step 3b-i.
Wiring the vetter (3b) surfaced that
record-verdict(#27), built in isolation, was incomplete for its consumer — it was missing two things the vetter needs. This closes both.relinkverdict — the vetter emits five (ready/relink/reject/close/design); the tool only handled four, sorelinkwouldexit 2. Nowrelink→ai:relink(its own label, colourfbca04, "sound code, needs Closes→Refs"), replacing any otherai:*like the rest.--cost <n> --basis <s>— every vetter verdict carries a 0–1000 human-verification cost, and the review queue orders cheapest-first by it. record-verdict now appends a line to thereview-costs.jsonlsidecar thatcost_foralready reads, so cheapest-first ordering survives once the vetter writes labels instead of the ledger. A round-trip test provescost_sidecar_linewrites exactly whatparse_sidecarreads.adv-mut (my standing default): both new behaviours mutation-killed (relink map →
verdict_label_includes_relinkfails; cost key rename → round-trip test fails). 67 tests,nix build, and dry-runs (relink swapsai:ready→ai:relink, cost line emitted, human-guard still exit 3) all green.Next: 3b-ii wires
review-settings.json(scoped allow) +review-prompt.txtto actually call this.🤖 Generated with Claude Code