पाठ 17 / 25

CI और Review अंतिम प्राधिकार के रूप में

Tests, scanners और इंसानी review CI में चलाएँ, agent के नियंत्रण से बाहर।

वे जाँचें जिन्हें agent हटा नहीं सकता

स्थानीय जाँचें सलाहकारी हैं क्योंकि agent उन्हें बदल या छोड़ सकता है। प्रामाणिक जाँचें server पर CI में चलती हैं, ऐसी configuration से जिसे agent बिना review के नहीं बदल सकता: unit tests, linters, secret scanning, dependency व vulnerability scanning, और code owner की अनिवार्य इंसानी मंज़ूरी। पक्का करें कि branches या forks के pull requests का CI production secrets न पाए।

CI job का खाका

नाम उदाहरण के लिए हैं। मुख्य बात यह है कि ये steps server पर चलते हैं और branch protection द्वारा अनिवार्य हैं।

name: checks
on: pull_request
permissions: { contents: read }      # least privilege for the job token
jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npm run lint && npm test
      - run: npx gitleaks detect --no-banner      # secret scan
      - run: npm audit --audit-level=high         # dependency scan

Agent को ख़ुद मंज़ूरी न देने दें

कम से कम एक ऐसा इंसान अनिवार्य करें जो लेखक न हो। जो agent pull request खोले और ख़ुद ही मंज़ूर करे, या admin अधिकारों से merge करे, वह review का उद्देश्य विफल करता है।

त्वरित जाँच: Server-side CI जाँचें स्थानीय जाँचों से ज़्यादा भरोसेमंद क्यों हैं?

  • स्थानीय जाँचें हमेशा ग़लत होती हैं
  • CI हमेशा तेज़ है
  • Agent उन्हें चुपचाप बदल या छोड़ नहीं सकता
  • स्थानीय जाँचों में पैसा लगता है
Answer

Agent उन्हें चुपचाप बदल या छोड़ नहीं सकता — Agent के परिवेश के बाहर नियंत्रित जाँचें agent के compromised होने पर भी मान्य रहती हैं।