Test perf only after behavior passes#9
Merged
alvin-r merged 8 commits intoFeb 15, 2025
Conversation
oops, used to our internal protection rules. This reverts commit a441dfd.
Refactor optimizer into FunctionOptimizer class
…efactor Revert "Refactor optimizer into FunctionOptimizer class"
1 task
This was referenced Feb 19, 2026
mohammedahmed18
added a commit
that referenced
this pull request
Apr 4, 2026
Issue #9: process_review() called get_new_explanation() and get_optimization_review() without checking language. These are Python-only endpoints that would fail or return incorrect results for JavaScript/TypeScript. Root Cause: - process_review() (line 2459) calls two Python-only endpoints: - get_new_explanation() (line 2575) - no language check - get_optimization_review() (line 2638) - no language check - Same pattern as Issue #8 (adaptive_optimize) which was already fixed - Latent bug - only manifests when JS/TS optimization succeeds Fix: - Added language guard before get_new_explanation: if language == "python" - Added language guard before get_optimization_review: if language == "python" - For non-Python languages, use original explanation from AI service - For non-Python languages, skip optimization review (sets empty review) Impact: - Latent bug (not yet triggered because all JS/TS optimizations fail at baseline) - Would block JS/TS optimization success once baseline issues are resolved - Severity: MEDIUM (latent, not blocking current work) Testing: - Existing function_optimizer tests pass - No linting/type errors Category: Latent bug (will reproduce when JS/TS optimizations succeed) Type: Missing language guard in CLI Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
mohammedahmed18
added a commit
that referenced
this pull request
Apr 4, 2026
**Problem:** The `maybe_repair_optimization()` method called `/ai/code_repair` (a Python-only endpoint) without checking if the language is Python first. This would cause errors when JavaScript/TypeScript optimizations reach the repair stage. **Root Cause:** File: codeflash/languages/function_optimizer.py (line 2957) - `repair_optimization()` calls `/ai/code_repair` endpoint - `/ai/code_repair` uses Python-specific tools (libcst for AST manipulation) - No language check before calling repair **Impact:** - Latent bug (not yet triggered in production) - Would block JS/TS optimization success once candidates reach repair stage - Severity: MEDIUM **Fix:** Added language guard at line 2948: - Check `self.function_to_optimize.language != "python"` - Skip repair for JavaScript/TypeScript/Java - Log debug message explaining why repair was skipped **Testing:** - Added tests/test_languages/test_code_repair_language_guard.py - Documents expected behavior for language checks - All existing tests pass - No linting/type errors **Trace IDs:** N/A (latent bug, not yet triggered) **Related Issues:** - Similar pattern to Issue #8 (adaptive_optimize) - PR #1995 - Similar pattern to Issue #9 (get_new_explanation, get_optimization_review) - PR #1997 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
If behavioral tests fail, we should do an early exit