mirror of
https://github.com/codeflash-ai/codeflash-internal.git
synced 2026-05-04 18:25:18 +00:00
32 lines
1.7 KiB
JSON
32 lines
1.7 KiB
JSON
|
|
{
|
||
|
|
"context": "Tests whether the agent correctly implements a new language handler following the registry pattern, protocol system, code style conventions, and monorepo directory structure",
|
||
|
|
"type": "weighted_checklist",
|
||
|
|
"checklist": [
|
||
|
|
{
|
||
|
|
"name": "Registry and protocol integration",
|
||
|
|
"description": "Handler class uses @register_handler('ruby') decorator, sets supports_optimizer=True and other supports_* to False, implements OptimizerProtocol with async optimizer_optimize method, and is imported in core/languages/__init__.py",
|
||
|
|
"max_score": 30
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "Lazy import dispatch in router",
|
||
|
|
"description": "optimizer_router.py dispatches 'ruby' language using a lazy import inside the endpoint body with # noqa: PLC0415 comment, following the existing pattern for js_ts",
|
||
|
|
"max_score": 20
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "Async and schema conventions",
|
||
|
|
"description": "Endpoint method is async def, uses ninja.Schema or Pydantic BaseModel for types, calls LLM through aiservice/llm.py (not provider APIs directly), and prompt is a .md file rendered with Jinja2",
|
||
|
|
"max_score": 25
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "Correct directory placement",
|
||
|
|
"description": "Handler is at core/languages/ruby/optimizer/optimizer.py, prompt .md file is alongside the module, test is at tests/optimizer/test_ruby_optimizer.py, and all __init__.py files are created",
|
||
|
|
"max_score": 15
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"name": "Test conventions",
|
||
|
|
"description": "Test file uses @pytest.mark.asyncio for async tests, follows the feature-based test organization, and optionally uses test factories like create_optimizer_context()",
|
||
|
|
"max_score": 10
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|