Follow up to #514: make insights a daemon-owned job type#554
Follow up to #514: make insights a daemon-owned job type#554wesm merged 6 commits intoroborev-dev:mainfrom
Conversation
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
- Fix worktree path resolution, prompt size enforcement, and API pagination - Fix pagination assumption and guideline size enforcement - Remove unused variable and error on non-repo cwd - Validate --repo flag points at a git repository - Include review comments in insights analysis - Exclude compact jobs from insights analysis - Use requested branch for insights jobs - Make insights a daemon-owned job type - Fix insights test lint violation - Merge branch 'main' into insights-daemon-followup - Fix insights daemon endpoint usage - Fix insights review lookup on Windows (path slash mismatch) - Fix insights guideline budget cap and branch-exclusion logic Co-Authored-By: Darren Haas <361714+darrenhaas@users.noreply.github.com>
- Skip branch fallback for insights jobs so omitting --branch analyzes all branches instead of only the checked-out one - Reject negative Go durations (e.g. -5h) in parseSinceDuration - Add regression tests for both fixes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1582a4e to
536ce87
Compare
roborev: Combined Review (
|
Export loadGuidelines as LoadGuidelines and call it from the insights prompt builder so guidelines are read from the default branch (matching the normal review path) instead of the checked-out filesystem. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
roborev: Combined Review (
|
- Add IsReviewJob() method with backward-compat heuristic for old jobs with empty job_type, use it as a positive filter in fetchInsightsReviews instead of negative exclusions - Cap serialized comment bytes per review at 2KB so large comment threads don't cause entire reviews to be skipped by the prompt budget check - Add tests for both fixes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
roborev: Combined Review (
|
GetOrCreateRepo stores repo paths with forward slashes, but fetchInsightsReviews passed the raw repoRoot (backslashes on Windows) to ListJobs, causing the exact-match filter to miss all repos. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Reword the noise-candidates section in the insights prompt to only reference signals actually available (closed flag + developer comments) instead of claiming it can detect dismissals without code changes. - Change IsReviewJob() legacy fallback from negating IsTaskJob() to a positive heuristic (CommitID, dirty ref, range ref, DiffContent) so old stored-prompt jobs with a GitRef aren't misclassified as reviews. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
roborev: Combined Review (
|
|
"Technically valid but overstated. The fixed scaffolding (system prompt ~1.5KB + capped guidelines The only scenarios where the prompt exceeds MaxPromptSize:
I'd call this a false positive. Not worth adding complexity to guard against configurations that |
Follow-up to #514.
Because #514 is opened from a cross-repo branch (
darrenhaas:darren/insights-command), GitHub cannot stack this PR directly on that branch insideroborev-dev/roborev. This PR carries the follow-up work againstmainand references #514 for context.Meaningful changes
insightsjob type so the daemon, worker, storage layer, and TUI all treat insights runs as stored-prompt task work/api/jobs+/api/review+/api/commentsfan-outValidation
go fmt ./...go vet ./...go test ./...