# Diff आकार और दायरे के Gates — AI Coding-Agent Guardrails

Source: https://www.geekswithgeeks.com/hi/coding-agent-guardrails/git-diff-gates

> ऐसे बदलाव चिह्नित या बंद करें जो काम से कहीं बड़े या चौड़े हों।

## बड़े diffs ग़लतियाँ छिपाते हैं

Reviewer 3,000 पंक्तियों का diff सचमुच नहीं पढ़ सकते। Agent के pull request के लिए **बदली files** और **बदली पंक्तियों** की सीमाएँ तय करें; सीमा पार होने का मतलब है "इसे बाँटो" या "गहरी समीक्षा कराओ", अपने आप merge नहीं। इसे protected-path जाँच से मिलाएँ ताकि अनपेक्षित files उभरकर दिखें। चालीस files बदलने वाला छोटा काम अपने आप में चेतावनी है।

## आकार gate, चलाकर

मैंने यह चलाया। तीन files और 80 पंक्तियाँ पास होती हैं; चालीस files और 900 पंक्तियाँ कारणों के साथ अस्वीकार होती हैं। CI में आप संख्याएँ `git diff --numstat` से लेंगे।

```python
def gate(files, lines, max_files=15, max_lines=400):
    reasons = []
    if files > max_files: reasons.append(f"too many files ({files})")
    if lines > max_lines: reasons.append(f"too many lines ({lines})")
    return reasons or ["ok"]

print(gate(3, 80), gate(40, 900))
```

Output:

```
['ok'] ['too many files (40)', 'too many lines (900)']
```

## छोटे pull requests माँगें

Agents के लिए project guide में "हर pull request में एक तार्किक बदलाव" रखें। छोटे diffs की समीक्षा, वापसी और ग़लत होने पर दोबारा कोशिश सस्ती होती है।

**Quiz:** Agent का pull request आकार सीमा पार करे तो क्या होना चाहिए?

- [ ] अपने आप merge हो
- [ ] सीमा चुपचाप बढ़ा दी जाए
- [x] उसे बाँटा जाए या गहरी समीक्षा मिले
- [ ] Tests हटा दिए जाएँ

*Answer:* उसे बाँटा जाए या गहरी समीक्षा मिले. बड़े बदलावों की जाँच कम नहीं, ज़्यादा होती है।
