{
  "schema_version": 1,
  "id": "limit-diff-size",
  "track": "coding",
  "name": "Keep Changes Small Enough to Review",
  "version": "0.0.4",
  "sha256": "d8d7f3db55af998760999b9dad86d936ddc205d2315404aaa590b7ae7ea8c176",
  "sha256_v1": "9c80ecab302e6ca41bb94f4adc867a19fb990c434cb1233706050cd115a67c46",
  "keyword": "advise",
  "word": "advisory",
  "says": "advisory only. It is skill text, and nothing stops a violation",
  "description": "trigger: staging a large change, committing more than a reviewer can read at once. avoid: one commit carrying hundreds of hand-written lines; lockfile and generated churn is not counted.",
  "misses": null,
  "where": [
    "text"
  ],
  "groups": [
    "git-hygiene"
  ],
  "eval_cases": 11,
  "eval_executed": 3,
  "latest": {
    "version": "0.0.4",
    "date": "2026-10-27",
    "change": "Title wording only (IR-F40): \"Limit Diff Size Rule\" is now \"Keep Changes Small Enough to Review\". The id, guard and tests are unchanged."
  },
  "agent_labels": {
    "claude-code": {
      "keyword": "advise",
      "says": "advisory only. It is skill text, and nothing stops a violation"
    },
    "cursor": {
      "keyword": "advise",
      "says": "text only in a plugin. Nothing in the plugin stops a violation. The plugin does not carry the enforcement the manifest declares"
    },
    "codex": {
      "keyword": "advise",
      "says": "text only in a plugin. Nothing in the plugin stops a violation. The plugin does not carry the enforcement the manifest declares"
    },
    "copilot": {
      "keyword": "advise",
      "says": "text only in a plugin. Nothing in the plugin stops a violation. The plugin does not carry the enforcement the manifest declares"
    },
    "devin": {
      "keyword": "advise",
      "says": "text only in a plugin. Nothing in the plugin stops a violation. The plugin does not carry the enforcement the manifest declares"
    },
    "grok": {
      "keyword": "ungraded",
      "says": "Not graded yet for Grok"
    },
    "goose": {
      "keyword": "ungraded",
      "says": "Not graded yet for goose"
    },
    "antigravity": {
      "keyword": "ungraded",
      "says": "Not graded yet for Antigravity"
    },
    "openhands": {
      "keyword": "ungraded",
      "says": "Not graded yet for OpenHands"
    },
    "kimi-code": {
      "keyword": "ungraded",
      "says": "Not graded yet for Kimi Code"
    },
    "factory-droid": {
      "keyword": "ungraded",
      "says": "Not graded yet for Factory Droid"
    }
  },
  "source_url": "https://github.com/open-coder-ai/chock-catalog/tree/1e60d211c1bb767152c6ab0167932da06ab3a10f/base/limit-diff-size",
  "enforces": "enforced-at-commit",
  "examples": [
    {
      "word": "Asks",
      "prompt": "The commit stages 501 hand-written lines, one over the limit.",
      "command": null
    },
    {
      "word": "Allowed",
      "prompt": "The commit stages exactly 500 lines.",
      "command": null
    }
  ]
}
