codeflash-internal/tiles/codeflash-internal-rules/evals/scenario-3/criteria.json

27 lines
1.3 KiB
JSON
Raw Normal View History

{
"context": "Tests whether the agent follows git conventions (branching from main, conventional commits, branch naming, pre-commit) and maintains code style (lazy imports, async) when fixing a bug",
"type": "weighted_checklist",
"checklist": [
{
"name": "Conventional commit message",
"description": "Commit uses fix: prefix since this is a bug fix. Message is concise (1-2 sentences). Does not use feat:, refactor:, or other incorrect prefixes.",
"max_score": 25
},
{
"name": "Branch naming and creation",
"description": "Branch is created from main (not from current branch), follows cf-#-title pattern as cf-847-fix-language-alias-normalization or similar, lowercase and hyphenated",
"max_score": 25
},
{
"name": "Pre-commit and atomic commit",
"description": "Runs uv run prek run --all-files before committing, commit is atomic (one logical change: the bug fix and its test together), and Linear reference CF-847 is included",
"max_score": 25
},
{
"name": "Code style preserved in fix",
"description": "Fix preserves lazy import pattern with # noqa: PLC0415, router dispatch structure is maintained, and test uses @pytest.mark.asyncio and feature-based organization in tests/optimizer/",
"max_score": 25
}
]
}