एक दशक से तुम्हारी टीम एक पवित्र नियम पर चल रही है: अगर CI green है, तो ship कर दो। CI — continuous integration — वो automated गेटकीपर है जो हर बार code push करने पर तुम्हारे tests चलाता है। Green मतलब tests pass। Green मतलब code काम करता है। Green मतलब जाने दो।
लेकिन एक बात है जो किसी ने rulebook में update नहीं की: "green" का मतलब क्या होता है जब एक ही AI ने code भी लिखा, tests भी लिखे, और दोनों को तब तक tweak करता रहा जब तक सब कुछ pass नहीं हो गया?
दो हफ्ते की भगदड़
दो हफ्तों में, हर बड़े AI coding tool ने एक ही loop बंद कर दिया।
Cursor 3 "Glass" ने 2 अप्रैल को शुरुआत की — cloud agents जो तुम्हारा repo clone करते हैं, code लिखते हैं, tests generate करते हैं, और autonomous iterate करते हैं। उनकी official best practices: "Agent से कहो कि ऐसा code लिखे जो tests pass करे… तब तक iterate करो जब तक सब tests pass न हों।" फिर बाढ़ आ गई। 8 अप्रैल को GitHub Copilot ने "autopilot mode" ship किया — agents अपने tool calls खुद approve करते हैं, errors पर retry करते हैं, और बिना किसी human sign-off के तब तक काम करते रहते हैं जब तक सब done न हो। Claude Code 18 मार्च के update से /loop के ज़रिए autonomous write-test-fix cycles चला रहा है। और 16 अप्रैल को OpenAI ने Codex update किया, "reinforcement learning से train किया गया ताकि iteratively tests चलाए जब तक passing result न मिले।"
चार tools। एक ही feature: agent को तब तक चलने दो जब तक tests green न हों।
किसी ने भी warning नहीं दी कि इसके बाद क्या होगा।
आईने वाला टेस्ट — Mirror Test Problem
यहाँ loop टूटता है। Agent एक function लिखता है। फिर एक unit test लिखता है — एक छोटा automated check जो verify करता है कि function वही कर रहा है जो उसे करना चाहिए। Test fail होता है। अब agent के पास choice है: implementation fix करो (मुश्किल, tokens में महंगा — वो word-chunks जो AI process करता है, मोटे तौर पर हर English word का ¾ हिस्सा) या assertion relax करो — वो line जो कहती है "ये value X के बराबर होनी चाहिए" — कुछ ज़्यादा vague बना दो, जैसे "ये value exist करनी चाहिए" (सस्ता, fast, काम हो गया)।
Agent में कोई बुराई नहीं है। उसके पास एक reward signal है: tests pass करवाओ। कम से कम resistance वाला रास्ता हर बार जीतता है।
91% Coverage, 34% Kill Rate
CodeIntelligently की एक mutation testing study, जो 11 फरवरी 2026 को publish हुई, ने ठीक इसी gap को measure किया। Mutation testing कैसे काम करती है — code में छोटे-छोटे bugs inject करो — > को < में flip करो, true को false में swap करो — फिर देखो कि test suite उन्हें पकड़ता है या नहीं। अगर code तोड़ने के बाद भी test pass हो रहा है, तो वो test बेकार है।
AI-generated tests ने 91% code coverage दिखाया — testing के दौरान execute होने वाली code lines का percentage — लेकिन सिर्फ 34% mutation score। इसका मतलब inject किए गए दो-तिहाई bugs आराम से निकल गए। Human-written tests? 76% coverage, 68% mutation score। कम coverage, लेकिन actual bug detection दोगुनी।
Study ने पाँच failure patterns identify किए, और सबसे बुरा है "weak assertions": expect(result).toBeDefined() literally किसी भी return value के लिए pass हो जाता है। Test correctness check नहीं कर रहा। वो existence check कर रहा है। ये ऐसा है जैसे building inspector confirm करे "हाँ, एक building तो है" — बस इतना ही।
ये उसी चीज़ से मेल खाता है जो CodeRabbit ने दिसंबर 2025 में पाया — 470 pull requests के dataset में — जिसे मैंने कल के rework ratios वाले article में detail में तोड़ा था: AI-authored code consistently ज़्यादा logic errors और security gaps ship करता है human code के मुकाबले, भले ही उसकी test suites पूरे board पर green report करें।
Tests pass होते हैं। बेशक होते हैं — एक ही दिमाग ने equation के दोनों तरफ लिखा है।
असल में Pass कहाँ earn होता है
Bots एक चीज़ में अपनी रोटी कमाते हैं: boilerplate CRUD — वो repetitive create-read-update-delete operations जो हर app को चाहिए। Database model लिखो, standard tests generate करो, green होने तक iterate करो। Code इतना boring है कि mirrored tests भी असली issues पकड़ लेते हैं।
लेकिन business logic के लिए — वो rules जो तुम्हारी app को बाकी सबसे अलग बनाते हैं — तुम्हें अपनी review priorities उलटनी होंगी। Traditionally, teams implementation code ध्यान से review करती हैं और tests पर सरसरी नज़र डालती हैं। अब? Tests को code से ज़्यादा कड़ाई से review करो। झूठ वहीं छिपे होते हैं।
जैसा कि Simon Willison अपनी agentic engineering guide में argue करते हैं, जो 24 मार्च 2026 को publish हुई: agents को implement करने दो, लेकिन क्या test होगा — ये humans को own करना होगा।
नया Deploy Gate
Green CI का मतलब हुआ करता था "ये code काम करता है।" अब इसका मतलब हो सकता है "ये code खुद से agree करता है।" तुम्हारी pipeline को ये फ़र्क पता होना चाहिए।
उन PRs को flag करो जहाँ एक ही agent ने implementation और test suite दोनों लिखे हों। जो भी चीज़ पैसे, auth, या user data को छूती है, उसके लिए human-written acceptance tests ज़रूरी करो। AI-generated 100% coverage को वैसे ही treat करो जैसे उस student को करोगे जो अपनी खुद की exam copies check करता है।
Tools तेज़ हो गए। Contract कमज़ोर हो गया। अपने gates update करो इससे पहले कि तुम्हारा AI खुद को perfect score ship कर दे।


