diff --git a/src/lib/code-reviews/prompts/generate-prompt.ts b/src/lib/code-reviews/prompts/generate-prompt.ts index aff24aaa6e..da6880b587 100644 --- a/src/lib/code-reviews/prompts/generate-prompt.ts +++ b/src/lib/code-reviews/prompts/generate-prompt.ts @@ -273,8 +273,22 @@ export async function generateReviewPrompt( .replace(/{PREVIOUS_SUMMARY}/g, existingReviewState.summaryComment.body) .replace(/{ACTIVE_COMMENT_COUNT}/g, String(activeCount)); prompt += replacePlaceholders(incrementalWorkflow) + '\n\n'; + logExceptInTest('[generateReviewPrompt] Using incremental workflow', { + reviewId, + previousHeadSha: previousHeadSha.substring(0, 8), + }); } else { prompt += replacePlaceholders(template.workflow) + '\n\n'; + if (previousHeadSha) { + logExceptInTest( + '[generateReviewPrompt] Falling back to full workflow despite previousHeadSha', + { + reviewId, + hasIncrementalTemplate: !!template.incrementalReviewWorkflow, + hasSummaryComment: !!existingReviewState?.summaryComment, + } + ); + } } // 6. What to review diff --git a/src/lib/code-reviews/triggers/prepare-review-payload.ts b/src/lib/code-reviews/triggers/prepare-review-payload.ts index e0ad075c8d..d9e2fc9702 100644 --- a/src/lib/code-reviews/triggers/prepare-review-payload.ts +++ b/src/lib/code-reviews/triggers/prepare-review-payload.ts @@ -322,7 +322,16 @@ export async function prepareReviewPayload( // continuation) are derived from the same review row to avoid mismatches. let previousHeadSha: string | null = null; let previousCloudAgentSessionId: string | undefined; - const incrementalEnabled = await isFeatureFlagEnabled(FEATURE_FLAG_INCREMENTAL_REVIEW); + const incrementalEnabled = await isFeatureFlagEnabled( + FEATURE_FLAG_INCREMENTAL_REVIEW, + owner.userId + ); + + logExceptInTest('[prepareReviewPayload] Incremental review flag evaluated', { + reviewId, + incrementalEnabled, + ownerId: owner.userId, + }); if (incrementalEnabled) { try { @@ -345,6 +354,11 @@ export async function prepareReviewPayload( previousCloudAgentSessionId, } ); + } else { + logExceptInTest( + '[prepareReviewPayload] No previous completed review found, using full review', + { reviewId } + ); } } catch (error) { // Non-critical - fall back to full review