Skip to content

fix: add ReviewFixer to builtin session primary agent whitelist (#2124) - #2138

Closed
xielixing wants to merge 1 commit into
GCWing:mainfrom
xielixing:fix/review-fixer-whitelist-2124
Closed

fix: add ReviewFixer to builtin session primary agent whitelist (#2124)#2138
xielixing wants to merge 1 commit into
GCWing:mainfrom
xielixing:fix/review-fixer-whitelist-2124

Conversation

@xielixing

Copy link
Copy Markdown

Problem

Issue #2124: Starting the Review Fix phase fails with Unknown session mode: ReviewFixer.

PR #2106 fixed the first half of the external primary agent profile resolution issue — CodeReview and DeepReview were blocked at session creation because is_builtin_session_primary_agent did not whitelist them. However, the fix phase was missed: ReviewFixer (submitted by DeepReviewActionBar.handleStartFixing → sendMessage(..., 'ReviewFixer', 'agentic')) is still not in the whitelist.

Root Cause

src/crates/assembly/core/src/agentic/agents/registry/external.rsis_builtin_session_primary_agent only matched CODE_REVIEW_AGENT_TYPE and DEEP_REVIEW_AGENT_TYPE, not REVIEW_FIXER_AGENT_TYPE.

When the frontend submits agentType='ReviewFixer', the coordinator calls resolve_primary_agent_for_workspace which hits is_builtin_session_primary_agent. Since ReviewFixer is not whitelisted, it falls through to the external-subagent resolution path and fails with Unknown session mode: ReviewFixer.

Fix

Add REVIEW_FIXER_AGENT_TYPE to the is_builtin_session_primary_agent whitelist, so ReviewFixer resolves through the local primary-agent path for create, turn, restore, and compaction — same as CodeReview and DeepReview.

Changes

  1. external.rs — Import REVIEW_FIXER_AGENT_TYPE and add it to the is_builtin_session_primary_agent match. Update doc comments on is_builtin_session_primary_agent and is_local_session_primary_entry.

  2. tests.rs — Add "ReviewFixer" to builtin_review_agents_resolve_as_local_session_primaries and local_route_resolves_review_agents_as_session_primaries.

  3. coordinator.rs — Add "ReviewFixer" to review_agent_child_sessions_create_successfully.

Validation

  • cargo check -p bitfun-core --no-default-features --features agent-runtime — pass
  • cargo test ... builtin_review_agents_resolve_as_local_session_primaries — 1 passed
  • cargo test ... local_route_resolves_review_agents_as_session_primaries — 1 passed
  • cargo test ... review_agent_child_sessions_create_successfully — 1 passed (with canvas-runtime)

Related

…ng#2124)

PR GCWing#2106 fixed the first half of the external primary agent profile
resolution issue (CodeReview/DeepReview blocked at session creation)
but missed the fix phase. ReviewFixer is submitted by
DeepReviewActionBar.handleStartFixing with agentType='ReviewFixer',
but is_builtin_session_primary_agent only whitelisted
CODE_REVIEW_AGENT_TYPE and DEEP_REVIEW_AGENT_TYPE, causing
'Unknown session mode: ReviewFixer' when starting the fix dialog turn.

Add REVIEW_FIXER_AGENT_TYPE to the whitelist so ReviewFixer resolves
through the local primary-agent path for create, turn, restore, and
compaction — same as CodeReview and DeepReview.

Tests: add ReviewFixer to builtin_review_agents_resolve_as_local_session_primaries,
local_route_resolves_review_agents_as_session_primaries, and
review_agent_child_sessions_create_successfully.
@xielixing

Copy link
Copy Markdown
Author

Closing as duplicate of #2126, which implements the identical fix (adding REVIEW_FIXER_AGENT_TYPE to is_builtin_session_primary_agent whitelist). Please merge #2126 instead.

@xielixing xielixing closed this Aug 6, 2026
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.

Review 修复阶段失败:Failed to start dialog turn: Unknown session mode: ReviewFixer(#2106 修复不完整)

1 participant