You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: min-severity cascading and review-level filter (#635)
## Summary
- Add `min_severity` config cascade (CLI flag → repo `.roborev.toml` → global `config.toml`) for review, refine, and fix workflows
- Persist `min_severity` on `review_jobs` (SQLite + PostgreSQL v11), thread through enqueue/claim/sync paths
- Inject severity instructions into review and fix prompts via `config.SeverityInstruction`
- Parse `SEVERITY_THRESHOLD_MET` marker as a pass verdict
- CI path: prompt uses `review_min_severity`, synthesis uses `[ci].min_severity`; single-result CI runs route through synthesis when CI threshold is set
- `formatSingleResult` uses `storage.ParseVerdict` to detect pass output (not loose `strings.Contains`)
- Fix `GetJobsWithReviewsByIDs` hydration bug where `min_severity` was scanned then overwritten by zero-value field
Co-authored-by: Phillip Cloud <cpcloud@users.noreply.github.com>
ReviewMinSeveritystring`toml:"review_min_severity" comment:"Minimum severity for reviews: critical, high, medium, or low. Empty disables filtering."`
149
+
RefineMinSeveritystring`toml:"refine_min_severity" comment:"Minimum severity for refine: critical, high, medium, or low. Empty disables filtering."`
150
+
FixMinSeveritystring`toml:"fix_min_severity" comment:"Minimum severity for fix: critical, high, medium, or low. Empty disables filtering."`
151
+
147
152
AllowUnsafeAgents*bool`toml:"allow_unsafe_agents"`// nil = not set, allows commands to choose their own default
148
153
DisableCodexSandboxbool`toml:"disable_codex_sandbox"`// use --full-auto instead of --sandbox read-only (for systems where bwrap is broken)
149
154
ReuseReviewSession*bool`toml:"reuse_review_session"`// nil = not set; when true, reuse prior branch review sessions when possible
@@ -621,8 +626,9 @@ type RepoConfig struct {
621
626
ReviewReasoningstring`toml:"review_reasoning" comment:"Reasoning level for reviews in this repo: fast, standard, medium, thorough, or maximum."`
622
627
RefineReasoningstring`toml:"refine_reasoning" comment:"Reasoning level for refine in this repo: fast, standard, medium, thorough, or maximum."`
623
628
FixReasoningstring`toml:"fix_reasoning" comment:"Reasoning level for fix in this repo: fast, standard, medium, thorough, or maximum."`
624
-
FixMinSeveritystring`toml:"fix_min_severity" comment:"Minimum severity for fix in this repo: critical, high, medium, or low."`// Minimum severity for fix: critical, high, medium, low
625
-
RefineMinSeveritystring`toml:"refine_min_severity" comment:"Minimum severity for refine in this repo: critical, high, medium, low."`// Minimum severity for refine: critical, high, medium, low
629
+
FixMinSeveritystring`toml:"fix_min_severity" comment:"Minimum severity for fix in this repo: critical, high, medium, or low."`// Minimum severity for fix: critical, high, medium, low
630
+
RefineMinSeveritystring`toml:"refine_min_severity" comment:"Minimum severity for refine in this repo: critical, high, medium, low."`// Minimum severity for refine: critical, high, medium, low
631
+
ReviewMinSeveritystring`toml:"review_min_severity" comment:"Minimum severity for reviews in this repo: critical, high, medium, low."`// Minimum severity for review: critical, high, medium, low
626
632
ExcludePatterns []string`toml:"exclude_patterns" comment:"Filenames or glob patterns to exclude from review diffs for this repo."`
627
633
PostCommitReviewstring`toml:"post_commit_review" comment:"Automatic post-commit review mode for this repo: commit or branch."`// "commit" (default) or "branch"
0 commit comments