असल दुनिया के काम में एक ऐसा लक्ष्य होता है जिसे आप जाँच सकते हैं, कुछ सीमाएँ (constraints) होती हैं जो तय करती हैं कि क्या स्वीकार्य है, और बाहरी स्थिति (external state) होती है जो सिस्टम के चलने के दौरान बदल सकती है। बिना जाँच वाले लक्ष्य का मतलब है ऐसी बातचीत जो कभी खत्म नहीं होती, क्योंकि सिस्टम में कोई भी चीज़ यह साबित नहीं कर सकती कि काम पूरा हो गया है।
इसका दायरा उस सबसे छोटे लूप तक सीमित है जो काम कर सकता है, जाँच सकता है और रुक सकता है।
लक्ष्य तभी काम का बनता है जब उसमें पूरा होने का कोई संकेत (completion signal) हो जिसे प्रोग्राम जाँच सके, जैसे कि कोई फ़ाइल लिखी गई हो, स्टेटस अपडेट किया गया हो, या कुछ फ़ील्ड भरे गए हों। सीमाएँ स्वीकार्य आउटपुट के दायरे को कम करती हैं, जैसे कि समय-सीमा (deadline), API कॉल का बजट, ज़रूरी फ़ॉर्मैट, या कोई ऐसी पॉलिसी जो कुछ खास कामों को रोकती हो।
बाहरी स्थिति (external state) मॉडल कॉल के बाहर की कोई भी निर्भरता (dependency) होती है, जैसे कि डेटाबेस की कोई लाइन (row), टिकट की कतार (queue), वेब पेज, या कैलेंडर इवेंट। जब बाहरी स्थिति बदलती है, तो पहले से सही योजना बिना किसी कोड की खराबी के भी गलत हो सकती है।
नियम अगर आप काम पूरा होने की पक्की जाँच (deterministic check) नहीं लिख सकते, तो काम को ‘ओपन-एंडेड’ (बिना तय अंत वाला) मानें और उसमें रुकने का बजट (stop budget) और इंसानी समीक्षा (human review) का चरण जोड़ें।
कम से कम ज़रूरी बनावट (minimal architecture) एक ऐसा लूप है जो डेटा को तय चरणों से गुज़ारता है और हर चरण में हुए बदलावों को रिकॉर्ड करता है। लूप इनपुट से शुरू होता है, स्थिति (state) को पढ़ता और अपडेट करता है, अगले काम का सुझाव देने के लिए मॉडल को कॉल करता है, बाहरी स्थिति पर असर डालने वाले टूल कॉल करता है, और फिर दोहराने से पहले रुकने की शर्त (stop condition) की जाँच करता है।
पाइपलाइन डायग्राम के साथ इंटरैक्ट करें और देखें कि हर चरण में कौन सा डेटा जाता है और वह चरण क्या आउटपुट देता है।
एक बार लूप बन जाने पर, हर गड़बड़ी का पता लगाया जा सकता है। रिट्रीवल मिस (जानकारी न मिल पाना) मॉडल कॉल के लिए ज़रूरी इनपुट की कमी के तौर पर दिखता है, टूल की गड़बड़ी एक्सेप्शन या नॉन-200 रिस्पॉन्स के तौर पर दिखती है, और स्टॉप कंडीशन बग बार-बार होने वाले ऐसे इटरेशन के तौर पर दिखता है जिनमें कोई प्रोग्रेस नहीं होती।
रिसर्च रिपोर्ट का टास्क आमतौर पर तब पूरा होता है जब कोई डॉक्यूमेंट फ़ॉर्मैट और साइटेशन की ज़रूरतों को पूरा करता है और वेरिफिकेशन चेक पास कर लेता है, जैसे कि नोट्स फ़ाइल में हर दावे के लिए सोर्स URL का होना। टूलिंग में अक्सर सर्च, डॉक्यूमेंट पार्सिंग और फ़ाइल लिखना शामिल होता है, और कॉस्ट कंट्रोल आम तौर पर ब्राउज़िंग और कॉन्टेक्स्ट के बढ़ने को सीमित करने पर फ़ोकस करता है।
टिकट ट्राइएज टास्क तब पूरा होता है जब हर टिकट को लेबल किया जाता है, रूट किया जाता है, उस पर छोटा सा कारण बताते हुए कमेंट किया जाता है, और टिकट सिस्टम अपडेट की पुष्टि करता है। टूलिंग में अक्सर टिकट API, पॉलिसी चेकर और कभी-कभी इंटरनल नॉलेज बेस लुकअप शामिल होता है, और रिलायबिलिटी गलत अपडेट से बचने पर फ़ोकस करती है।
सीमाओं, टूल और पूरा होने के संकेतों को चुनकर दोनों टास्क की तुलना करें और देखें कि स्टॉप कंडीशन कैसे बदलती है।