{
  "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
    }
  ]
}
