अध्याय 02
मूल लूप
DWP संक्रियाओं का एक छोटा समूह परिभाषित करता है जो एक योजना को लक्ष्य से पूर्ण, समीक्षा योग्य काम तक ले जाता है: create → execute → refine → resume → status, जिसमें verify वह अनुरूपता-जाँच है जो परिणाम की पुष्टि करती है। मिलकर वे वह लूप बनाते हैं जिसका एक एजेंट योजना के पूरे जीवन में अनुसरण करता है। एजेंट एक बार में एक कार्य निष्पादित करते हैं, आगे बढ़ने से पहले हर चरण को सत्यापित करते हुए।
यह लूप स्पेक-ड्रिवन डेवलपमेंट का संचालनात्मक रूप है। योजना वह विनिर्देश है जिसके विरुद्ध एजेंट निष्पादन करता है, हर कार्य स्पष्ट स्वीकृति मानदंड रखता है, और सत्यापन चरण वह गेट है जो पूर्णता के दावे को उसके प्रमाण में बदल देता है। क्योंकि योजना और उसका प्रगति लॉग रिपॉज़िटरी में रहते हैं, यह लूप सत्रों और एजेंट्स के पार फिर से शुरू होने योग्य है।
संक्रियाएँ
- create — एक लक्ष्य से एक नई योजना तैयार करें। एजेंट लक्ष्य का विश्लेषण करता है, उसे क्रमिक कार्यों में विघटित करता है, और योजना फ़ाइलें लिखता है। लक्ष्य अस्पष्ट होने पर इसे लिखने से पहले स्पष्टीकरण प्रश्न पूछने चाहिए।
- execute — योजना को कार्य-दर-कार्य चलाएँ। एजेंट हर कार्य के बाद प्रगति लॉग अद्यतन करता है और कार्य की पूर्णता स्थिति अंकित करता है। उसे कारण दर्ज किए बिना कार्य नहीं छोड़ने चाहिए।
- refine — एक मौजूदा योजना को संशोधित करें। एजेंट कार्य जोड़, हटा या पुनः-क्रमित कर सकता है, पर उसे पूर्ण किए गए काम को संरक्षित रखना चाहिए और कार्य-तालिका अद्यतन करनी चाहिए।
- resume — एक बाधित योजना को जारी रखें। एजेंट स्थिति का पुनर्निर्माण करने के लिए प्रगति लॉग और कार्य फ़ाइलें पढ़ता है, फिर पहले अधूरे कार्य से जारी रखता है।
- status — बिना निष्पादन के प्रगति की रिपोर्ट दें। एजेंट पूर्ण, प्रगति-शील और लंबित कार्यों का सारांश देता है और कुछ नहीं बदलता।
- verify — बिना कुछ बदले अनुरूपता जाँचें। एजेंट रिपोर्ट करता है कि रिपॉज़िटरी मानक पर खरी उतरती है या नहीं और योजना सुगठित है या नहीं — हर कार्य स्वीकृति मानदंड और एक सत्यापन-गेट साथ रखता हुआ। देखें विनिर्देश का अनुरूपता दस्तावेज़।
.dwp/ आउटपुट डायरेक्टरी
सभी DWP आर्टिफ़ैक्ट रिपॉज़िटरी रूट पर एक gitignored .dwp/ डायरेक्टरी के अंतर्गत रहते हैं। कार्यस्थल को संस्करण-नियंत्रण से बाहर रखने का अर्थ है कि किसी योजना की कार्यशील स्थिति कभी परियोजना के इतिहास को दूषित नहीं करती।
.dwp/
├── plans/
│ └── PLAN_<slug>/
│ ├── README.md
│ ├── PROGRESS.md
│ └── <n>.task_<slug>.md
└── config.yaml
नौ-खंड कार्य-संरचना
- 01 लक्ष्य
- 02 संदर्भ
- 03 चरण
- 04 स्वीकृति मानदंड
- 05 सत्यापन
- 06 फ़ाइलें
- 07 निर्भरताएँ
- 08 जोखिम
- 09 समापन और लॉग
हर कार्य फ़ाइल में ये नौ खंड क्रम में होते हैं। यह संरचना सुनिश्चित करती है कि काम की हर इकाई स्व-निहित और समीक्षा योग्य हो:
- Goal — एक अनुच्छेद जो बताता है कि कार्य क्या हासिल करता है।
- Context — पृष्ठभूमि, लिंक, और यह कार्य क्यों मौजूद है।
- Steps — करने के लिए क्रमबद्ध, ठोस क्रियाएँ।
- Acceptance criteria — उन शर्तों की एक चेकलिस्ट जो पूर्णता को परिभाषित करती हैं।
- Validation — काम सत्यापित करने के लिए चलाई जाने वाली कमांड्स या परीक्षण।
- Files — बनाई या संशोधित किए जाने की अपेक्षित पाथ।
- Dependencies — अन्य कार्य या बाहरी पूर्वापेक्षाएँ।
- Risks — क्या गलत हो सकता है, और शमन-उपाय।
- Completion & Log — एक स्थिति-चिह्न और कालानुक्रमिक टिप्पणियाँ।
सत्यापन, पूर्णता और पुनरारंभ
सत्यापन कार्य का हिस्सा है, बाद का विचार नहीं: हर कार्य उन कमांड्स या परीक्षणों का नाम लेता है जो सिद्ध करते हैं कि यह पूरा हो गया, और एजेंट पूर्णता अंकित करने से पहले उन्हें चलाता है। परीक्षण यहाँ प्रथम-श्रेणी हैं — एक कार्य जो नई कार्यक्षमता जोड़ता है या व्यवहार बदलता है, उसे उस व्यवहार के लिए स्वचालित परीक्षण जोड़ने या अद्यतन करने चाहिए और रिपॉज़िटरी की पूर्ण कोड-गुणवत्ता जाँच (परीक्षण साथ ही lint और type-check) चलानी चाहिए, न कि केवल यह पुष्टि करनी चाहिए कि build सफल होता है; मौजूदा परीक्षण हरे बने रहने चाहिए, छोड़े जाने के बजाय इच्छित व्यवहार के अनुरूप अद्यतन किए हुए। सुरक्षा ठीक उसी तरह प्रथम-श्रेणी है — कोई भी कार्य जो प्रमाणीकरण, input handling, secrets, network सतह, या dependencies को छूता है, उस परिवर्तन की सुरक्षा अपेक्षाएँ अपने स्वीकृति मानदंडों में रखता है और हर commit को secrets से मुक्त रखता है, और हर योजना एक Security Review के साथ समाप्त होती है जो पूरे change set का ऑडिट करती है। पूर्णता को Completion & Log खंड में एक स्पष्ट स्थिति-चिह्न ([ ] शुरू नहीं हुआ, [~] प्रगति में, [x] पूर्ण, [!] अवरुद्ध) के साथ दर्ज किया जाता है। पुनरारंभ इन चिह्नों और प्रगति लॉग पर निर्भर करता है — एक एजेंट ठीक-ठीक पुनर्निर्माण कर सकता है कि योजना कहाँ रुकी और पूर्ण किए गए काम को दोहराए बिना पहले अधूरे कार्य से जारी रख सकता है।