Lite योजनाएँ
संस्करण 5.0.0. स्थिति: स्थिर। यह दस्तावेज़ DWP विनिर्देश के साथ पेश किए गए Lite योजना प्रतिनिधित्व का विनिर्देश करता है: छोटे-से-मध्यम आकार के सीमित काम के लिए एक योजना प्रारूप जो सीधे मैटेरियलाइज़ होता है, बिना किसी गैर-निष्पादन-योग्य ड्राफ़्ट चरण के। कीवर्ड MUST, MUST NOT, SHOULD, SHOULD NOT और MAY की व्याख्या RFC 2119 में वर्णित अनुसार की जानी है।
प्रतिनिधित्व और जीवनचक्र
एक योजना MUST दो प्रतिनिधित्वों में से एक होनी चाहिए, जिसे manifest.json में plan_format के रूप में एक बार दर्ज किया जाता है: Full <n>.task_<slug>.md के अंतर्गत प्रति कार्य एक फ़ाइल संग्रहीत करता है; Lite README.md में इनलाइन कॉम्पैक्ट, निष्पादन-योग्य कार्य-रिकॉर्ड्स संग्रहीत करता है, हर एक स्थिर {#task-N} एंकर के पीछे। एक Lite योजना कोई आंशिक या अनौपचारिक Full योजना नहीं है: हर कार्य-रिकॉर्ड को फिर भी एक लक्ष्य, एक Touched Surface, स्वीकृति मानदंड, एक validation gate, और एक पूर्णता लॉग MUST ले जाना चाहिए, उसी मानक रूप में जो कार्य-संरचना Full के लिए परिभाषित करता है।
चार अक्ष एक योजना की स्थिति का वर्णन करते हैं, और इन्हें मिलाने के बजाय स्वतंत्र रूप से MUST ट्रैक किया जाना चाहिए:
| अक्ष | मान | अर्थ |
|---|---|---|
| Format | lite, full |
कार्य-रिकॉर्ड्स कहाँ रहते हैं |
| Materialization | materializing, ready, promoting |
क्या योजना फ़ोल्डर लिखा जा रहा है, पूर्ण है, या प्रोन्नति के बीच में है |
| Approval | pending, approved, pre_approved |
क्या किसी मानव ने योजना की समीक्षा की, या trust mode ने इसे पूर्व-अनुमोदित किया |
| Execution | pending, in_progress, blocked, completed |
प्रति-कार्य और समग्र प्रगति |
Guided create एक समीक्षा-योग्य लंबित प्रस्ताव लिखता है — Lite या Full, पहले से ही असली योजना, कभी एकबारगी ड्राफ़्ट नहीं। Trust एक तैयार, पूर्व-अनुमोदित योजना को मैटेरियलाइज़ करता है और तुरंत नियंत्रण लौटाता है। create और एक प्रोन्नति कभी उत्पाद कार्य निष्पादित नहीं करते; execute या resume की स्पष्ट माँग योजना के वर्तमान तैयार दायरे को स्वीकृत करती है और काम शुरू करने से पहले उस स्वीकृति को दर्ज करना चाहिए (MUST); उस माँग के बिना कोई pending प्रस्ताव निष्पादन योग्य नहीं है; प्रगति में कोई अनसुलझी प्रोन्नति उत्पाद कार्य से पहले रिकवर होनी चाहिए (MUST)।
निर्माण और प्रारूप चयन
/dwp-create हर स्तर पर योजना बनाने के इरादे की सेवा करता है, न कि केवल बड़े काम के लिए। छोटा, सीमित काम — एक चिंता, लगभग एक बैठक, कोई समन्वय नहीं — Lite योजना का लक्ष्य है; वास्तविक दायरे वाला बहु-चरण काम डिफ़ॉल्ट रूप से Full का उपयोग करता है, आनुपातिक कठोरता के अनुसार। एक प्रत्यक्ष संपादन, एक स्पष्टीकरण, एक स्थिति-जाँच, एक रिज्यूम, या एक स्पष्ट नो-प्लान अनुरोध अपना ही मार्ग रखता है और कभी योजना नहीं बनता।
lite और full प्रारूप वरीयताएँ हैं; trust और auto अलग इंटरैक्शन विकल्प हैं, और किसी भी प्रकार का विकल्प अनुरोध के किसी भी छोर पर, किसी भी क्रम में, MAY दिखाई दे:
/dwp-create trust fix the label
/dwp-create lite trust fix the label
/dwp-create fix the label trust lite
/dwp-create fix the migration full trust
एक ही विकल्प को दोहराना निष्क्रिय-सम (idempotent) है; lite और full को साथ अनुरोध करना एक त्रुटि है। -- विकल्प-पार्सिंग समाप्त करता है।
जब कोई प्रारूप वरीयता नहीं दी जाती, create एक की सिफ़ारिश करता है और बताता है क्यों। एक स्पष्ट Full अनुरोध हमेशा जीतता है। एक स्पष्ट Lite अनुरोध तब तक मान्य किया जाता है जब तक काम की आवश्यकताएँ या validation gates कॉम्पैक्ट इनलाइन रिकॉर्ड्स में फ़िट न हों — उस स्थिति में create दर्ज करता है कि इसके बजाय Full क्यों आवश्यक है। चयन को MUST देखे गए दायरे, निर्भरताओं, आवश्यक निर्देश-विस्तार, और निर्णय के पीछे की अज्ञात बातों को दर्ज करना चाहिए — एक ऑडिट-योग्य निर्णय, हर मॉडल या एजेंट में लागू रहने वाली गारंटी नहीं।
Lite योजना समानांतरीकरण निर्णय को ठीक वैसे ही रखती है जैसे Full रखती है: Execution: sequential — {rationale} वाली पंक्ति, या एक Team Agents Configuration अनुभाग, जिसमें प्रति-कार्य Team Agents Metadata को एक अलग कार्य-फ़ाइल के बजाय सीधे एंकर किए गए कार्य-रिकॉर्ड्स से जोड़ा जाता है। यह निर्णय Lite में भी कभी मौन नहीं रहता — एक Lite योजना इसे ठीक वैसे ही स्पष्ट करती है जैसे एक Full योजना करती।
प्रोन्नति और संगतता
एक Lite योजना को किसी भी समय /dwp-refine promote {plan_name} के माध्यम से प्रोन्नत किया जा MAY (देखें dwp-refine)। प्रोन्नति केवल-प्रतिनिधित्व है: यह इरादा दर्ज करती है, लक्ष्य कार्य-फ़ाइलें लिखती है, सत्यापित करती है कि Lite-रिकॉर्ड ने जो हर आवश्यकता और gate रखी थी वह अब भी कवर है, प्राधिकृत प्रति को इनलाइन README रिकॉर्ड्स से कार्य-फ़ाइलों में बदल देती है, फिर प्रगति-चिह्न को साफ़ करती है। execute और resume MUST आगे बढ़ने से इनकार करना चाहिए जब तक प्रोन्नति-चिह्न सेट रहता है। पहले से दर्ज कार्य ID और पूर्णता साक्ष्य को प्रोन्नति द्वारा MUST NOT फिर से लिखा जाना चाहिए; प्रोन्नति के दौरान खोजा गया नया दायरा इसके बजाय refine से होकर गुजरता है और केवल उस साक्ष्य को अमान्य करता है जिसे वह प्रभावित करता है।
प्रोन्नति कभी दूसरी दिशा में स्वचालित रूप से नहीं चलती: एक Full योजना चुपचाप वापस Lite में समेटी नहीं जाती। किसी पूर्व spec संस्करण के अंतर्गत लिखी गई योजना — जिसमें बिना plan_format फ़ील्ड के एक v1 Full योजना भी शामिल है — अपना दर्ज रूप बनाए रखती है और अनुरूप बनी रहती है; एक refine सत्र इसे जानबूझकर माइग्रेट कर MAY, पर कुछ भी इसे परोक्ष रूप से नहीं करता।
manifest.json का plan_format एक बार लिखे जाने के बाद अपरिवर्तनीय है; एक प्रोन्नति state.json के format को बदलती है और उसके promotion चिह्न को साफ़ करती है, और मेनिफ़ेस्ट को कभी फिर से नहीं लिखती। सटीक plan_format, format, materialization, approval, promotion, और locator फ़ील्ड्स, तथा उनके v2 स्कीमा URLs के लिए देखें योजना-स्थिति।