Skip to content

Rc release improvements#123

Merged
ArnabChatterjee20k merged 13 commits into
mainfrom
rc-release-improvements
Jul 14, 2026
Merged

Rc release improvements#123
ArnabChatterjee20k merged 13 commits into
mainfrom
rc-release-improvements

Conversation

@ArnabChatterjee20k

@ArnabChatterjee20k ArnabChatterjee20k commented Jul 13, 2026

Copy link
Copy Markdown
Member

Commits getting merged for testing + few fixes on top of them

commit bb37977 (HEAD -> rc-release-improvements, origin/rc-release-improvements)
Merge: 010f95a 956efbe
Author: ArnabChatterjee20k arnabchatterjee.ac.2@gmail.com
Date: Mon Jul 13 16:01:23 2026 +0530

Merge branch 'intent-classifier-fix-for-agents' into rc-release-improvements

commit 010f95a
Merge: f2ccee4 198a208
Author: ArnabChatterjee20k arnabchatterjee.ac.2@gmail.com
Date: Mon Jul 13 16:01:12 2026 +0530

Merge branch 'model-per-task' into rc-release-improvements

commit f2ccee4
Merge: 8b22f2e 1545cc5
Author: ArnabChatterjee20k arnabchatterjee.ac.2@gmail.com
Date: Mon Jul 13 16:01:02 2026 +0530

Merge branch 'fix-config-api' into rc-release-improvements

commit 8b22f2e
Merge: 2ca8a48 90d345c
Author: ArnabChatterjee20k arnabchatterjee.ac.2@gmail.com
Date: Mon Jul 13 16:00:58 2026 +0530

Merge branch 'records-chunks' into rc-release-improvements

Greptile Summary

This PR merges four feature branches into rc-release-improvements, primarily converting the synchronous assess_retrieval call into a fire-and-forget spawn_retrieval_judge, adding retrieval-quality tracking to the QA (answer_question_issue) path, and fixing qa_agent/agent selection for the relevance judge.

  • Detached retrieval judge: assess_retrieval (async, blocking) is replaced by spawn_retrieval_judge (synchronous, tokio::spawn fire-and-forget), adding timeline events for RetrievalScoringStarted/Completed/Failed and a free-function record_scoring_event for use inside the detached task where &self is unavailable.
  • QA path parity: answer_question_issue now accepts attempt_id, records code-search and discord retrieval-usage rows, and spawns the relevance judge — mirroring the fix pipeline's existing behaviour.
  • Agent selection fix: The judge now resolves qa_agent.clone().unwrap_or_else(|| agent.clone()), so a configured cheaper QA model is used instead of always falling back to the main agent.

Confidence Score: 5/5

Safe to merge — changes are additive, the detached-judge refactor is well-scoped, and edge cases (LLM unavailable, zero-score results, empty item lists) are all handled.

The retrieval judge is now correctly fire-and-forget, QA-path tracking mirrors the fix pipeline exactly, and the qa_agent selection follows the same unwrap_or_else pattern already used elsewhere in the processor. No correctness regressions were found in any of the three changed files.

No files require special attention.

Important Files Changed

Filename Overview
crates/claudear-core/src/types.rs Adds three new TimelineEventStatus variants (RetrievalScoringStarted/Completed/Failed) with matching as_str() arms — purely additive, no breaking changes.
crates/claudear-engine/src/processing.rs Core change: assess_retrieval (async) replaced by spawn_retrieval_judge (fire-and-forget tokio::spawn); QA path gains retrieval tracking and judge invocation; qa_agent now preferred over main agent for scoring. Logic is sound with proper conditional-move handling of items and AtomicUsize counting in the concurrent agent path.
crates/claudear-integrations/src/runner/claude.rs Stdin write/shutdown errors now emit tracing::warn/debug instead of being silently discarded via let _ = ..., improving diagnosability of agent launch failures.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant P as IssueProcessor
    participant T as Tracker
    participant J as spawn_retrieval_judge
    participant LLM as LLM / QA Agent

    P->>T: record_timeline_event(RetrievalScoringStarted)
    P->>J: tokio::spawn (fire-and-forget)
    Note over P: returns immediately — no longer blocks PR notification

    P->>T: record outcome / notify Slack / update PR

    par Inside detached task
        alt "use_llm = true"
            J->>LLM: spawn_blocking score_chunk_relevance (sequential)
            LLM-->>J: scores
        else "use_llm = false"
            J->>LLM: for_each_concurrent score_chunk_relevance_via_agent
            LLM-->>J: scores
        end
        J->>T: set_retrieval_quality (per chunk)
        J->>T: record_scoring_event(RetrievalScoringCompleted / Failed)
    end
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant P as IssueProcessor
    participant T as Tracker
    participant J as spawn_retrieval_judge
    participant LLM as LLM / QA Agent

    P->>T: record_timeline_event(RetrievalScoringStarted)
    P->>J: tokio::spawn (fire-and-forget)
    Note over P: returns immediately — no longer blocks PR notification

    P->>T: record outcome / notify Slack / update PR

    par Inside detached task
        alt "use_llm = true"
            J->>LLM: spawn_blocking score_chunk_relevance (sequential)
            LLM-->>J: scores
        else "use_llm = false"
            J->>LLM: for_each_concurrent score_chunk_relevance_via_agent
            LLM-->>J: scores
        end
        J->>T: set_retrieval_quality (per chunk)
        J->>T: record_scoring_event(RetrievalScoringCompleted / Failed)
    end
Loading

Reviews (7): Last reviewed commit: "Merge remote-tracking branch 'origin/rc-..." | Re-trigger Greptile

Comment thread crates/claudear-engine/src/processing.rs Outdated
Comment thread crates/claudear-integrations/src/runner/claude.rs
Comment thread crates/claudear-engine/src/processing.rs Outdated
@ArnabChatterjee20k
ArnabChatterjee20k changed the base branch from main to records-chunks July 13, 2026 10:52
@ArnabChatterjee20k
ArnabChatterjee20k changed the base branch from records-chunks to main July 13, 2026 10:52
* spawned judge agent as a non blocking task with state tracking
@ArnabChatterjee20k
ArnabChatterjee20k merged commit fad7855 into main Jul 14, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants