Skip to content
← सभी अध्याय

अध्याय 05

रिपॉज़िटरी आर्किटाइप

कोड की एक भी पंक्ति बदलने से पहले, एजेंट एक ऐसा निर्णय लेता है जो बाद की हर बात को आकार देता है: यह रिपॉज़िटरी किस प्रकार की है? जो आर्किटाइप वह अनुमानित करता है, वह उस सीमा को निर्धारित करता है जिसके भीतर वह पूरे कार्य-काल में तर्क करेगा — वह कैसे ऑनबोर्ड करता है, एक योजना कितनी दूर तक पहुँचती है, और स्थिति कहाँ संग्रहीत होती है। गलती करें और एजेंट गलत सतह पर काम का दायरा बाँध देता है — यह दीर्घकालिक कार्यों में विचलन का सबसे सामान्य कारण है। सही करें और वह घंटों स्वायत्त रूप से काम कर सकता है, क्योंकि योजनाएँ, ऑनबोर्डिंग और स्थिति सभी कोड की वास्तविक संरचना के अनुरूप होती हैं।

DWP दो आर्किटाइप पहचानता है। अधिकांश रिपॉज़िटरीज़ पहले प्रकार की हैं; दूसरा उन टीमों के लिए है जो कई रिपॉज़िटरीज़ का समन्वय करती हैं।

स्वतंत्र रिपॉज़िटरी

सामान्य मामला: एक स्व-निहित कोडबेस — एक एप्लिकेशन, एक लाइब्रेरी, या एक सेवा। तर्क करने के लिए एक ही सुसंगत सतह होती है, इसलिए योजनाएँ सीधे रिपॉज़िटरी के कोड पर काम करती हैं और ऑनबोर्डिंग रिपॉज़िटरी की अपनी संरचना तथा परिपाटियाँ पढ़ती है। एजेंट पूरे कोडबेस को अपने संदर्भ में रखता है और उसे आद्योपांत संसाधित करता है।

विशेषताएँ:

  • एक एकल सुसंगत कोडबेस।
  • योजनाएँ इस रिपॉज़िटरी की फ़ाइलें संशोधित करती हैं।
  • .dwp/ कार्यस्थल रिपॉज़िटरी रूट पर रहता है।

ऑर्केस्ट्रेटर हब

समन्वय का मामला: एक रिपॉज़िटरी जिसका काम अन्य रिपॉज़िटरीज़ का प्रबंधन करना है। यहाँ कार्य की इकाई कोई फ़ाइल नहीं बल्कि एक चाइल्ड रिपॉज़िटरी है, इसलिए योजनाएँ सब-रिपॉज़िटरीज़ में चाइल्ड योजनाएँ उत्पन्न कर सकती हैं, और ऑनबोर्डिंग एकल कोडबेस के बजाय प्रबंधित रिपॉज़िटरीज़ की हब की रजिस्ट्री पढ़ती है। एजेंट सीमाओं और हैंडऑफ़ के बारे में तर्क करता है — कौन-सी रिपॉज़िटरी कौन-से काम की स्वामी है, और उनकी स्थिति संगत कैसे रहती है।

विशेषताएँ:

  • कई सब-रिपॉज़िटरीज़ का समन्वय करती है।
  • योजनाएँ चाइल्ड योजनाओं को सौंप सकती हैं।
  • प्रबंधित रिपॉज़िटरीज़ की एक रजिस्ट्री बनाए रखती है।
  • हब रूट पर .dwp/ कार्यस्थल क्रॉस-रिपॉज़िटरी स्थिति को ट्रैक करता है।

वर्गीकरण अनुमान-नियम

दोनों आर्किटाइप डिस्क पर अलग दिखते हैं, और एजेंट उन संकेतों से निर्णय लेता है जिन्हें वह सत्यापित कर सकता है — न कि किसी बताए गए लेबल से। नीचे दिया गया निर्णय-वृक्ष मार्ग दर्शाता है; संक्षेप में, किसी रिपॉज़िटरी को ऑर्केस्ट्रेटर हब तभी मानें जब साक्ष्य इसकी माँग करे, और अन्यथा स्वतंत्र रिपॉज़िटरी।

एजेंट को किसी रिपॉज़िटरी को ऑर्केस्ट्रेटर हब के रूप में वर्गीकृत करना चाहिए जब उसे कई नेस्टेड git रिपॉज़िटरीज़ या सबमॉड्यूल, प्रबंधित रिपॉज़िटरीज़ की एक रजिस्ट्री या मैनिफ़ेस्ट, या ऐसी कॉन्फ़िगरेशन मिले जो बाहरी रिपॉज़िटरीज़ की ओर इंगित करती हो। उन संकेतों की अनुपस्थिति में, यह रिपॉज़िटरी को एक स्वतंत्र रिपॉज़िटरी मानता है — यह सुरक्षित चूक-विकल्प है, क्योंकि उन सीमाओं के पार योजना का अत्यधिक-दायरा बाँधना जो अस्तित्व में ही नहीं हैं, उस एक सीमा के भीतर काम करने से बुरा है जो वास्तव में है।

ऑनबोर्डिंग कैसे भिन्न होती है

आर्किटाइप एक सजावटी लेबल नहीं है; यह बदल देता है कि एजेंट क्या पढ़ता है, एक योजना क्या छू सकती है, और स्थिति कहाँ दर्ज होती है।

पहलू स्वतंत्र ऑर्केस्ट्रेटर
दायरा यह रिपॉज़िटरी कई रिपॉज़िटरीज़
ऑनबोर्डिंग रिपॉज़िटरी संरचना हब रजिस्ट्री
योजना लक्ष्य स्थानीय फ़ाइलें चाइल्ड योजनाएँ
स्थिति स्थानीय .dwp/ क्रॉस-रिपॉज़िटरी .dwp/

व्यावहारिक प्रभाव यह है कि एक स्वतंत्र-रिपॉज़िटरी एजेंट एक कोडबेस पर आद्योपांत तर्क करता है, जबकि एक ऑर्केस्ट्रेटर एजेंट समन्वय पर तर्क करता है — कौन-सी चाइल्ड रिपॉज़िटरी कौन-से काम की स्वामी है, और क्रॉस-रिपॉज़िटरी स्थिति संगत कैसे रहती है।

यही वह बात है जो एजेंट को बिना निगरानी घंटों स्वायत्त रूप से काम करने देती है: पहले आर्किटाइप को निश्चित करके, यह योजनाओं, ऑनबोर्डिंग और स्थिति का दायरा सही सीमा तक बाँधता है, ताकि पहले से लेकर अंतिम कार्य तक हर काम सही सतह पर हो।