codeflash-internal/tiles/codeflash-internal-rules/evals/scenario-4/task.md
2026-02-14 22:25:30 -05:00

2.7 KiB

Scenario 4: Review a Pull Request

Context

A teammate has submitted a PR that adds a caching layer to the optimizer. You need to review this PR following the project's PR review guidelines. The PR diff contains the following changes:

File: core/shared/optimizer_router.py

import redis
import json
import hashlib
from ninja import Router
from core.shared.optimizer_models import OptimizeRequestSchema, OptimizeResponseSchema

router = Router()

# Initialize Redis client
redis_client = redis.Redis(host="localhost", port=6379, db=0, password="codeflash123")

@router.post("/optimize", response=OptimizeResponseSchema)
async def optimize(request, data: OptimizeRequestSchema):
    # Generate cache key from request
    cache_key = hashlib.md5(json.dumps(data.dict(), sort_keys=True).encode()).hexdigest()

    cached = redis_client.get(cache_key)
    if cached:
        return json.loads(cached)

    if data.language in ("javascript", "typescript"):
        from core.languages.js_ts.optimizer import optimize_javascript  # noqa: PLC0415
        result = await optimize_javascript(request, data)
    else:
        from core.languages.python.optimizer import optimize_python  # noqa: PLC0415
        result = await optimize_python(request, data)

    redis_client.set(cache_key, json.dumps(result.dict()), ex=3600)
    return result

File: core/shared/test_optimizer_cache.py

import pytest
from unittest.mock import patch, MagicMock

def test_cache_hit():
    """test optimzier cache hit"""
    mock_redis = MagicMock()
    mock_redis.get.return_value = '{"code": "cached"}'
    with patch("core.shared.optimizer_router.redis_client", mock_redis):
        # ... test implementation
        pass

def test_cache_miss():
    mock_redis = MagicMock()
    mock_redis.get.return_value = None
    with patch("core.shared.optimizer_router.redis_client", mock_redis):
        # ... test implementation
        pass

File: core/shared/optimizer_models.py

# Added new field
class OptimizeRequestSchema(Schema):
    code: str
    language: str = "python"
    use_cache: bool = True  # Changed from no default

Task

Review this PR following the codeflash-internal PR review guidelines. Provide your review comments, focusing only on what the guidelines say to comment on, and explicitly skipping what they say to skip.

Expected Outputs

  • A list of review comments (limit to 5-7 high-signal comments)
  • Each comment should identify a specific issue and explain why it matters
  • Comments should only cover: logic errors, security vulnerabilities, test name typos, breaking changes
  • Should NOT include: style/formatting nitpicks, "consider" suggestions, performance opinions without data