এশিয়ান ক্রিকেটশূন্য পেলোডের সত্য: ক্রিকেট ডেটা পাইপলাইনে নাল ফলাফল, বানানো বিশ্লেষণের ঝুঁকি এবং টেম্পার-প্রুফ অডিট ট্রেইলের প্রয়োজনীয়তা
এশিয়ান ক্রিকেট

শূন্য পেলোডের সত্য: ক্রিকেট ডেটা পাইপলাইনে নাল ফলাফল, বানানো বিশ্লেষণের ঝুঁকি এবং টেম্পার-প্রুফ অডিট ট্রেইলের প্রয়োজনীয়তা

**মূল উত্তর:** ক্রিকেট ডেটা পাইপলাইনে Stage-1 পেলোড সম্পূর্ণ খালি ফিরলে Stage-2 বিশ্লেষণ চালানো যায় না। সঠিক পেশাগত পদক্ষেপ হলো আটটি মাত্রা অমূল্যায়নযোগ্য ঘোষণা করা, বানানো বিশ্লেষণ প্রত্যাখ্যান করা এবং পেলোডটিকে UNPROCESSABLE হিসেবে ইনজেশনে ফেরত পাঠানো। **মূল তথ্য:** - Stage-1 পেলোডে শিরোনাম, সূত্র, তথ্যবিন্দু ও সত্তা সবই N/A; একমাত্র পূর্ণ ঘর ডোমেইন লেবেল cricket_asia। - ফরম্যাট (টেস্ট/ওডিআই/টি-টোয়েন্টি) চিহ্নিত না হলে ক্রিকেট মেট্রিকের কোনো তুলনা বৈধ নয়। - Stage-2-এর আটটি মাত্রাই শূন্য ফিরেছে; তথ্যবিন্দু খালি হওয়ায় জড়িত সত্তা শনাক্তকরণ অসম্ভব হয়ে পড়েছে। - প্রধান ঝুঁকি বিশ্লেষণসংক্রান্ত: খালি ইনপুটে ভাষা-মডেল খেলোয়াড়, ম্যাচ বা বিতর্ক বানিয়ে ফেলতে পারে। - সুপারিশ: হ্যাশ-চেইনড অডিট ট্রেইল এবং শূন্য তথ্যবিন্দুতে স্বয়ংক্রিয় UNPROCESSABLE গেট। **সূত্র উদ্ধৃতি:** Stage-2 Deep Professional Analysis — Cricket Domain (ইনটেক নাল-রেজাল্ট ডায়াগনস্টিক প্রতিবেদন)। প্রকাশের তারিখ: মূল নথিতে উল্লেখ নেই। **সম্পর্কিত প্রশ্নোত্তর:** প্রশ্ন: Stage-2 বিশ্লেষণ কেন চলতে পারেনি? উত্তর: কারণ Stage-1 ডিকম্পোজিশন কোনো শিরোনাম, সূত্র বা তথ্যবিন্দু দেয়নি, ফলে আটটি মাত্রার কোনো ইনপুটই ছিল না। প্রশ্ন: cricket_asia লেবেল কি প্রমাণ হিসেবে ব্যবহার করা যায়? উত্তর: না, এটি কেবল রাউটিং ট্যাগ, বিষয়বস্তু নয়; এটি দিয়ে দল বা খেলোয়াড় শনাক্ত করা যায় না। প্রশ্ন: এই ব্যর্থতা কীভাবে ঠেকানো যায়? উত্তর: হেডলেস রেন্ডারার, এইচটিটিপি স্ট্যাটাস ও কনটেন্ট-লেংথ লগিং, এবং শূন্য তথ্যবিন্দু প্রত্যাখ্যানকারী ভ্যালিডেশন গেট দিয়ে।

রাত ১টা ৪৭। ময়মনসিংহের বাসার ঘরে ল্যাপটপের পর্দা ছাড়া আর কোনো আলো জ্বলে নেই। ইনজেশন লগে নতুন একটা পেলোড ঢুকেছে, আমি স্ক্রল করে নিচে নামলাম। শিরোনাম: N/A। সূত্র: N/A। নিবন্ধের ধরন: Unclassified। তথ্যবিন্দু: ফাঁকা তালিকা। মূল দৃষ্টিভঙ্গি: খালি। জড়িত সত্তা: "উপরের তথ্যবিন্দু থেকে শনাক্ত করুন" — অথচ তথ্যবিন্দু বলে কিছু নেই। সময়-সংবেদনশীলতা: "Stage 1-এ মূল্যায়ন করা হয়নি"। উৎসের গুণমান: "উৎস ক্ষেত্র থেকে বিচার করুন" — অথচ উৎস ক্ষেত্রও নেই।

আটটা ঘর। সাতটায় শূন্যতা। একটা ঘরে একটা শব্দ — cricket_asia।

সেই মুহূর্তে মনে হলো, আমি উল্টো দিক থেকে একটা স্কোরকার্ড দেখছি। ক্যারিয়ারের গোড়ায় আমি ফলের দিকে তাকিয়ে ভুল করেছি; পরে শিখেছি ফলটা আওয়াজ, প্রক্রিয়াটা সত্য। আজ প্রক্রিয়াটাই ফাঁকা। কোনো দল নেই, কোনো ম্যাচ নেই, কোনো ফরম্যাট নেই, কোনো খেলোয়াড় নেই। শুধু একটা রাউটিং ট্যাগ, যেটা জানাচ্ছে নিবন্ধটি এশিয়া অঞ্চলের ক্রিকেট ঝুড়িতে পাঠানো হয়েছে। ঝুড়ির গায়ে নাম লেখা আছে, ভেতরে কিছু নেই।

যে কাঠামোয় আমরা আটকে আছি

কী এই দুই স্তরের পাইপলাইন, সেটা আগে পরিষ্কার হওয়া দরকার। Stage 1 হলো ডিকম্পোজিশন স্তর — একটা নিবন্ধ পড়ে তার শিরোনাম, সূত্র, ধরন, তথ্যবিন্দু, জড়িত সত্তা, সময়-সংবেদনশীলতা আর উৎসের গুণমান আলাদা আলাদা ঘরে ভরে দেয়। Stage 2 হলো সেই কাঠামোর ওপর বিশেষজ্ঞ-বিশ্লেষণ, আটটা মাত্রায়: ফরম্যাট ও ম্যাচ, খেলোয়াড়ের কারিগরি ও ডেটা, দলের ল্যান্ডস্কেপ ও র‍্যাঙ্কিং, লিগ ও বাণিজ্যিক ইকোসিস্টেম, নিয়ম ও গভর্নেন্স, ঝুঁকি, জনমত ও প্রত্যাশার ব্যবধান, আর শিল্পে সংক্রমণ। Stage 2 সবসময় Stage 1-এর নিচে বসে থাকে। উপরের স্তর খালি ফিরলে নিচের আটটা মাত্রা উত্তরাধিকারসূত্রে খালি।

আমার কাজ ট্রান্সফার মার্কেট অ্যাডমিনিস্ট্রেটর হিসেবে — চুক্তির ভাষা পড়া, বেতন-বোনাসের কাঠামো মেলানো, দল গঠনের হিসাব মেলানো। সেই কাজে একটা নিয়ম আমি কখনো ভাঙি না: যে দস্তাবেজ আসেনি, তার ব্যাখ্যা লেখা যায় না।

ফরম্যাট ছাড়া কোনো হিসাব বৈধ নয়

ফরম্যাট ছাড়া ক্রিকেট-বিশ্লেষণ অসম্ভব — এটা পদ্ধতিগত সত্য, মতামত নয়। টেস্টে ১৪০ স্ট্রাইক রেট অসাধারণ; টি-টোয়েন্টিতে সেটা মাঝারি। নতুন বলে ইকোনমি ৩.২ আর ডেথ ওভারে ৯.৮ — একই বোলারের দুটো আলাদা পেশা। পাওয়ারপ্লে, মিডল ওভার, ডেথ ওভার প্রতিটা পর্বের মেট্রিক আলাদা মানদণ্ডে বিচার হয়। যে নিবন্ধ Test না T20 না The Hundred, তা বলে না — সেই নিবন্ধের স্ট্রাইক রেট নিয়ে আমার কোনো মন্তব্য নেই।

Stage 1-এর cricket_asia ট্যাগ দেখে কেউ যদি ধরে নেয় বিষয়টা এশিয়ার ক্রিকেট, সেটা অনুমান, প্রমাণ নয়। ট্যাগটা শুধু বলছে নিবন্ধটি এশিয়া-অঞ্চল ঝুড়িতে রাউট হয়েছে। ভারত, পাকিস্তান, শ্রীলঙ্কা, বাংলাদেশ, আফগানিস্তান, আইপিএল, পিএসএল, আইএলটি-২০ — কোনটা, তা ট্যাগ বলে না।

Mymensingh, Abahani versus Bashundhara: my first live feed, heat, noise, no undo.

২০১৭ সাল। ২৬ বছর বয়স, অ্যাথলেট থেকে ট্রান্সফার মার্কেট অ্যাডমিনিস্ট্রেটরে সদ্য রূপান্তরিত। ময়মনসিংহভিত্তিক একটা স্কাউটিং কালেক্টিভের হয়ে স্বেচ্ছা ডেটা লগার। মাঠে গরম, গ্যালারিতে শব্দ, আর কোনো রিভার্স বাটন নেই। আমি লিখলাম: আবাহনী লিমিটেড ঢাকা ১.৯ এক্সজি, বসুন্ধরা কিংস ০.৭। ফল ১-২, আবাহনী হেরে গেল। জামাল ভূঁইয়ার পিপিডিএ ৭.৪, কভার ১১.৬ কিলোমিটার। সপ্তাহখানেক প্রতিটি টেপ আবার দেখলাম, তারপর লিখলাম — এই জয় টেকসই ফিনিশিংয়ের ওপর দাঁড়িয়ে নেই। থ্রেডটা স্থানীয় কোচদের মধ্যে ভাইরাল হলো, আমাকে কমেন্টে প্রতিটা মেট্রিকের পক্ষে লড়তে হলো। সেদিন থেকে আমার নিয়ম: স্কোরলাইন দিয়ে শুরু নয়, ডেটা অডিট দিয়ে শুরু।

Russia was a remote scout.

২০১৮, রাশিয়া বিশ্বকাপ। ঢাকার একটা এজেন্সির রিমোট ডেটা স্কাউট। ক্রোয়েশিয়া-ইংল্যান্ড সেমিফাইনাল: মোদরিচ ১১.৯ কিলোমিটার, পিপিডিএ ৯.৮, ক্রোয়েশিয়া ১.৪ এক্সজি, ইংল্যান্ড ০.৮। আমি ঢাকার একটা ফ্যান জোনে গিয়ে ভিড়ের প্রতিক্রিয়া দেখলাম, তারপর বাংলাদেশি ক্লাবগুলোর জন্য শর্টলিস্ট বানালাম। আইভান পেরিশিচকে আন্ডারভ্যালুড চিহ্নিত করেছিলাম। Scouting from a screen taught me distance is just another variable. কিন্তু ওই শিক্ষার একটা সীমা আছে, যেটা আজকের ঘটনায় স্পষ্ট: স্ক্রিন থেকে যা আসেনি, দূরত্ব দিয়ে তার ব্যাখ্যা হয় না।

ক্যাসকেডিং ডিপেন্ডেন্সি ফেইলিউর

Stage 1-এর পেলোডে যে ব্যর্থতা ঘটেছে, তার নাম ক্যাসকেডিং ডিপেন্ডেন্সি ফেইলিউর। "জড়িত সত্তা" ঘরটির নির্দেশ ছিল — উপরের তথ্যবিন্দু থেকে শনাক্ত করুন। তথ্যবিন্দুর তালিকা ফাঁকা, তাই নির্দেশটা পূরণযোগ্য নয়। একটা ঘর খালি হলে তার ওপর নির্ভরশীল ঘরগুলো স্বয়ংক্রিয়ভাবে অচল হয়ে পড়ে। এরপর আটটা মাত্রা একে একে বন্ধ হয়ে যায়।

ফরম্যাট ও ম্যাচ মাত্রায় কোনো ফরম্যাট নেই, ভেন্যু নেই, পিচ রিপোর্ট নেই, ডিএলএস নেই, টস নেই। ফল-বনাম-প্রক্রিয়া যাচাইয়ের একটা উপাদানও নেই। খেলোয়াড় মাত্রায় কোনো খেলোয়াড় সত্তাই নেই, তাই ভূমিকা শনাক্ত করা যায় না — ওপেনার, অ্যাঙ্কর, ফিনিশার, পেসার, স্পিনার, অলরাউন্ডার, কিপার, কোনোটাই না। কোনো মেট্রিক বেঞ্চমার্ক করা যায় না। এই স্তরে একটা নাম লেখা মানে সেটা বানানো।

শূন্য পেলোডের সত্য: ক্রিকেট ডেটা পাইপলাইনে নাল ফলাফল, বানানো বিশ্লেষণের ঝুঁকি এবং টেম্পার-প্রুফ অডিট ট্রেইলের প্রয়োজনীয়তা

দল ও লিগ মাত্রায় কোনো দল নেই, কোনো ফ্র্যাঞ্চাইজি নেই, কোনো বোর্ড নেই। আইসিসি র‍্যাঙ্কিং উদ্ধৃত করার প্রশ্নই ওঠে না। কোনো লিগের নাম নেই, সম্প্রচার স্বত্বের অঙ্ক নেই, নিলামের লট নেই, বেতনের অঙ্ক নেই। বাণিজ্যিক মূল্য আর ক্রীড়া-মূল্যের পার্থক্য দেখাতে গেলে অন্তত একটা লেনদেন বা চুক্তির ডেটাপয়েন্ট লাগে — সেটাও নেই।

গভর্নেন্স মাত্রায় কোনো আইসিসি সিদ্ধান্ত নেই, বোর্ডের পদক্ষেপ নেই, ডিআরএস বিতর্ক নেই, যোগ্যতা-বিরোধ নেই, এনওসি প্রশ্ন নেই। ঝুঁকি ম্যাট্রিক্সের ছয়টা সারি — ক্রীড়া, কর্মী, বাণিজ্যিক, নিয়ম-সততা, জনমত, সিস্টেমিক — সবই অমূল্যায়নযোগ্য। জনমত ও প্রত্যাশার ব্যবধান মাত্রায় কোনো ন্যারেটিভ নেই, হাইপ সাইকেলের অবস্থান নেই। শিল্প-সংক্রমণ মাত্রায় উৎস, মধ্য ও ডাউনস্ট্রিম — তিনটাতেই সিগন্যাল নেই।

সবচেয়ে বড় ঝুঁকি বানানো বিশ্লেষণ

এই এনগেজমেন্টে সবচেয়ে বড় ঝুঁকি ক্রিকেটসংক্রান্ত নয়, বিশ্লেষণসংক্রান্ত। খালি ইনপুট পেলে একটা ভাষা-মডেল প্রায়ই বিশ্বাসযোগ্য শোনানো একটা ম্যাচ, একটা খেলোয়াড়, একটা বিতর্ক বানিয়ে ফেলে। মোদরিচের ১১.৯ কিলোমিটার সত্যি, কারণ সেটা আমার নিজের ২০১৮ সালের লগে আছে। আজকের পেলোডে মোদরিচ নেই। পার্থক্যটা এইখানে।

দ্বিতীয় স্তরের ঝুঁকি ডাউনস্ট্রিম সংক্রমণ। খালি Stage 1 যদি কোনো রিপোর্ট, ড্যাশবোর্ড বা অ্যালার্টে ঢুকে পড়ে, তাহলে হয় শব্দ তৈরি হবে, নয়তো চুপচাপ বাদ পড়বে। দুই ক্ষেত্রেই মূল ত্রুটিটা অক্ষত থেকে যায়। Stage 2 চালানোর আগে Stage 1-কে অন্তত আটটা জিনিস দিতে হবে: অ-শূন্য শিরোনাম, সূত্রের নাম-ইউআরএল-প্রকাশতারিখ, ফরম্যাট, অন্তত একটা নির্দিষ্ট প্রস্তাবনা-সম্পন্ন তথ্যবিন্দু, অন্তত একটা নামযুক্ত সত্তা, ইভেন্ট শনাক্তকরণ, কোনো উদ্ধৃত পরিসংখ্যান, আর লেখকের অবস্থান। এই আটটার একটাও না থাকলে পেলোডটা UNPROCESSABLE, বিশ্লেষণের বিষয় নয়।

হ্যাশ-চেইনড অডিট ট্রেইল

এখানেই আমার মূল প্রস্তাব। ক্রিকেট ডেটার প্রোভেন্যান্সের জন্য দরকার একটা টেম্পার-প্রুফ, হ্যাশ-চেইনড অডিট ট্রেইল — এমন একটা লেজার যেখানে প্রতিটা ইনজেশন ধাপ অপরিবর্তনীয়ভাবে রেকর্ড হয়।

ভাবনাটা ব্লকচেইনের মূল নীতির সম্প্রসারণ। প্রতিটা ফেচের সঙ্গে জুড়ে যাবে ইউআরএল, টাইমস্ট্যাম্প, এইচটিটিপি স্ট্যাটাস কোড, কনটেন্ট-লেংথ, রেন্ডার করা ডম টেক্সটের দৈর্ঘ্য, পার্সারের ভার্সন, আর Stage 1-এর আউটপুটের হ্যাশ। পরের রেকর্ড আগের রেকর্ডের হ্যাশ ধারণ করবে। কেউ পরে গিয়ে একটা খালি পেলোডকে "সফল" বলে চিহ্নিত করতে পারবে না, কারণ চেইনটা ভেঙে যাবে।

I pray in pivot tables and sin in small sample sizes. ২০২০ সালে খালি স্টেডিয়ামের মডেল বানাতে গিয়ে হোম এক্সজি ০.৪২ করে কমা আর পিপিডিএ ১.৮ বেড়ে যাওয়া আমি লগ করেছিলাম, তিনজন খেলোয়াড়ের চুক্তি নতুন করেnegotiate করেছিলাম, কিন্তু একটা দীর্ঘমেয়াদি মজুরি ধারা মিস করেছিলাম। সেটা পরে নিজেই চিহ্নিত করেছি। কাগজে লেখা মিস আর হ্যাশ-চেইনে আটকানো মিস — দুটো আলাদা জিনিস। দ্বিতীয়টা কেউ চুপচাপ মুছে দিতে পারে না।

চলতি সাইকেল ট্রান্সফার উইন্ডো, আর এখানেই ব্যাপারটা তীক্ষ্ণ হয়। উইন্ডো মানে গুজবের বন্যা — এজেন্টের ফোন, কাছের সূত্রের দাবি, রিলিজ ক্লজের গল্প, লোনের গল্প। আমার কাজ এই শব্দের ভেতর থেকে সিগন্যাল বেছে নেওয়া: কে বলছে, কতটা যাচাইযোগ্য, চুক্তির ভাষা কী বলছে। ২০২২ সালে কাতার বিশ্বকাপের ট্রান্সফার উইন্ডোতে শেখ রাসেল ক্রীড়া চক্রের পথে হাঁটতে হাঁটতে আমি ০.৬৮ এক্সজি পার ৯০ আর পিপিডিএ ৬.৯-এর এক ২২ বছর বয়সী স্ট্রাইকার চিহ্নিত করেছিলাম, বসুন্ধরা কিংসে তাঁর চমকে দেওয়া লোন মুভের খবর প্রথম প্রকাশ করেছিলাম। ডিলে ছিল ৪৫,০০০ ডলারের বাই-অপশন। এজেন্টের আস্থা বেড়েছিল। কিন্তু একটা সেল-অন ক্লজ আমি মিস করেছিলাম।

এই দুটো ঘটনা — খালি পেলোড আর মিস করা ক্লজ — একই রোগের দুই লক্ষণ: চেইন অফ কাস্টডির অভাব।

উল্টো দিক

সবচেয়ে প্রচলিত ধারণা হলো, একটা পাইপলাইনের কাজ "gracefully degrade" করা — কিছু না পেলে অন্তত কিছু একটা ফেরানো। আমি বলছি, এই ভদ্রতা বিপজ্জনক।

খালি ফলাফলটাই এই এনগেজমেন্টের সবচেয়ে মূল্যবান আউটপুট। কারণ এটা পরিষ্কার শূন্য, অস্পষ্ট শূন্য নয়। শূন্য তথ্যবিন্দু — এটা দ্ব্যর্থহীন। একটা আধা-ভরা পেলোড হলে থ্রেশহোল্ড টানা কঠিন হতো; এই পরিচ্ছন্ন শূন্যতাই নাল-হ্যান্ডলিং গেট বানানোর সবচেয়ে ভালো টেস্ট কেস।

তবে একটা কথা নিজের ওপরও প্রযোজ্য: ব্লকচেইন পেওয়াল সারায় না। যে ডেটা কখনো ফেচ হয়নি, তাকে হ্যাশ করা যায় না। চেইন প্রমাণ করতে পারে ডেটা বদলায়নি; প্রমাণ করতে পারে না ডেটা কখনো এসেছিল। ইনজেশন যদি জাভাস্ক্রিপ্ট-রেন্ডারড পাতায় আটকে যায়, হেডলেস ব্রাউজার ছাড়া অডিট ট্রেইল শুধু লগ করবে "কিছু আসেনি"। প্রযুক্তি প্রশাসনিক ব্যর্থতার জায়গা নিতে পারে না, শুধু সেটাকে অমুছে-ফেলা করতে পারে।

আর একটা সতর্কতা নিজের প্রতি। স্কোরলাইন-সন্দেহবাদকে রিফ্লেক্স বানাতে চাই না। এখানে স্কোরলাইনটাই শূন্য। শূন্যকে সন্দেহ করা যায় না, শূন্যকে শুধু চিহ্নিত করা যায়।

পরের রাউন্ডের সিগন্যাল

সামনের রাউন্ডে আমার চোখ থাকবে চারটা জায়গায়। উৎস-ডোমেইনভিত্তিক নাল হার — কোনো একটা ডোমেইনে ৫ শতাংশের বেশি খালি পেলোড মানে একক দুর্ভাগ্য নয়, সিস্টেমিক পার্সার ত্রুটি। ইনজেশন মেট্রিক — স্ট্যাটাস ২০০ অথচ রেন্ডার করা টেক্সট ৫০০ অক্ষরের কম, অথবা ৪০১/৪০৩, মানে পেওয়াল বা রেন্ডার ব্যর্থতা। cricket_asia ট্যাগটি কোন কতগুলো দুর্বল সংকেতের ওপর বসেছে, তার কনফিডেন্স। আর সবচেয়ে জরুরি — কোনো খালি পেলোড প্রকাশিত রিপোর্ট বা অ্যালার্টে পৌঁছেছে কি না।

প্রশ্নটা তাই ফলের নয়: পরের বার যখন একটা পেলোড ফাঁকা ফিরবে, আপনার সিস্টেম সেটা চিৎকার করে বলবে, নাকি ভদ্রভাবে একটা সুন্দর বাক্য বানিয়ে দেবে?

সংশ্লিষ্ট খেলোয়াড়গণ