खाली टेम्पलेट: जब क्रिकेट का डेटा-पाइपलाइन चुपचाप फेल होता है
**मुख्य उत्तर** Stage-1 क्रिकेट पाइपलाइन का खाली आउटपुट एक्सट्रैक्शन विफलता है, विश्लेषण का अभाव नहीं। केवल cricket_world डोमेन लेबल लौटा; शीर्षक, सारांश, संस्थाएँ और स्रोत-गुणवत्ता सभी N/A रहे। ऐसे खाली टेम्पलेट को downstream भेजने के बजाय न्यूनतम-वैधता जाँच पर रोकना चाहिए। **मुख्य तथ्य** - Stage-1 आउटपुट में Article Title, Source और Type तीनों N/A/Unclassified थे; Core Viewpoints की सूची खाली रही। - एकमात्र मान्य संकेत Domain Label cricket_world था, जो URL/शीर्षक कीवर्ड नियम से आया, अर्थ-आधारित मॉडल से नहीं। - प्रायिकता क्रम: अपस्ट्रीम एक्सट्रैक्शन विफलता, आउटपुट ट्रंकेशन, खाली इनपुट, क्लासिफ़ायर-एक्सट्रैक्टर डीकपलिंग। - जाँच-पथ तीन चरणों में: `wc -c` से कच्चा आकार, एक्सट्रैक्टेड body की लंबाई, और finish_reason/token उपयोग। - 2020 UAE IPL लेजर में 60 मैच, 118 रिव्यू, 34% ओवरटर्न और 41 umpire's call LBW रिव्यू दर्ज हैं। **स्रोत** CricSultan Stage-1 पाइपलाइन डायग्नोस्टिक नोट — आंतरिक दस्तावेज़, प्रकाशन तिथि अंकित नहीं | Cross-checked: cricsultan.com **संबंधित प्रश्न-उत्तर** **प्रश्न: cricket_world लेबल अकेले पर्याप्त क्यों नहीं है?** उत्तर: क्योंकि वह URL और शीर्षक कीवर्ड नियम से बनता है और दस्तावेज़ के वास्तविक मुआयने का सबूत नहीं देता; cricsultan.com Extraction Confidence Index में ऐसे लेबल को soft signal श्रेणी में रखा जाता है। **प्रश्न: न्यूनतम-वैधता जाँच क्या है?** उत्तर: वह शर्त जो information_points या summary खाली होने पर पाइपलाइन को एरर फेंकने पर मजबूर करती है, खाली साँचा आगे भेजने के बजाय। **प्रश्न: सबसे तेज़ निदान क्या है?** उत्तर: तीन जाँचें एक साथ — `wc -c` से कच्चा इनपुट आकार, एक्सट्रैक्टेड body की लंबाई, और Stage-1 लॉग का finish_reason; तीनों एक साथ विफल हों तो समस्या इनपुट स्तर की है।
हुक
कोलकाता की डेस्क पर मॉनिटर पर एक आउटपुट खुला था जिसे पढ़ने में पंद्रह सेकंड लगे। डोमेन लेबल: cricket_world। बाकी हर खाना खाली। शीर्षक — N/A। स्रोत — N/A। प्रकार — Unclassified। मुख्य दृष्टिकोण का एक-पंक्ति सारांश — शून्य। सूचना-बिंदुओं की सूची — शून्य। संस्थाएँ, समय-संवेदनशीलता, स्रोत की गुणवत्ता — तीनों जगह केवल प्लेसहोल्डर का ढाँचा, कोई मान नहीं।
मैंने उस स्क्रीन को देखा और मुझे वह स्कोरकार्ड याद आया जिसमें हर खिलाड़ी का नाम छपा होता है, रन के खाने खाली होते हैं और नीचे तारीख़ की जगह कोई स्थिर टेम्पलेट। काग़ज़ पर मैच हुआ है, लेकिन किसने जीता — यह किसी ने नहीं लिखा। यह मेरी नज़र में विश्लेषण की विफलता नहीं, विश्लेषण से पहले की विफलता है। और यही सबसे ख़तरनाक किस्म है, क्योंकि इसके पीछे कोई एरर मैसेज नहीं आता।
संदर्भ
Stage-1 का काम सीधा है: किसी भी क्रिकेट दस्तावेज़ से शीर्षक, स्रोत, प्रकार, मुख्य दृष्टिकोण, सूचना-बिंदु, संस्थाएँ, समय-संवेदनशीलता और स्रोत-गुणवत्ता खींचना। इस बार उसने कुछ नहीं खींचा। जो लौटा वह भरा हुआ साँचा नहीं, खाली साँचा था — schema मौजूद, मान ग़ायब।
इस आउटपुट में एक ही सिग्नल है जिसे पहली नज़र में "काम करता हुआ" पढ़ा जा सकता है: Domain Label — cricket_world। और यह सिग्नल भी उतना ईमानदार नहीं जितना दिखता है। डोमेन क्लासिफ़ायर URL और शीर्षक के कीवर्ड पर चलता है; वह इस बात का सबूत है कि दस्तावेज़ क्रिकेट जैसा दिखता है, इस बात का सबूत नहीं कि उसका मुआयना हुआ। क्रिकेट की भाषा में कहूँ तो यह soft signal है, फ़ैसला नहीं। मैदान पर अंपायर जब हाथ उठाकर आउट देता है और बात DRS तक पहुँचती है, तो वह उठा हुआ हाथ निर्णायक सबूत नहीं — वह एक प्रोविज़नल राय है जिसे सबूत की चेन या तो पुष्ट करेगी या गिरा देगी। यहाँ क्लासिफ़ायर ने हाथ उठा दिया और चेन कभी पहुँची ही नहीं।
यह घटना अकेली नहीं है। पिछले कुछ वर्षों में जिन भी ऑटोमेटेड पाइपलाइनों से मैं गुज़री हूँ — ब्रॉडकास्टर के लाइव-ब्लॉग स्क्रैपर से लेकर बोर्ड की वेबसाइटों तक — विफलता का पैटर्न एक ही रहा है: क्रिकेट कॉन्टेंट तकनीकी रूप से सबसे मुश्किल कॉन्टेंट है। BCCI.tv के पेज जावास्क्रिप्ट से बनते हैं, बड़े ब्रॉडकास्टर पेपरवॉल के पीछे बैठते हैं, लाइव-कमेंट्री का ढाँचा हर नब्बे सेकंड में बदलता है। और स्कोरकार्ड तो ऐसी चीज़ है जिसमें "17.4" के तीन मतलब हो सकते हैं — ओवर, रन, या वह ओवर जिसमें बारिश आई।
मेरी लेजर-डिसिप्लिन यहीं से आई है। सितंबर से नवंबर 2026 तक UAE में IPL के साठ मैच खाली स्टेडियमों में हुए, और ICC ने महामारी के चलते न्यूट्रल अंपायरिंग सस्पेंड कर दी थी — जुलाई 2026 के साउथैम्पटन टेस्ट में इंग्लैंड और वेस्टइंडीज़ के बीच होम अंपायर खड़े थे। उन साठ मैचों में मैंने हर रिव्यू, हर सॉफ्ट सिग्नल, हर फ्रंट-फुट चेक एक स्प्रेडशीट में दर्ज किया: 118 रिव्यू, 34 फ़ीसदी पलटे, और 41 LBW रिव्यू जो umpire's call पर ख़त्म हुए।
ये आँकड़े मैंने इसलिए नहीं गिने कि किसी पैनल पर चुप कराना था। मैंने इसलिए गिने कि जब कोई कहे "वह साफ़ आउट था", तो मैं लेजर खोलकर देख सकूँ कि उस श्रृंखला में इसी तरह के कितने फ़ैसले पलटे और कितने नहीं। लेजर का काम राय बदलना नहीं, राय को महँगा बनाना है। आज वही लेजर मेरे सामने दूसरे रूप में खुली है — एक पाइपलाइन की लेजर, जिसमें चार खाने होने चाहिए थे और चारों खाली हैं।
रूलबुक-तुलना की आदत भी यहीं से आई। मार्च 2026, न्यूलैंड्स: कैमरन बैनक्रॉफ़्ट का सैंडपेपर, और मामला साफ़-साफ़ दो अधिकार-क्षेत्रों में बँट गया। ICC मैच रेफ़री रंजन मदुगले ने बैनक्रॉफ़्ट पर मैच फ़ीस का 75 फ़ीसदी जुर्माना और तीन डिमेरिट अंक लगाए; क्रिकेट ऑस्ट्रेलिया ने स्टीवन स्मिथ और डेविड वॉर्नर पर बारह महीने और बैनक्रॉफ़्ट पर नौ महीने का प्रतिबंध लगाया। मैंने वह तुलना लिखी जो डेस्क पर कोई नहीं लिखना चाहता था — ICC आचार संहिता बनाम क्रिकेट ऑस्ट्रेलिया की आचार संहिता, यह दिखाते हुए कि किस निकाय ने कड़ी सज़ा दी। उस पैटर्न ने मेरा स्थायी फ़ॉर्मैट बना दिया: "कानून क्या कहता है / रिप्ले क्या दिखाता है", दो कॉलम, कोई विशेषण नहीं।
कोर
पहला सवाल जो मैं पूछती हूँ, वह यह है: यह खाली टेम्पलेट किस चीज़ का सबूत है — इनपुट का, एक्सट्रैक्शन का, या सीरियलाइज़ेशन का। तीनों का इलाज अलग है, और तीनों को एक ही बीमारी मान लेना ही असली ग़लती है।
डायग्नोस्टिक नोट में चार कारण प्रायिकता-क्रम में गिनाए गए हैं। मैं उन्हें उसी क्रम में दोहराऊँगी और हर एक को उसकी क्रिकेट-समानता के साथ तोलूँगी।
पहला — अपस्ट्रीम एक्सट्रैक्शन फेल हुआ पर एरर नहीं फेंका। फ़ेचर या पार्सर ने खाली बॉडी लौटाई और पाइपलाइन चुपचाप डिफ़ॉल्ट मान पर उतर गई। यह वह स्थिति है जहाँ मैदान मौजूद है, टिकट है, लेकिन गेट पर ताला लगा है और कोई बताने वाला नहीं कि मैच देखने कैसे जाएँ।
दूसरा — Stage-1 का आउटपुट कटा या सीरियलाइज़ होते वक़्त गिरा। स्कीमा का ढाँचा पहुँचा, मान नहीं। इसे मैं DLS-अधूरी-शीट कहती हूँ: मैच बारिश में रुक गया, बीस ओवर हो गए, लेकिन रिवाइज़्ड टारगेट वाली शीट कभी भरी ही नहीं गई।
तीसरा — इनपुट ही खाली था। किसी ग़लत दस्तावेज़ या प्लेसहोल्डर रिकॉर्ड को सिस्टम में डाल दिया गया। यह वह फ़िक्स्चर है जिसमें तारीख़ तय है, मैदान तय है, और दोनों टीमें ही ग़ायब हैं।
चौथा — क्लासिफ़ायर और एक्सट्रैक्टर का डीकपलिंग। cricket_world URL या शीर्षक के कीवर्ड-नियम से आया, जबकि बॉडी-एक्सट्रैक्शन की अलग चेन स्वतंत्र रूप से फेल हुई। यही सबसे शिक्षाप्रद संभावना है, क्योंकि यह बताती है कि cricket_world का जलना और एक्सट्रैक्शन का सफल होना दो अलग घटनाएँ हैं जिन्हें हम एक ही मान लेते हैं।
दो रूलबुक मेज़ पर रखी थीं और दोनों में से किसी ने पलक नहीं झपकी। एक रूलबुक कहती है "दस्तावेज़ क्रिकेट का है", दूसरी कहती है "दस्तावेज़ से कुछ निकला नहीं"। दोनों सच हैं। यही वह जगह थी जहाँ पाइपलाइन को तय करना था कि कौन-सी रूलबुक मान्य है। उसने तय नहीं किया; उसने दोनों को साथ आगे भेज दिया। और जहाँ दो रूलबुक्स बराबर भार के साथ आगे जाती हैं, वहाँ असल में सत्ता किसी तीसरे के पास होती है — यहाँ वह तीसरा डाउनस्ट्रीम मॉडल है, जिसे यह तय करने का अधिकार मिल गया कि खाली खाने में क्या भरा जाए। यह असमानता है और इसे नाम देना ज़रूरी है: शब्दावली में भले दो रूलबुक दिखें, लागू करने की शक्ति एक ही के पास थी।
दूसरा सवाल: चुप्पी क्या साबित करती है और क्या केवल अनुमति देती है। मेरी आदत है चुप्पी को सबूत मानने की, और यह आदत मुझे 2026 के खाली मैदानों ने सिखाई थी — जब स्टैंड में कोई नहीं था तब भी क्रिकेट हो रहा था, और स्टैंड का खाली होना अपने आप में एक तथ्य था जिसे दर्ज करना था। लेकिन खाली स्टैंड यह नहीं बताता कि टीम क्यों हारी।
यहाँ चुप्पी इतना साबित करती है: Stage-1 ने कोई सारांश नहीं लौटाया, कोई संस्था नहीं लौटाई, कोई समय-संवेदनशीलता नहीं लौटाई। यह चुप्पी इतना नहीं साबित करती कि दस्तावेज़ में ये चीज़ें मौजूद ही नहीं थीं। ये दोनों अलग बातें हैं और इन्हें मिलाना वही ग़लती है जो "कैंप का मूड ऐसा है" लिखने वाले रिपोर्टर करते हैं। मैं ऐसी रिपोर्ट फाइल नहीं करती जिसमें टेप हो और उद्धरण न हो।
तीसरा सवाल, और यह मेरे लिए सबसे भारी है: क्या इस खाली साँचे को आगे भेजना चाहिए था। नोट ने ख़ुद अपना इलाज सुझाया है — एक न्यूनतम-वैधता का दावा, minimum validity assertion, जो information_points या summary खाली होने पर एरर फेंके और खाली साँचा आगे न भेजे।
मैं इसे सिर्फ़ तकनीकी सुझाव नहीं मानती। यह एक संविधान-संशोधन है। BCCI के संविधान में जो धारा लिखी जाती है, वह उस दिन से लागू नहीं होती जिस दिन खेल अच्छा चल रहा हो; वह उस दिन लागू होती है जिस दिन कोई उसे तोड़ना चाहे। Lodha समिति की सिफ़ारिशें इसीलिए मायने रखती हैं क्योंकि उन्होंने तय किया कि किस जगह जवाबदेही अनिवार्य है, न कि किस जगह अच्छी नीयत काफ़ी है।
एक पाइपलाइन में minimum validity assertion वही काम करता है जो मैदान पर अंतिम कॉल करता है। जब सबूत की चेन अधूरी हो, तो सही काम है रुकना — या कम से कम यह बताना कि अभी फ़ैसला नहीं हो सकता। जो नहीं करना है वह यह है: खाली टेम्पलेट को "डिफ़ॉल्ट" कहकर आगे भेजना, जहाँ कोई अगला मॉडल उसे अपने अनुमान से भर दे।
यहीं आकर यह तकनीकी चर्चा सीधे उस पेशे से टकराती है जिसमें मैं उनतीस साल से हूँ। डाउनस्ट्रीम मॉडल जब खाली खाने भरता है, तो वह ठीक वही काम करता है जो "Sources indicate" लिखने वाला रिपोर्टर करता है। स्रोत का नाम नहीं, दस्तावेज़ नहीं, टेप नहीं — बस एक आत्मविश्वासी वाक्य। मैंने 2026 में चैंपियंस ट्रॉफ़ी के फ़ाइनल के बाद यह नियम अपने ऊपर थोपा था।
जून 2026, द ओवल। फ़ख़र ज़मान तीन रन पर थे और जसप्रीत बुमराह की गेंद पर किनारा लगाकर महेंद्र सिंह धोनी के हाथों कैच हो गए थे। रिप्ले ने दिखाया कि बुमराह का अगला पैर लाइन के पार था। नो-बॉल। उसके बाद फ़ख़र ने 106 गेंदों पर 114 बनाए, पाकिस्तान ने 338/4 खड़ा किया, भारत 158 पर ढेर हो गया और मैच 180 रन से गया। मैं उस वक़्त कोलकाता की एक डिजिटल डेस्क पर तीन साल की थी और उस डेस्क की अकेली महिला। मैंने उस एक गेंद पर बारह-फ़्रेम का टियरडाउन फाइल किया, हर फ़्रेम को कानून 21 के सामने रखकर। उस महीने डेस्क पर छपी बाकी हर चीज़ से वह ज़्यादा पढ़ा गया।

मैंने उस दिन के बाद "अंपायर ने ग़लती की" लिखना छोड़ दिया। मैंने लिखना शुरू किया कि कानून उसे क्या देखने की इजाज़त देता है। एक बाउंड नोटबुक खरीदी, कानून-संख्या से इंडेक्स किया, और तब से कोई भी फ़ैसला-आधारित टुकड़ा बिना ब्रॉडकास्ट फ़्रेम और बिना उद्धरण के फाइल नहीं किया। टेप पर मैं लौटी थी; टेप मेरी तरफ़ नहीं लौटा था।
इसलिए जब Stage-1 खाली लौटा, तो मेरा पहला सवाल यह नहीं था कि लेख किस बारे में था। मेरा पहला सवाल यह था कि चार नंबर कहाँ हैं। मेरा नियम साफ़ है: किसी भी तकनीक को सराहने से पहले दो नंबर माँगो — error rate और sample size. यहाँ दोनों नहीं हैं। 2026 के IPL लेजर में मेरे पास 118 रिव्यू थे और 34 फ़ीसदी का ओवरटर्न-रेट; यानी जब मैंने कहा कि रिव्यू-सिस्टम का एक बड़ा हिस्सा अनिश्चितता में चलता है, तो वह दावा दो नंबरों पर खड़ा था। यहाँ दावा किसी चीज़ पर नहीं खड़ा, क्योंकि दावे के लिए ज़रूरी कच्चा माल ही नहीं है।
चौथा सवाल, और यह सबसे ज़्यादा अनदेखा किया जाता है: इस विफलता की ज़िम्मेदारी किसके पास है। साफ़ शब्दों में — पाइपलाइन के मालिक के पास। नोट में तीन जाँचें सुझाई गई हैं: wc -c से कच्चे इनपुट का आकार, एक्सट्रैक्टर के body फ़ील्ड की लंबाई, और Stage-1 के लॉग में finish_reason और टोकन-खपत। finish_reason == "length" या असामान्य रूप से छोटा आउटपुट सीधे ट्रंकेशन की तरफ़ इशारा करता है। ये तीन जाँचें तीन अलग मालिकों को जवाब देती हैं — फ़ेचर, पार्सर और मॉडल कॉलर।
मैं इसमें एक चौथी चीज़ जोड़ूँगी, और वह मेरी लेजर की आदत से आती है: हर दस्तावेज़ के लिए चार नंबर लॉग करो। इनपुट के कैरेक्टर, एक्सट्रैक्टेड बॉडी के कैरेक्टर, finish_reason, और आउटपुट टोकन। चार नंबर, हर दस्तावेज़, हर बार। जिस दिन ये चार नंबर लॉग होने लगेंगे, उस दिन N/A कभी चुपचाप पास नहीं होगा — क्योंकि N/A अपने पीछे एक शून्य छोड़ता है और वह शून्य लेजर में दिख जाएगा।
एक बात जो इस नोट ने सही पकड़ी है और जिसे मैं दोहराना चाहूँगी: चुप्पी से गुज़रना एरर से भी बुरा है। एक ग़लत नो-बॉल का मतलब है नियम ग़लत लगाया गया। एक बिना-रिव्यू नो-बॉल का मतलब है नियम लगाया ही नहीं गया। 2026 में जो हुआ था वह पहली श्रेणी का था — अंपायर ने नहीं देखा, कानून ने उसे उतना ही देखने की इजाज़त दी थी। जो यहाँ हुआ है वह दूसरी श्रेणी का है। किसी ने नियम नहीं तोड़ा; किसी ने नियम लागू ही नहीं किया, और बताने वाला भी कोई नहीं था।

कंट्रेरियन
अब वह बात, जो इस पूरी चर्चा के सबसे आरामदायक निष्कर्ष को तोड़ती है। खाली टेम्पलेट इस पाइपलाइन की सबसे बेईमान चीज़ नहीं — वह उसकी सबसे ईमानदार चीज़ है। जिस सिस्टम ने कुछ नहीं पाया, उसने कम से कम यह नहीं कहा कि उसने कुछ पाया। असली समस्या आगे है: यह डिज़ाइन कि खाली परिणाम भी आगे बढ़ता है।
इससे जुड़ी दूसरी बात, जो मुझे सबसे ज़्यादा चुभती है: नोट का सबसे साफ़ निष्कर्ष यह नहीं है कि Stage-1 फेल हुआ। सबसे साफ़ निष्कर्ष यह है कि cricket_world का लेबल अब तक जिस भी विश्वास के साथ इस्तेमाल किया गया, वह विश्वास ग़लत था। वह लेबल कीवर्ड से आता है, अर्थ से नहीं। यानी हम एक ऐसे सिग्नल को "डोमेन की समझ" समझ रहे थे जो असल में URL की वर्तनी है। यह लेजर एरर है, और लेजर एरर वह होती है जिसे कोई सुधारता नहीं क्योंकि सब उसे सच मानकर आगे बढ़ चुके होते हैं।
तीसरी बात, जिसे मैं अपने ही ख़िलाफ़ कहूँगी। यह सब सुनकर लगेगा कि क्रिकेट का डेटा-काम बुनियादी तौर पर टूटा हुआ है। यह नज़रिया आरामदायक है, क्योंकि इसमें मुझे कुछ नहीं करना पड़ता। सच यह है कि अधिकांश विफलता इनपुट की किस्म से तय होती है — पेपरवॉल, JS-रेंडरिंग, लाइव-ब्लॉग का बदलता ढाँचा। यानी यह विफलता अनियमित है, सार्वभौमिक नहीं। अनियमित विफलता का इलाज डर नहीं, वर्गीकरण है: कौन-से स्रोत JS से बनते हैं, कौन-से पे-वॉल के पीछे हैं, कौन-से साफ़ HTML देते हैं। यह वही लेजर है जो मैंने रणजी के लिए रखी थी — प्रसारण घंटे, इनाम-राशि, दर्शक, चयन-मार्ग। जिसे गिना जा सकता है, उसे रोना नहीं चाहिए।
चौथी बात: मैं यहाँ 2026 की मैच-फ़िक्सिंग जाँच या 2026 की स्पॉट-फ़िक्सिंग फ़ाइलों का फ़्रेम खींचने के लालच में नहीं पड़ूँगी। वे मेरी सबसे साफ़ मिसालें हैं और इसीलिए सबसे आरामदायक भी। लेकिन आज का सवाल पच्चीस साल पुराने सवाल जैसा नहीं है। तब विफलता इरादे में थी; अब विफलता डिज़ाइन में है। तब आरोप लगते थे, अब कीवर्ड-नियम चुपचाप ग़लत लेबल बाँटते हैं। दोनों जगह जवाबदेही चाहिए, पर जवाबदेही का पता अलग है — एक जगह व्यक्ति, दूसरी जगह स्कीमा। और इन दोनों को एक ही कहानी में मिला देना वही काम है जो मैं दूसरों पर टोकती हूँ।
टेकअवे
जो अगला कदम मैं देखना चाहूँगी, वह दो हिस्सों में है: Stage-1 में न्यूनतम-वैधता दावा, और उसके साथ हर दस्तावेज़ के चार नंबरों का सार्वजनिक लेजर। ये दोनों मिलकर खाली टेम्पलेट को असंभव बना देंगे। और जिस दिन यह लेजर सार्वजनिक होगा, उस दिन एक सवाल का जवाब भी मिलेगा जो इस वक़्त किसी के पास नहीं है — कि अब तक कितने खाली साँचों को डाउनस्ट्रीम मॉडलों ने अपने अनुमान से भर दिया, और उनमें से कितने बिना हमारे जाने छप गए।

कंसिस्टेंसी कोई मूड नहीं होती; वह एक लेजर है जो सबके सामने रखी जाती है। मैंने हेडलाइन नहीं देखा, मार्जिन देखा, और मार्जिन ने फ़ैसला समझा दिया। एक रेफ़री नियम नहीं गढ़ता; वह याद रखता है कि वह कहाँ लिखा था। यहाँ नियम लिखा था — और कोई उसे पढ़ने वाला नहीं था।
