<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Maguyva ब्लॉग</title><description>MCP कोड इंटेलिजेंस, AI एजेंट आर्किटेक्चर, और मल्टी-लैंग्वेज कोड सर्च प्लेटफ़ॉर्म बनाने से मिले सबक़ — तकनीकी गहराई वाले लेख।</description><link>https://maguyva.ai/hi/blog</link><language>hi</language><atom:link href="https://maguyva.ai/hi/rss.xml" rel="self" type="application/rss+xml"/><item><title>संदर्भ जो आपके साथ यात्रा करता है</title><link>https://maguyva.ai/hi/blog/context-that-travels</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/context-that-travels</guid><description>Cursor का इंडेक्सर Cursor के भीतर बेहतरीन है। Maguyva एक होस्टेड MCP मैप है जिसे वही एजेंट किसी अन्य एडिटर, CLI या CI से पूछ सकता है।</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Cursor का इंडेक्सर Cursor के भीतर बेहतरीन है। टैब कम्प्लीशन, इनलाइन एडिटिंग, चैट, और उस विंडो के भीतर का एजेंट पहले से ही उस प्रोजेक्ट इंडेक्स पर निर्भर करते हैं जिसे Cursor खुले वर्कस्पेस के लिए चलाता है। अगर Cursor वह एकमात्र सतह है जहाँ आप लिखते हैं, और वह इंडेक्स पहले से ही सही फ़ाइलें ढूँढ रहा है, तो वहीं बने रहें। यह ‘जहाँ हैं वहीं रहें’ का ईमानदार मामला है, और यह इस पेज की पहली पंक्ति बनने का हकदार है।&lt;/p&gt;
&lt;p&gt;यह लेख सामान्य सप्ताह के दूसरे आधे हिस्से के बारे में है। वही रिपॉज़िटरी Claude Code में भी खुली है, Codex CLI से पूछी जा रही है, दूसरी मशीन पर समीक्षा की जा रही है, या CI में चलने वाले किसी एजेंट द्वारा पूछी जा रही है। सवाल यह नहीं है कि ‘कौन सा इंडेक्सर बेहतर है’। सवाल यह है कि क्या एक विंडो में एजेंट जिस मैप पर भरोसा करता है, वह अगली विंडो में भरोसा किए जाने वाले मैप जैसा ही है।&lt;/p&gt;
&lt;p&gt;Maguyva वही मैप है जो साथ यात्रा करता है। यह एक रिमोट MCP कोडबेस संदर्भ परत है। एजेंट इसे उसी तरह पूछता है जैसे वह किसी अन्य MCP टूल को पूछता है। परिणाम लाइन नंबर वाले उद्धृत पथों के रूप में वापस आते हैं। Cursor एडिटर बना रहता है। संदर्भ ही वह चीज़ है जो चलती है।&lt;/p&gt;
&lt;h2 id=&quot;cursor-का-इंडेक्सर-किसलिए-है&quot;&gt;Cursor का इंडेक्सर किसलिए है&lt;/h2&gt;
&lt;p&gt;Cursor में निर्मित इंडेक्सिंग इसलिए मौजूद है ताकि एडिटर के भीतर चैट, एजेंट और सर्च केवल कच्ची मॉडल संदर्भ विंडो में जो फिट होता है उस पर निर्भर रहने के बजाय प्रासंगिक कोड ला सकें। एक IDE के लिए यह सही डिज़ाइन है। यह इंडेक्स Cursor के लिए नेटिव है। यह MCP सर्वर नहीं है और अन्य क्लाइंट्स से पहुँच योग्य नहीं है।&lt;/p&gt;
&lt;p&gt;यह इस तरह काम करता है, जैसा कि Cursor के सार्वजनिक दस्तावेज़ों और लेखन के समय Cursor के अपने स्पष्टीकरणों में वर्णित है: प्राथमिक सर्च पथ अब क्लाउड embedding इंडेक्स नहीं रहा। Cursor टीम ने अपने कम्युनिटी फ़ोरम में कहा है कि समर्पित semantic/embedding-आधारित सर्च को grep-आधारित पुनर्प्राप्ति के पक्ष में कम किया जा रहा है, क्योंकि आज के मॉडल स्वयं जीवित ट्री को एक्सप्लोर करने में पहले से ही काफ़ी अच्छे हैं। इसके बजाय Instant Grep है, एक स्थानीय सर्च इंडेक्स जो एन-ग्राम, इनवर्टेड लिस्ट और ब्लूम फ़िल्टर से बना है, मेमोरी-मैप्ड लुकअप टेबल में संग्रहीत है, ताकि क्वेरी सर्वर के बजाय डेवलपर की अपनी मशीन पर हल हो सके।&lt;/p&gt;
&lt;p&gt;यह इंडेक्स स्वयं रिपॉज़िटरी के अपने &lt;code&gt;.git/cursor/&lt;/code&gt; डायरेक्टरी में रहता है, एक विशिष्ट git कमिट पर एंकर किया हुआ; उस कमिट के बाद के बदलाव नए स्कैन को ट्रिगर करने के बजाय उसके ऊपर लेयर होते हैं, और इंडेक्स तभी फिर से बनता है जब स्थानीय स्थिति उस चीज़ से काफ़ी हट जाती है जिस पर वह बना था। क्योंकि यह &lt;code&gt;.git&lt;/code&gt; के भीतर बैठता है, यह कभी ट्रैक नहीं होता और कभी पुश नहीं होता — उस फ़ोल्डर को हटा दें, और इंडेक्स चला जाता है। &lt;code&gt;.gitignore&lt;/code&gt; का सम्मान इसके निर्माण में किया जाता है, क्योंकि केवल ट्रैक की गई सामग्री ही योग्य होती है, और &lt;code&gt;.cursorignore&lt;/code&gt; को रीड पथ पर लागू किया जाता है। उस पथ पर अब कोई सर्वर-साइड embedding चरण या रिमोट वेक्टर डेटाबेस नहीं है। पुराने दस्तावेज़ों ने एक क्लाउड-सहायता प्राप्त डिज़ाइन का वर्णन किया था — चंक एन्क्रिप्शन, Merkle ट्री सिंकिंग, टीम के सदस्यों के बीच इंडेक्स पुन:उपयोग — और Cursor टीम ने स्वयं तब से कहा है कि उस डिज़ाइन को कम किया जा रहा है, इसलिए यह लेख अब इसे वर्तमान के रूप में वर्णित नहीं करता।&lt;/p&gt;
&lt;p&gt;एडिटर के भीतर जो चीज़ सबसे अलग खड़ी है वह है Cursor का Explore सबएजेंट। यह एक तेज़ मॉडल पर अपनी संदर्भ विंडो में कई समानांतर सर्च चला सकता है और केवल प्रासंगिक निष्कर्ष वापस ला सकता है, ताकि मुख्य बातचीत सर्च परिणामों से न फूले। यह एडिटर के भीतर एक वास्तविक ताकत है। इसे बनाए रखें।&lt;/p&gt;
&lt;p&gt;मल्टी-रूट वर्कस्पेस समर्थित हैं: प्रत्येक खुले फ़ोल्डर का संदर्भ Agent के लिए उपलब्ध है। कुछ git-निर्भर सुविधाएँ, जैसे वर्कट्री, मल्टी-रूट सेटअप में अक्षम हो जाती हैं, और Cloud Agents मल्टी-रूट वर्कस्पेस का बिल्कुल समर्थन नहीं करता।&lt;/p&gt;
&lt;p&gt;इनमें से कोई भी Cursor छोड़ने का कारण नहीं है। यह उस जगह के एक बहुत अच्छे मैप का सटीक वर्णन है जहाँ यह रहता है।&lt;/p&gt;
&lt;h2 id=&quot;साथ-यात्रा-करना-का-वास्तव-में-क्या-मतलब-है&quot;&gt;‘साथ यात्रा करना’ का वास्तव में क्या मतलब है&lt;/h2&gt;
&lt;p&gt;एक मैप तब आपके साथ यात्रा करता है जब वही सवाल एक से अधिक क्लाइंट्स से उसी तरह के जवाब, उद्धरणों के साथ जिन्हें आप खोल सकते हैं, वापस लाता है।&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cursor में: ‘क्या &lt;code&gt;parseConfig&lt;/code&gt; कहाँ परिभाषित है, और इसे कौन कॉल करता है?’&lt;/li&gt;
&lt;li&gt;Claude Code में, उसी repo पर: वही सवाल।&lt;/li&gt;
&lt;li&gt;Codex CLI में, एक ऐसी मशीन पर समीक्षा की जा रही है जिसने कभी Cursor विंडो नहीं खोली: वही सवाल।&lt;/li&gt;
&lt;li&gt;MCP बोलने वाले CI एजेंट में: वही सवाल, उसी होस्टेड स्नैपशॉट के विरुद्ध।&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;अगर हर सतह अपना खुद का निजी इंडेक्स बनाती है, तो आपके पास एक मैप नहीं है। आपके पास कई कैश हैं जो अलग होते जा रहे हैं। एडिटर का इंडेक्स डिस्क पर मौजूद ट्री के लिए ताज़ा हो सकता है। CLI सत्र एक दिन पीछे हो सकता है। CI जॉब एक अलग चेकआउट देख सकती है। और एजेंट फिर भी आत्मविश्वासी लगेगा।&lt;/p&gt;
&lt;p&gt;Cursor का इंडेक्सर इसे हल करने के लिए नहीं बनाया गया है। क्योंकि यह एडिटर के भीतर रहता है, इसका बनाया गया संदर्भ उस एडिटर के लिए है। जिन पाठकों को CLI, CI पाइपलाइन, या किसी अलग एडिटर की भी ज़रूरत है, उन्हें उन सतहों के लिए एक अलग टूल चाहिए। यह एक स्कोप तथ्य है, कोई खामी नहीं। Maguyva वह अलग टूल है।&lt;/p&gt;
&lt;p&gt;Cursor के इंडेक्सर के लिए प्रकाशित भाषाओं की संख्या इस लेख की उपयोग योग्य सामग्री में नहीं बताई गई है। Maguyva 279 से अधिक भाषाओं और टेक्स्ट-आधारित तकनीकों के लिए समर्थन प्रकाशित करता है। Cursor की क़ीमत भी यहाँ दोहराई नहीं गई है; उनका मूल्य निर्धारण पेज देखें। Maguyva सीट्स के बजाय प्रति वर्कस्पेस चार्ज करता है, इंडेक्स की गई कवरेज और वर्कस्पेस आकार के आधार पर $0, $19, $49, और $149 पर प्रकाशित योजनाओं के साथ।&lt;/p&gt;
&lt;h2 id=&quot;एक-होस्टेड-मैप-हर-mcp-क्लाइंट&quot;&gt;एक होस्टेड मैप, हर MCP क्लाइंट&lt;/h2&gt;
&lt;p&gt;Maguyva एक रिमोट MCP सर्वर है। आप GitHub कनेक्ट करते हैं, एक रिपॉज़िटरी चुनते हैं, और क्लाउड पाइपलाइन सिंबल, ग्राफ़ एज और उद्धृत मैप बनाती है। आप उस क्लाइंट के MCP कॉन्फ़िग में एक API कुंजी जोड़ते हैं जिसे आप पहले से उपयोग करते हैं। Maguyva के पास 24 दस्तावेज़ीकृत MCP क्लाइंट्स के लिए सेटअप गाइड है — जिसमें Cursor शामिल है — और यह किसी भी अन्य MCP-संगत क्लाइंट से बात कर सकता है जो मानक कॉन्फ़िगरेशन का समर्थन करता है।&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maguyva.ai/hi/for-cursor&quot;&gt;Cursor सेटअप पेज&lt;/a&gt; एक एडिटर-विशिष्ट पथ है अगर वहीं आप काम करते हैं। वही सर्वर Claude Code, VS Code, Windsurf, Codex CLI और बाकियों को जवाब देता है। आप एडिटर नहीं बदल रहे। आप हर एजेंट को समान टूल सतह दे रहे हैं: सर्च, सिंबल, dependency विश्लेषण, फ़ाइल पुनर्प्राप्ति, रिपॉज़िटरी संदर्भ, और नियतात्मक यूटिलिटी-टूल वर्कफ़्लो में 11 ग्राहक-सामना करने वाले MCP टूल। Semantic, structural, graph, और text सर्च एक उद्धृत परिणाम में मिल जाते हैं।&lt;/p&gt;
&lt;p&gt;यही पोर्टेबिलिटी लाभ है। जो उद्धरण आप आज सुबह Cursor में जाँचते हैं, वे उसी आकार के होते हैं जो आज रात Codex CLI वापस लाएगा। फ़ाइल पथ और लाइन नंबर। खोलें। अगर गलत है, तो आप देख लेंगे। अगर सही है, तो अगले बदलाव के लिए एक जगह है जहाँ वह उतर सकता है। जो दावा किया गया है वह है कम भ्रामक बदलाव, यह वादा नहीं कि हर बदलाव सही होगा।&lt;/p&gt;
&lt;p&gt;ताज़गी प्रकाशित है। स्नैपशॉट टाइमस्टैम्प किए जाते हैं, ताकि एजेंट को पता हो कि वह ट्री का कौन सा संस्करण पढ़ रहा है। पुनर्निर्माण दर मुफ़्त योजना पर दैनिक और भुगतान योजनाओं पर प्रति घंटा है। ईमानदार सीमा असिंक्रोनाइज़्ड स्थानीय काम है: जो बदलाव केवल वर्किंग ट्री में मौजूद हैं वे अभी तक होस्टेड मैप में नहीं हैं। यह सीमा उस क्लाइंट से स्वतंत्र है जिसका उपयोग आप पूछने के लिए करते हैं, और यही असली बात है। क्लाइंट्स के बीच बहाव अब एक दूसरी छिपी हुई सीमा नहीं है।&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maguyva.ai/hi/docs&quot;&gt;दस्तावेज़ीकरण&lt;/a&gt; हर क्लाइंट के लिए वही एक्टिवेशन लूप देता है: उस repo को इंडेक्स करें जिसे आप पहले से जानते हैं, क्लाइंट कनेक्ट करें, एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं। इसे Cursor में एक बार करें। इसे उस CLI से फिर से करें जिसका आप समीक्षा वाले दिन वास्तव में उपयोग करते हैं। अगर दोनों जवाब एक ही हैंडलर को उद्धृत करते हैं, तो मैप वास्तव में आपके साथ यात्रा कर चुका है।&lt;/p&gt;
&lt;h2 id=&quot;दोनों-मैप-साथ-साथ-कैसे-मौजूद-हैं&quot;&gt;दोनों मैप साथ-साथ कैसे मौजूद हैं&lt;/h2&gt;
&lt;p&gt;दोनों का उपयोग करें। यह तुलना पेज के अर्थ में कोई विकल्प नहीं है।&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;डिस्क पर मौजूद प्रोजेक्ट के लिए Cursor का इंडेक्सर चालू रखें। एडिटर के भीतर Explore, Instant Grep और एजेंट को इसका उपयोग करने दें। वह लूप नेटिव और तेज़ है।&lt;/li&gt;
&lt;li&gt;Cursor में Maguyva को MCP सर्वर के रूप में जोड़ें ताकि वही सत्र होस्टेड वर्कस्पेस मैप भी पूछ सके। Cursor एक दस्तावेज़ीकृत Maguyva क्लाइंट है। आप एक इंडेक्स चुनकर दूसरे को नहीं हटा रहे।&lt;/li&gt;
&lt;li&gt;Claude Code, Codex CLI, या किसी भी अन्य MCP क्लाइंट में वही Maguyva सर्वर जोड़ें जो repo को छूता है। एक API कुंजी फ़ॉर्म। एक वर्कस्पेस।&lt;/li&gt;
&lt;li&gt;अगर CI एजेंट MCP-संगत है, तो इसे उसी सर्वर की ओर इंगित करें। यह वही टाइमस्टैम्प वाला स्नैपशॉट पढ़ेगा जो लैपटॉप पढ़ता है।&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;एडिटर का इंडेक्स ‘इस विंडो में डिस्क पर अभी क्या है’ के लिए सबसे अच्छा टूल बना रहता है। होस्टेड मैप ‘यह वर्कस्पेस हर उस एजेंट के लिए कैसा दिखता है जो आज इसे छूएगा’ के लिए सबसे अच्छा टूल है। ये वाक्य प्रतिस्पर्धा नहीं करते।&lt;/p&gt;
&lt;p&gt;वर्कस्पेस कोटा &lt;a href=&quot;https://maguyva.ai/hi/pricing&quot;&gt;मूल्य निर्धारण पेज&lt;/a&gt; पर प्रकाशित हैं: रिपो, इंडेक्स की गई लाइनें, और उपयोगकर्ता, प्रति वर्कस्पेस चार्ज किए जाते हैं। एजेंट और मनुष्य एक ही उपयोगकर्ता गिनती साझा करते हैं। किसी ऐसी repo के साथ मुफ़्त में शुरू करें जिसे आप पहले से आंक सकते हैं। वर्कस्पेस को केवल तब बढ़ाएँ जब उद्धरण उस ट्री के संपर्क में टिके रहें।&lt;/p&gt;
&lt;h2 id=&quot;यह-पेज-क्या-दावा-नहीं-करता&quot;&gt;यह पेज क्या दावा नहीं करता&lt;/h2&gt;
&lt;p&gt;यह दावा नहीं करता कि Cursor का इंडेक्सर कमज़ोर है, अधूरा है, या एडिटर बदलने का कारण है। इस लेख की पहली पंक्ति ही इसके विपरीत कहती है।&lt;/p&gt;
&lt;p&gt;यह दावा नहीं करता कि Maguyva Instant Grep या Explore सबएजेंट की जगह लेता है। वे Cursor की विशेषताएँ हैं। वे Cursor में बनी रहती हैं।&lt;/p&gt;
&lt;p&gt;यह किसी भी उत्पाद के लिए भाषा गिनती, लेटेंसी संख्या, या टोकन बचत का आविष्कार नहीं करता। जो संख्याएँ अज्ञात हैं वे अप्रकाशित रहती हैं।&lt;/p&gt;
&lt;p&gt;यह ऐसा दिखावा नहीं करता कि जो स्थानीय काम अभी तक पुश नहीं हुआ वह होस्टेड मैप में है। टाइमस्टैम्प वाला स्नैपशॉट उस सीमा को दिखाई देने योग्य बनाता है। यह उसे मिटाता नहीं है।&lt;/p&gt;
&lt;p&gt;परीक्षण साधारण है। किसी ऐसी repo को इंडेक्स करें जिसे आप पहले से जानते हैं। पहले Cursor में, फिर एक दूसरे MCP क्लाइंट में, एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं। जो संदर्भ साथ यात्रा करता है वह दोनों जगह वही उद्धरण है।&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// same map, wherever you opened it.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Ecosystem</category><category>MCP</category><category>Portability</category></item><item><title>पहले मैप, फिर समीक्षा</title><link>https://maguyva.ai/hi/blog/map-first-review-second</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/map-first-review-second</guid><description>अपने कोडिंग एजेंट को लिखने से पहले repo मैप पर आधारित करें। इसके बाद Greptile को पुल रिक्वेस्ट की समीक्षा करने दें। प्रतिस्पर्धी नहीं, पूरक जोड़ी।</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;पुल रिक्वेस्ट के दोनों ओर दो अलग-अलग काम बैठे हैं। एजेंट के लिखने से पहले, उसे उस ट्री के मैप की ज़रूरत होती है जिसे वह बदलने वाला है। एजेंट के PR खोलने के बाद, कुछ को उस बदलाव को बाकी सिस्टम के मुकाबले पढ़ना चाहिए और मनुष्य के लिए कार्रवाई योग्य टिप्पणी छोड़नी चाहिए।&lt;/p&gt;
&lt;p&gt;ये काम दूर से एक जैसे दिखते हैं क्योंकि दोनों में ‘कोडबेस को समझना’ शामिल है। यह एक ही उत्पाद नहीं है। एक जवाब देता है ‘यह बदलाव कहाँ उतरना चाहिए?’। दूसरा जवाब देता है ‘इस diff में क्या टूटता है जिसे लाइन-दर-लाइन लिंटर मिस कर देगा?’। इन्हें मिलाने से बदतर पहला ड्राफ्ट और शोरगुल भरी समीक्षा मिलती है।&lt;/p&gt;
&lt;p&gt;यह लेख एक जोड़ी वर्कफ़्लो गाइड है। Maguyva वह मैप है जिसे एजेंट पहले पूछता है। Greptile वह समीक्षा एजेंट है जो बाद में PR पर टिप्पणी करता है। यह जोड़ी निर्माण के अनुसार पूरक है: Maguyva पुल रिक्वेस्ट की समीक्षा नहीं करता, और Greptile उस संदर्भ परत की जगह नहीं लेता जिसका उपयोग एजेंट इसे लिखने के लिए करता है।&lt;/p&gt;
&lt;h2 id=&quot;यह-विभाजन-क्यों-उपयोगी-है&quot;&gt;यह विभाजन क्यों उपयोगी है&lt;/h2&gt;
&lt;p&gt;एक कोडिंग एजेंट जो प्रशिक्षण पूर्वाग्रह और कुछ चिपकाई गई फ़ाइलों से शुरू होता है, वह एक प्रशंसनीय पथ का आविष्कार करेगा और उसे संपादित करेगा। यह ‘गलत फ़ाइल’ विफलता है, और यह एक पुनर्प्राप्ति समस्या है। Maguyva एक रिमोट MCP कोडबेस संदर्भ परत है: semantic, structural (AST), graph/dependency, और text पुनर्प्राप्ति एक रैंक किए गए परिणाम में मिलती है, साथ ही सिंबल सर्च और फ़ाइल पुनर्प्राप्ति भी। आधारित जवाब &lt;code&gt;path/file.ext:line&lt;/code&gt; के रूप में वापस आते हैं, ताकि आप पैच बनने से पहले गलती को अस्वीकार कर सकें। जो दावा किया गया है वह जानबूझकर मामूली है: कम भ्रामक बदलाव। मॉडल फिर भी अनुमान लगा सकता है। बस पहला कदम अब अनुमान नहीं रहता।&lt;/p&gt;
&lt;p&gt;Greptile एक AI-संचालित कोड समीक्षा एजेंट है। अपने ही शब्दों में, यह कोडबेस की पूरी समझ के साथ हर पुल रिक्वेस्ट की स्वचालित रूप से समीक्षा करता है, और इसे उन पारंपरिक लिंटर के मुकाबले रखता है जो पूरे सिस्टम के बजाय फ़ाइलों को अलग-अलग जाँचते हैं। सेटअप में GitHub या GitLab ऐप इंस्टॉल करना और एक रिपॉज़िटरी चुनना शामिल है। कोई स्थानीय इंडेक्स नहीं जो आपको चलाना पड़े। होस्टिंग Greptile Cloud है (वे SOC 2 Type II अनुपालन बताते हैं, जिसकी रिपोर्ट अनुरोध पर उपलब्ध है), साथ ही एंटरप्राइज़ के लिए सेल्फ़-होस्ट का विकल्प भी दिया गया है।&lt;/p&gt;
&lt;p&gt;उनका अपना क्रमांकित प्रवाह है: कनेक्ट करें और हर फ़ंक्शन, क्लास व dependency का dependency ग्राफ़ बनाएँ; हर पुल रिक्वेस्ट पर, उस पूर्ण repo ग्राफ़ का उपयोग करके बदलाव का विश्लेषण करें और लगभग तीन मिनट में सुझाए गए सुधारों के साथ निष्कर्षों को PR टिप्पणी के रूप में प्रकाशित करें; हर टिप्पणी उस मुद्दे को टीम के पहले से उपयोग किए जा रहे कोडिंग एजेंट को सौंप सकती है। वे यह भी बताते हैं कि टीम के कोड मानकों को सीखने और शोरगुल वाले सुझावों को कम करने के लिए वे समय के साथ पिछली मानवीय PR टिप्पणियाँ पढ़ते हैं। उनका सीखने का सिस्टम, उनके अपने अनुसार, समायोजित होने में 2-3 सप्ताह लेता है।&lt;/p&gt;
&lt;p&gt;यह समीक्षा है, ड्राफ्टिंग नहीं। Greptile की ताकत PR में पहले से उतरे बदलाव के विरुद्ध पूर्ण repo ग्राफ़ संदर्भ है, इसके बाद एक बंद लूप जो निष्कर्षों को Claude Code, Codex, Conductor, Cursor, या Devin को भेजता है। Maguyva की ताकत वह रैंक किया गया मैप है जिसे एजेंट बदलाव लिखे जाने से पहले पूछता है। दोनों का उपयोग करें। एक से दूसरे का काम करने के लिए न कहें।&lt;/p&gt;
&lt;p&gt;Maguyva और Greptile के बीच कोई प्रथम-पक्ष उत्पाद एकीकरण नहीं बताया गया है। आपको इसकी ज़रूरत भी नहीं है। Maguyva MCP के ज़रिए एजेंट्स से बात करता है। Greptile अपने ऐप के ज़रिए GitHub या GitLab से बात करता है। वे पुल रिक्वेस्ट पर मिलते हैं। कोई जोड़-तोड़ वाली स्क्रिप्ट नहीं, कोई cron नहीं जो एक टूल को दूसरे में फीड करे। इस जोड़ी को bash की ज़रूरत नहीं क्योंकि हर उत्पाद पहले से ही उस सतह पर बैठा है जो उसकी है।&lt;/p&gt;
&lt;h2 id=&quot;यह-क्या-नहीं-है&quot;&gt;यह क्या नहीं है&lt;/h2&gt;
&lt;p&gt;यह Greptile को नीचा दिखाना नहीं है। यह ‘अपना समीक्षक बदलें’ पेज नहीं है। Greptile Hacker News पर 5 मार्च, 2024 को Y Combinator W24 कंपनी के रूप में लॉन्च हुआ, और वह थ्रेड कई लोगों के इस उत्पाद से पहली बार परिचित होने का तरीका था। अगर आप उन्हें इसी तरह से जानते हैं, तो उनका उपयोग जारी रखें। यह पेज उस लूप का लापता अगला हिस्सा है: एजेंट को पहले आधार देना ताकि Greptile जो PR देखे वह पहले से ही सही फ़ाइलों को लक्ष्य कर रहा हो।&lt;/p&gt;
&lt;p&gt;Greptile की मार्केटिंग सामग्री समीक्षा गति और बग-पकड़ने के दावों के साथ आगे बढ़ती है। इसे Greptile का अपना दावा मानें, स्वतंत्र रूप से सत्यापित संख्या नहीं। यह लेख उन्हें तथ्य के रूप में दोहराता नहीं है।&lt;/p&gt;
&lt;p&gt;भाषा कवरेज उसी तरह की ईमानदारी है। Greptile समर्थन को सूचीबद्ध सूची के बजाय सभी प्रोग्रामिंग भाषाओं को कवर करने के रूप में फ्रेम करता है; सटीक संख्या नहीं बताई गई है। Maguyva 279 से अधिक भाषाओं और टेक्स्ट-आधारित तकनीकों के लिए समर्थन प्रकाशित करता है, जब सवाल तकनीकी हो तो साइट पर एक तकनीकी विभाजन (पार्सर-समर्थित AST बनाम केवल-टेक्स्ट) के साथ। ये अलग-अलग दावे करने वाले अलग-अलग उत्पाद हैं। इन्हें न मिलाएँ।&lt;/p&gt;
&lt;p&gt;Greptile की क़ीमत इस लेख की उपयोग योग्य सामग्री में नहीं बताई गई है। भुगतान योजनाएँ मौजूद हैं; उनका मूल्य निर्धारण पेज देखें। Maguyva सीट्स के बजाय प्रति वर्कस्पेस चार्ज करता है। योजनाएँ मुफ़्त से शुरू होती हैं। &lt;a href=&quot;https://maguyva.ai/hi/pricing&quot;&gt;मूल्य निर्धारण पेज&lt;/a&gt; अगर आपको वर्कस्पेस संख्याएँ चाहिए तो प्रकाशित स्तर सूचीबद्ध करता है।&lt;/p&gt;
&lt;h2 id=&quot;वर्कफ़्लो&quot;&gt;वर्कफ़्लो&lt;/h2&gt;
&lt;p&gt;तीन नामित चरण। इसी क्रम में चलाएँ। पहली बार जब आप इस जोड़ी को आज़माएँ तो इनमें से किसी को न छोड़ें।&lt;/p&gt;
&lt;h3 id=&quot;1-maguyva-संदर्भ&quot;&gt;1. Maguyva संदर्भ&lt;/h3&gt;
&lt;p&gt;एक ऐसी repository को इंडेक्स करें जिसे आप पहले से जानते हैं। उस MCP क्लाइंट को कनेक्ट करें जहाँ आप पहले से लिखते हैं — Claude Code, Cursor, Codex CLI, VS Code, Windsurf, या कोई अन्य MCP-संगत क्लाइंट। Maguyva के पास 24 दस्तावेज़ीकृत MCP क्लाइंट्स के लिए सेटअप गाइड है और यह अन्य क्लाइंट्स से बात कर सकता है जो मानक MCP कॉन्फ़िगरेशन का समर्थन करते हैं।&lt;/p&gt;
&lt;p&gt;किसी के लिखने से पहले एक ऐसा सवाल पूछें जिसे आप आंक सकें। ‘सत्र समाप्ति कहाँ संभाली जाती है, और इसे कौन कॉल करता है?’ ‘auth ठीक करो’ से बेहतर पहला कदम है। उद्धरण मांगें। &lt;code&gt;file.ext:line&lt;/code&gt; परिणाम खोलें। सिंबल का पीछा करें। उन डिपेंडेंसी की पुष्टि करें जिन्हें आप छूने वाले हैं।&lt;/p&gt;
&lt;p&gt;Maguyva सर्च, सिंबल, dependency विश्लेषण, फ़ाइल पुनर्प्राप्ति, रिपॉज़िटरी संदर्भ, और नियतात्मक यूटिलिटी-टूल वर्कफ़्लो में 11 ग्राहक-सामना करने वाले MCP टूल उजागर करता है। चार पुनर्प्राप्ति मोड एक रैंक किए गए परिणाम में मिलते हैं; &lt;code&gt;find_symbol&lt;/code&gt; एक अलग टूल है जब आप पहले से नाम जानते हैं। &lt;a href=&quot;https://maguyva.ai/hi/docs&quot;&gt;दस्तावेज़ीकरण&lt;/a&gt; सबसे छोटा पथ बताता है: मुफ़्त में शुरू करें, उस repo को इंडेक्स करें जिसे आप पहले से जानते हैं, क्लाइंट कनेक्ट करें, फिर एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं।&lt;/p&gt;
&lt;p&gt;स्नैपशॉट टाइमस्टैम्प किए जाते हैं, ताकि एजेंट बता सके कि यह ट्री का कौन सा संस्करण पढ़ रहा है। ईमानदार सीमा असिंक्रोनाइज़्ड स्थानीय काम है। अगर कोई बदलाव केवल वर्किंग ट्री में मौजूद है और पुश नहीं हुआ, तो होस्टेड मैप में अभी भी वह बदलाव नहीं है। इंस्ट्रक्शन फ़ाइलें (&lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;) फिर भी यहाँ एक जगह रखती हैं, कन्वेंशन और जो नहीं छूना चाहिए उसके लिए। यह जीवित मैप नहीं है। व्यवहार के लिए इसका उपयोग करें। तथ्यों के लिए Maguyva का उपयोग करें।&lt;/p&gt;
&lt;p&gt;उद्धरण repo के संपर्क में टिकने से पहले एजेंट को PR खोलने न दें। वह गेट इस चरण का पूरा उद्देश्य है।&lt;/p&gt;
&lt;h3 id=&quot;2-एजेंट-का-pr&quot;&gt;2. एजेंट का PR&lt;/h3&gt;
&lt;p&gt;वही एजेंट अब उस क्लाइंट में बदलाव लिखता है जिसके लिए आप पहले से भुगतान करते हैं। Maguyva न तो एडिटर है, न समीक्षक। एजेंट फिर भी diff बनाता है। आप फिर भी GitHub या GitLab पर पुल रिक्वेस्ट खोलते हैं जैसा आप पहले से करते हैं।&lt;/p&gt;
&lt;p&gt;जो अलग होना चाहिए वह है पहली फ़ाइल। PR को उस असली हैंडलर का नाम लेना चाहिए जो व्यवहार को लागू करता है, वे कॉलर जो टूटेंगे, और वे टेस्ट जो अगर बदलाव गलत है तो विफल होंगे। अगर चरण 1 छोड़ दिया गया, तो चरण 3 अपनी टिप्पणी गलत पैकेज में उतरे बदलाव पर बर्बाद करेगा। Greptile फिर भी प्रणालीगत समस्याएँ ढूँढ सकता है। इसे भ्रामक पथ से भी उबरना नहीं पड़ना चाहिए।&lt;/p&gt;
&lt;p&gt;PR को छोटा रखें। एक आधारित पहली फ़ाइल किसी मॉड्यूल को फिर से लिखने का लाइसेंस नहीं है। यह पूरक जोड़ी तब काम करती है जब एजेंट मैप के साथ एक काम करता है, फिर समीक्षक से सीमित diff पर दूसरा काम करने को कहता है।&lt;/p&gt;
&lt;h3 id=&quot;3-greptile-की-समीक्षा&quot;&gt;3. Greptile की समीक्षा&lt;/h3&gt;
&lt;p&gt;Greptile पहले से ही GitHub या GitLab ऐप के ज़रिए repository से जुड़ा हुआ है। एक नए पुल रिक्वेस्ट पर, यह उस पूर्ण repo ग्राफ़ का उपयोग करके बदलाव का विश्लेषण करता है जिसे उसने बनाया है, और सुझाए गए सुधारों के साथ निष्कर्षों को टिप्पणी के रूप में प्रकाशित करता है। उनकी अपनी सामग्री इस चरण को लगभग तीन मिनट पर रखती है।&lt;/p&gt;
&lt;p&gt;टिप्पणी को उसी तरह पढ़ें जैसे आप एक चौकस टीममेट को पढ़ेंगे: उद्धृत स्थान खोलें, तय करें कि निष्कर्ष सही है या नहीं, फिर कार्रवाई करें। जहाँ Greptile ‘Fix with your Agent’ प्रस्तुत करता है, यह मुद्दे को — फ़ाइल पथ, लाइन नंबर, सुझाया गया कोड — Claude Code, Codex, Conductor, Cursor, या Devin को भेजता है। ‘Fix All’ उस समीक्षा में सभी मुद्दों को एक साथ भेजता है। वे उस हैंडऑफ़ के लिए Greptile MCP और एक Claude Code प्लगइन भी प्रदान करते हैं। Maguyva उस नामित लक्ष्य सूची में नहीं है; वह अनुपस्थिति समस्या नहीं है। Maguyva ने अपना काम चरण 1 में पहले ही कर लिया। जिस कोडिंग एजेंट ने PR लिखा वह वह पक्ष है जिसे फ़िक्स पेलोड मिलना चाहिए।&lt;/p&gt;
&lt;p&gt;पहले 2-3 सप्ताह के दौरान शोरगुल की उम्मीद करें जब Greptile का सीखने वाला सिस्टम उन वास्तविक टिप्पणियों के अनुकूल होता है जो आपकी टीम छोड़ती है। यह वह समयसीमा है जो वे बताते हैं, जोड़ी की खामी नहीं। मानवीय समीक्षा उस लूप में रहती है। Greptile एक स्वचालित पहला कदम है, मर्ज बटन नहीं।&lt;/p&gt;
&lt;p&gt;अगर Greptile की टिप्पणी किसी ऐसी फ़ाइल की ओर इशारा करती है जिसे चरण 1 में एजेंट ने कभी नहीं पूछा, तो यह एक उपयोगी संकेत है। या तो मैप ने एक कॉलर मिस किया, या एजेंट ने एक उद्धरण छोड़ दिया। टिप्पणी के अनुसार ड्राफ्ट ठीक करें। समीक्षक को अक्षम न करें।&lt;/p&gt;
&lt;h2 id=&quot;इस-पूरक-को-ईमानदार-कैसे-रखें&quot;&gt;इस पूरक को ईमानदार कैसे रखें&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Maguyva हमेशा पहले। गलत फ़ाइल के साथ PR की समीक्षा फिर भी गलत फ़ाइल की समीक्षा ही है।&lt;/li&gt;
&lt;li&gt;Greptile हमेशा बाद में। अच्छी तरह उद्धृत ड्राफ्ट को भी सिस्टम-स्तरीय diff रीडिंग की ज़रूरत होती है।&lt;/li&gt;
&lt;li&gt;Maguyva से PR टिप्पणियाँ प्रकाशित करने के लिए न कहें। यह ऐसा नहीं करता।&lt;/li&gt;
&lt;li&gt;Greptile को एजेंट की पहली पुनर्प्राप्ति परत बनने के लिए न कहें जबकि वह अभी भी पथ चुन रहा है। यह उनके GitHub या GitLab ऐप के लिए डिज़ाइन किया गया काम नहीं है।&lt;/li&gt;
&lt;li&gt;ऐसी bash पाइपलाइन का आविष्कार न करें जो दोनों को ‘सिंक’ करती है। PR ही वह इंटरफ़ेस है।&lt;/li&gt;
&lt;li&gt;दोनों पक्षों को अलग-अलग सत्यापित करें। उस repo को इंडेक्स करें जिसे आप पहले से जानते हैं। एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं। फिर एक छोटा PR खोलें और पढ़ें कि Greptile वास्तव में क्या टिप्पणी करता है।&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;एक बार नाम दिए जाने के बाद यह लूप साधारण बन जाता है। पहले मैप। एजेंट का PR। बाद में समीक्षा। हर उत्पाद पुल रिक्वेस्ट के उस पक्ष पर रहता है जिसमें वह विशेषज्ञ है।&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// map first. review second. in that order.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Ecosystem</category><category>Workflow</category><category>Code Review</category></item><item><title>बिना स्थानीय इंडेक्सर के AI एजेंट्स को बड़े repo का संदर्भ देना</title><link>https://maguyva.ai/hi/blog/large-repo-context-without-a-local-indexer</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/large-repo-context-without-a-local-indexer</guid><description>अपने लैपटॉप पर स्थानीय इंडेक्सर चलाए बिना, क्लाउड से पूछे जा सकने वाले बड़े रिपॉज़िटरी के मैप के साथ कोडिंग एजेंट्स को कैसे दें।</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;बड़े रिपॉज़िटरी संदर्भ विंडो में फिट नहीं होते, और अगर आपने कभी लैपटॉप-आधारित इंडेक्सर को किसी वास्तविक monorepo पर चलाया है, तो आप जानते हैं कि यह वहाँ भी आराम से फिट नहीं होता — RAM बढ़ जाती है, पहला इंडेक्सिंग एक घंटे लेता है, और आपका एजेंट फिर भी अगला सत्र यह अनुमान लगाते हुए शुरू करता है कि कौन सी फ़ाइलें महत्वपूर्ण हैं।&lt;/p&gt;
&lt;p&gt;सामान्य उत्तर है एडिटर के बगल में एक इंडेक्सर चलाना, और जो repo एक मशीन पर आराम से फिट होता है उसके लिए, यह एक अच्छा जवाब है। अगर आपका monorepo पहले से ही Cursor में तेज़ी से इंडेक्स होता है और वही एकमात्र जगह है जहाँ आपको मैप चाहिए, तो इस लेख में जोड़ने के लिए कुछ नहीं है — इसे छोड़ दें।&lt;/p&gt;
&lt;p&gt;यह लेख दूसरे मामले के बारे में है — जब एक एजेंट को एक बड़े repo का उद्धृत करने योग्य मैप चाहिए, और आप उसे पाने के लिए स्थानीय इंडेक्सर नहीं चलाना चाहते।&lt;/p&gt;
&lt;h2 id=&quot;स्थानीय-इंडेक्सर-कब-गलत-टूल-बन-जाता-है&quot;&gt;स्थानीय इंडेक्सर कब गलत टूल बन जाता है&lt;/h2&gt;
&lt;p&gt;एक स्थानीय इंडेक्स मानता है कि कोड उसी मशीन पर रहता है जो इसे पूछती है, और असली monorepo पैमाने पर, वह धारणा एक ही एडिटर के भीतर भी खिंचती है। repo केवल उससे बड़ा है जितना आप अपने लैपटॉप पर ‘गर्म’ रखना चाहते हैं: आप एक पैकेज में काम कर रहे हैं जबकि ब्लास्ट रेडियस तीन डायरेक्टरी दूर है, और उस दो-मिलियन-लाइन ट्री के लिए पहला ठंडा इंडेक्स कुछ ऐसा नहीं है जिसे आप दो बार गुज़रना चाहते हैं — चाहे आपकी अपनी मशीन पर हो, या उस CI रनर पर जिसने पहले कभी वह ट्री क्लोन नहीं किया। या एक टीममेट को आपके जैसे ही मैप पूछने में सक्षम होना चाहिए, बिना अपनी मशीन को उसी इंडेक्स से जूझने का इंतज़ार किए।&lt;/p&gt;
&lt;p&gt;इनमें से कोई भी एक अच्छे एडिटर इंडेक्सर को छोड़ने का कारण नहीं है। यह एक होस्टेड मैप भी रखने का कारण है जिसे आपका कोई भी एजेंट MCP के ज़रिए पूछ सकता है।&lt;/p&gt;
&lt;p&gt;और वह पैमाना समस्या ‘चिपकाने के लिए बहुत सारी फ़ाइलें’ से गहरी है। एक बड़े ट्री पर, दिलचस्प सवाल लगभग कभी ‘मुझे यह फ़ाइल दिखाओ’ नहीं होता — यह होता है कौन सी फ़ाइल, कौन सा सिंबल, कौन कॉल करता है, कौन सा टेस्ट। एक एजेंट जो &lt;code&gt;src/&lt;/code&gt; सूचीबद्ध करके और पहले तीन परिणाम पढ़कर शुरू करता है, वह &lt;code&gt;apps/api&lt;/code&gt; में हैंडलर और &lt;code&gt;packages/sdk&lt;/code&gt; में जनरेट किए गए क्लाइंट को खुशी-खुशी मिस कर देगा। आपको जो चाहिए वह है पूरे ट्री से बनी पुनर्प्राप्ति, फिर रैंक की गई, फिर उद्धृत।&lt;/p&gt;
&lt;h2 id=&quot;बड़े-repo-का-संदर्भ-का-असल-में-क्या-मतलब-है&quot;&gt;‘बड़े repo का संदर्भ’ का असल में क्या मतलब है&lt;/h2&gt;
&lt;p&gt;फ़ाइलों को प्रॉम्प्ट में डालना संदर्भ नहीं है — यह छोटे और खराब तरीके से किया गया ट्री का प्रतिलिपिकरण है। आपके एजेंट को वास्तव में जो चाहिए वह है सवाल पूछना और उद्धृत जवाब पाना: यह सिंबल कहाँ परिभाषित है और इसे कौन कॉल करता है, मैं जो मॉड्यूल बदलने वाला हूँ उस पर क्या निर्भर करता है, कौन सी टेस्ट फ़ाइलें इस व्यवहार को कवर करती हैं, और वह ट्री &lt;em&gt;अभी&lt;/em&gt; कैसा दिखता है, पिछली तिमाही नहीं।&lt;/p&gt;
&lt;p&gt;वे जवाब आपके repo से बने इंडेक्स से आने चाहिए, किसी और के repo के बारे में मॉडल की याददाश्त से नहीं, और वह इंडेक्स एजेंट की संदर्भ विंडो के बाहर कहीं रहना चाहिए। इस समस्या के लिए, यह आपके लैपटॉप के बाहर भी कहीं रहना चाहिए।&lt;/p&gt;
&lt;p&gt;एक और चीज़ जो इंस्ट्रक्शन फ़ाइलें आपके लिए नहीं कर सकतीं: &lt;code&gt;CLAUDE.md&lt;/code&gt; और &lt;code&gt;AGENTS.md&lt;/code&gt; कन्वेंशन और व्यवहार के लिए सही जगह हैं, लेकिन वे दो-मिलियन-लाइन ट्री के लिए जीवित, रैंक की गई, उद्धरण योग्य मैप नहीं हैं। व्यवहार के लिए नियमों का उपयोग करें; तथ्यों के लिए repo इंटेलिजेंस का उपयोग करें।&lt;/p&gt;
&lt;h2 id=&quot;हम-क्लाउड-में-मैप-बनाते-हैं-आप-इसे-किसी-भी-क्लाइंट-से-पूछते-हैं&quot;&gt;हम क्लाउड में मैप बनाते हैं, आप इसे किसी भी क्लाइंट से पूछते हैं&lt;/h2&gt;
&lt;p&gt;Maguyva एक रिमोट MCP कोडबेस संदर्भ परत है। आप GitHub कनेक्ट करते हैं, अपनी repo चुनते हैं, और चले जा सकते हैं जबकि क्लाउड पाइपलाइन ट्री को पार्स करती है, सिंबल और ग्राफ़ एज बनाती है, और रैंक किया गया मैप बनाए रखती है — कभी भी स्थानीय इंडेक्सर की ज़रूरत नहीं।&lt;/p&gt;
&lt;p&gt;जब आप कोड पुश करते हैं, बदली हुई फ़ाइलें क्रमिक रूप से पार्स होती हैं, और ग्राफ़ व रैंकिंग परतें एक शेड्यूल पर फिर से बनाई जाती हैं: मुफ़्त योजना पर दैनिक, भुगतान योजनाओं पर प्रति घंटा। हर स्नैपशॉट टाइमस्टैम्प किया जाता है, ताकि आपका एजेंट बता सके कि यह ट्री का कौन सा संस्करण पढ़ रहा है। यहाँ ईमानदार सीमा असिंक्रोनाइज़्ड स्थानीय काम है — जो बदलाव केवल आपकी वर्किंग ट्री में मौजूद हैं, कभी पुश नहीं हुए, वे अभी तक होस्टेड मैप में नहीं हैं।&lt;/p&gt;
&lt;p&gt;फिर आप उस क्लाइंट के MCP कॉन्फ़िग में एक API कुंजी जोड़कर, जिसे आप पहले से उपयोग करते हैं, कनेक्ट करते हैं। 24 दस्तावेज़ीकृत MCP क्लाइंट्स के लिए सेटअप गाइड मौजूद हैं, और कोई भी अन्य MCP-संगत क्लाइंट जो मानक कॉन्फ़िगरेशन का समर्थन करता है, वह भी कनेक्ट हो सकता है। अगर Cursor वह जगह है जहाँ आप रहते हैं, &lt;a href=&quot;https://maguyva.ai/hi/for-cursor&quot;&gt;Cursor पेज&lt;/a&gt; उस पथ को नक्शा करता है; वही सर्वर Claude Code, VS Code, Windsurf, Codex CLI और बाकियों को जवाब देता है।&lt;/p&gt;
&lt;p&gt;आप एडिटर नहीं बदल रहे। आप अपने एजेंट को एक टूल सतह दे रहे हैं — सर्च, सिंबल, dependency विश्लेषण, फ़ाइल पुनर्प्राप्ति और रिपॉज़िटरी संदर्भ में 11 MCP टूल — जो 279 से अधिक भाषाओं और टेक्स्ट-आधारित तकनीकों को कवर करता है, जिसका मतलब है उससे कहीं ज़्यादा जितना आपने उस monorepo पर सोचा था जो बहुत पहले एक-भाषा होना बंद कर चुका है।&lt;/p&gt;
&lt;p&gt;जवाब आधारित होकर वापस आते हैं, फ़ाइल पथों के रूप में लाइन नंबरों के साथ। Semantic, structural, graph, और text सर्च एक रैंक किए गए परिणाम में मिल जाते हैं, ताकि ‘parseConfig पर क्या निर्भर करता है’ जैसे सवाल आपको केवल grep का ढेर या एक ही semantic उद्धरण न दें, बल्कि उन कुछ जगहों को दें जो वास्तव में मायने रखती हैं।&lt;/p&gt;
&lt;h2 id=&quot;एक-ठोस-गाइड&quot;&gt;एक ठोस गाइड&lt;/h2&gt;
&lt;p&gt;पूरी कंपनी को इंडेक्स करके शुरू न करें। यह वह पथ है जो काम करता है:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;एक ऐसी repo चुनें जिसे आप पहले से अच्छी तरह जानते हैं — एक पैकेज जिसे आप मैन्युअल रूप से आंक सकते हैं, वह आपके पास मौजूद सबसे बड़े ट्री से ज़्यादा मूल्यवान है।&lt;/li&gt;
&lt;li&gt;मुफ़्त में शुरू करें: 3 रिपो, 50 हज़ार इंडेक्स की गई लाइनें, सभी 11 टूल, कोई मासिक क्वेरी कोटा नहीं। अगर आपका प्रतिनिधि repo बड़ा है, तो &lt;a href=&quot;https://maguyva.ai/hi/pricing&quot;&gt;मूल्य निर्धारण पेज&lt;/a&gt; इंडेक्स की गई कवरेज के अनुसार वर्कस्पेस स्तर ($0, $19, $49, $149) सूचीबद्ध करता है — सीट गिनती के अनुसार नहीं।&lt;/li&gt;
&lt;li&gt;GitHub कनेक्ट करें और पहले इंडेक्सिंग के पूरा होने का इंतज़ार करें। आप स्थानीय रूप से कुछ भी संकलित नहीं कर रहे हैं।&lt;/li&gt;
&lt;li&gt;अपना MCP क्लाइंट कनेक्ट करें — कुछ कॉन्फ़िग लाइनें। Maguyva एक रिमोट MCP सर्वर है, इसलिए कोई प्लगइन नहीं, कोई एक्सटेंशन नहीं, और कोई दूसरा एडिटर नहीं अपनाना है।&lt;/li&gt;
&lt;li&gt;एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं। ‘parseConfig पर क्या निर्भर करता है?’ या ‘लॉगिन सत्र समाप्ति कहाँ संभाली जाती है?’ फिर उद्धृत &lt;code&gt;file.ext:line&lt;/code&gt; परिणाम खोलें और अपने सामने के ट्री से जाँचें।&lt;/li&gt;
&lt;li&gt;उस उद्धरण के संपर्क में टिके रहने के बाद ही, आप एजेंट को संपादित करने देते हैं।&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;अगर पहली repo अच्छी तरह फिट बैठती है और आपकी ट्री बड़ी है, तो अपनी इंडेक्स की गई लाइनों और पुनर्निर्माण दर के अनुसार वर्कस्पेस को बढ़ाएँ। मनुष्य और एजेंट एक ही उपयोगकर्ता गिनती साझा करते हैं — Maguyva सीट्स के बजाय प्रति वर्कस्पेस चार्ज करता है — इसलिए लूप में तीसरा एजेंट जोड़ने से आपको कुछ अतिरिक्त नहीं मिलता।&lt;/p&gt;
&lt;p&gt;एक्टिवेशन टेस्ट किसी भी पहली रन के लिए &lt;a href=&quot;https://maguyva.ai/hi/docs&quot;&gt;दस्तावेज़ीकरण&lt;/a&gt; की सिफारिश के समान है: उस repo को इंडेक्स करें जिसे आप पहले से जानते हैं, एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं। बड़ा repo उस टेस्ट को नहीं बदलता; यह केवल पहली ग़लत फ़ाइल को अधिक महंगा बनाता है।&lt;/p&gt;
&lt;h2 id=&quot;कनेक्ट-होने-के-बाद-क्या-देखें&quot;&gt;कनेक्ट होने के बाद क्या देखें&lt;/h2&gt;
&lt;p&gt;तीन चीज़ों पर नज़र रखें। ताज़गी: भुगतान योजनाएँ प्रति घंटा फिर से बनती हैं, मुफ़्त योजना दैनिक, और वह स्थानीय काम जो पुश नहीं हुआ वह मैप में नहीं होगा — यही व्यापार है जो आप स्वीकार कर रहे हैं। स्कोप: उन रिपो के प्रतिनिधि सेट को इंडेक्स करें, हर आर्काइव किए गए फ़ोर्क को नहीं; मुफ़्त स्तर जानबूझकर इतना बड़ा बनाया गया है कि यह जानने के लिए कि जवाब रखने लायक हैं या नहीं। और सत्यापन: एक बड़े repo का मैप जो पथ और लाइन नंबर उद्धृत नहीं कर सकता, वह केवल एक धीमा अनुमान इंजन है, इसलिए अपने एजेंट को पैच भेजने से पहले स्थान दिखाने के लिए कहें।&lt;/p&gt;
&lt;p&gt;फिर वही टेस्ट चलाएँ जो आप एक छोटे repo पर चलाते। उस repo को इंडेक्स करें जिसे आप पहले से जानते हैं। एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं। अगर मैप सही है, तो आपका एजेंट ठंडे ट्री से शुरू करना बंद कर देता है।&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// no laptop got hot building this map.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>AI Agents</category><category>MCP</category><category>Indexing</category><category>Monorepos</category></item><item><title>आपके AI कोडिंग एजेंट फ़ाइल पथों का भ्रम क्यों बनाते हैं</title><link>https://maguyva.ai/hi/blog/why-ai-coding-agents-hallucinate-file-paths</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/why-ai-coding-agents-hallucinate-file-paths</guid><description>AI कोडिंग एजेंट्स फ़ाइल पथों का आविष्कार करते हैं जब उनके पास repo का कोई वास्तविक मैप नहीं होता। यह क्यों होता है, और एक आधारित मैप कम भ्रामक बदलावों की ओर कैसे ले जाता है।</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;यह संकेत गलत फ़ंक्शन बॉडी नहीं है। यह एक ऐसी फ़ाइल पर आत्मविश्वासी बदलाव है जो मौजूद ही नहीं है, या एक ऐसी फ़ाइल पर जो मौजूद है लेकिन वह उस व्यवहार को लागू नहीं करती।&lt;/p&gt;
&lt;p&gt;आपने सत्र समाप्ति का फ़िक्स मांगा। एजेंट &lt;code&gt;src/auth/session.ts&lt;/code&gt; खोलता है। पथ प्रशंसनीय है। यह गलत भी है। असली हैंडलर &lt;code&gt;apps/api/src/middleware/expiry.ts&lt;/code&gt; में रहता है, जिसका नाम दो पुनर्संरचनाओं पहले बदला गया था। एजेंट आपसे झूठ नहीं बोल रहा। यह प्रशिक्षण पूर्वाग्रह और संदर्भ विंडो में पहले से मौजूद जो कुछ भी है, उसके आधार पर पथ-आकार की स्ट्रिंग पूरी कर रहा है।&lt;/p&gt;
&lt;p&gt;यह वास्तविक रिपॉज़िटरी पर एक सामान्य विफलता पैटर्न है। मॉडल कोड लिख सकता है। इसकी गलती इसे लिखने के लिए गलत जगह चुनना है।&lt;/p&gt;
&lt;h2 id=&quot;एजेंट्स-पथों-का-आविष्कार-क्यों-करते-हैं&quot;&gt;एजेंट्स पथों का आविष्कार क्यों करते हैं&lt;/h2&gt;
&lt;p&gt;कोडिंग एजेंट्स टूल्स से लैस अगला-टोकन भविष्यवाणी मॉडल हैं। जब आप कहते हैं ‘सत्र समाप्ति ठीक करो’, इसे कुछ भी पढ़ने या पैच करने से पहले एक फ़ाइल का नाम लेना चाहिए। अगर इसके पास पहले से आधारित मैप नहीं है, तो यह इनसे पथ बनाता है:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;नामकरण कन्वेंशन जो इसने अन्य रिपॉज़िटरी में देखी हैं। &lt;code&gt;src/auth/session.ts&lt;/code&gt; एक सामान्य रूप है।&lt;/li&gt;
&lt;li&gt;फ़ाइलें जो पहले से बातचीत में हैं, जो वह फ़ाइल हो सकती है जो आपने पिछले हफ़्ते चिपकाई थी, न कि जो अभी मायने रखती है।&lt;/li&gt;
&lt;li&gt;एक डायरेक्टरी लिस्टिंग जो इसने संयोग से चलाई, एक बड़े ट्री पर अधूरी।&lt;/li&gt;
&lt;li&gt;इंस्ट्रक्शन फ़ाइलें। &lt;code&gt;CLAUDE.md&lt;/code&gt; और &lt;code&gt;AGENTS.md&lt;/code&gt; एजेंट को व्यवहार करने का तरीका बताती हैं। यह सिंबल, कॉलर, या वर्तमान पथों का जीवित इंडेक्स नहीं है।&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;इनमें से कोई भी स्रोत इस repo का मैप नहीं है, आज। मॉडल अंतराल को उसी तरह भरता है जैसे वह किसी भी अंतराल को भरता है: उच्च-संभावना निरंतरता के साथ। वह निरंतरता अक्सर एक वास्तविक पथ जैसी दिखती है। कभी-कभी फ़ाइल मौजूद होती है और सही पड़ोस में बैठी होती है। कभी-कभी यह पिछले महीने मर्ज हुई एक शाखा पर मौजूद होती है। कभी-कभी यह कभी अस्तित्व में ही नहीं थी।&lt;/p&gt;
&lt;p&gt;Grep यहाँ आपको नहीं बचाता अगर एजेंट पहले सही स्ट्रिंग की खोज ही नहीं करता। एजेंट एक पथ का अनुमान लगाता है, फिर वह पथ जो लौटाता है उसे पढ़ता है, फिर उसे संपादित करता है। पहला गलत कदम पथ है, पैच नहीं।&lt;/p&gt;
&lt;p&gt;फ़ाइलें पढ़ना सही खोजने के समान भी नहीं है। Claude Code, Cursor, Codex, और इसी तरह के टूल आपके द्वारा दिखाई गई किसी भी चीज़ को खोल सकते हैं। सवाल यह है कि क्या वे संपादित करने से पहले विश्वसनीय रूप से सही फ़ाइल, महत्वपूर्ण सिंबल, डिपेंडेंसी, टेस्ट, और ब्लास्ट रेडियस ढूँढते हैं। बिना मैप के फ़ाइल एक्सेस अभी भी अनुमान से शुरू होता है।&lt;/p&gt;
&lt;h2 id=&quot;गलत-फ़ाइल-संपादित-करना-एक-पुनर्प्राप्ति-समस्या-है&quot;&gt;गलत फ़ाइल संपादित करना एक पुनर्प्राप्ति समस्या है&lt;/h2&gt;
&lt;p&gt;आविष्कृत पथ को एक पुनर्प्राप्ति गलती के रूप में सोचें, कोई चरित्र दोष नहीं।&lt;/p&gt;
&lt;p&gt;अगर एजेंट को संपादित करने की अनुमति देने से पहले &lt;code&gt;path/file.ext:line&lt;/code&gt; वापस लाना पड़े, तो दो चीज़ें होती हैं। पहला, आप उद्धरण खोल सकते हैं और दस सेकंड में काम को अस्वीकार कर सकते हैं। दूसरा, एजेंट को कुछ ऐसा पूछना पड़ता है जो वास्तव में उस ट्री को जानता है।&lt;/p&gt;
&lt;p&gt;यही कोडबेस संदर्भ परत का काम है। अकेले semantic सर्च पर्याप्त नहीं है। एक उद्धरण जो ‘सत्र समाप्ति जैसा लगता है’ फिर भी एक अप्रचलित पैकेज में उतर सकता है। आपको सटीक टेक्स्ट भी चाहिए जब आप स्ट्रिंग जानते हैं, सिंबल सर्च जब आप नाम जानते हैं, structural सर्च जब आप आकार जानते हैं, और dependency ग्राफ़ जब आपको कॉलर व ब्लास्ट रेडियस चाहिए।&lt;/p&gt;
&lt;p&gt;Maguyva MCP-संगत कोडिंग एजेंट्स के लिए वह परत है। यह एडिटर नहीं है। Claude Code, Cursor, Codex CLI, VS Code, Windsurf, और अन्य MCP क्लाइंट्स अपनी जगह पर बने रहते हैं। एजेंट एक लाइन छूने से पहले रैंक किए गए मैप को पूछता है।&lt;/p&gt;
&lt;p&gt;जो दावा किया गया है वह जानबूझकर मामूली है: कम भ्रामक बदलाव। Maguyva मॉडल से अनुमान लगाने की क्षमता नहीं छीनता। यह डिफ़ॉल्ट पहले कदम को ‘प्रशंसनीय पथ का आविष्कार करो’ से बदलकर ‘रैंक किए गए, उद्धृत स्थान मांगो’ कर देता है।&lt;/p&gt;
&lt;h2 id=&quot;एक-आधारित-जवाब-कैसा-दिखता-है&quot;&gt;एक आधारित जवाब कैसा दिखता है&lt;/h2&gt;
&lt;p&gt;‘सत्र समाप्ति कहाँ संभाली जाती है’ का उपयोगी जवाब एक पैराग्राफ नहीं है। यह छोटे स्थानों की एक सूची है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apps/api/src/middleware/expiry.ts:48&lt;/code&gt; - हैंडलर&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apps/web/src/lib/auth-client.ts:112&lt;/code&gt; - कॉलर&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apps/api/tests/expiry.test.ts:20&lt;/code&gt; - टेस्ट जो अगर बदलाव गलत है तो विफल होगा&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;आप इन लाइनों को खोल सकते हैं। अगर गलत हैं, तो आप रुक जाते हैं। अगर सही हैं, तो एजेंट संपादित कर सकता है। सत्यापन ही मुख्य बात है, नारा नहीं।&lt;/p&gt;
&lt;p&gt;Maguyva सर्च, सिंबल, dependency विश्लेषण, फ़ाइल पुनर्प्राप्ति, रिपॉज़िटरी संदर्भ, और नियतात्मक यूटिलिटी-टूल वर्कफ़्लो में 11 ग्राहक-सामना करने वाले MCP टूल उजागर करता है। चार पुनर्प्राप्ति मोड (semantic, structural, graph/dependency, और text) एक रैंक किए गए परिणाम में मिलते हैं; सिंबल सर्च एक अलग MCP टूल है (&lt;code&gt;find_symbol&lt;/code&gt;)। आधारित जवाब फ़ाइल पथों और लाइन नंबरों के साथ वापस आते हैं, ताकि आप उन्हें अपने सामने के ट्री के मुकाबले आंक सकें।&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maguyva.ai/hi/docs&quot;&gt;दस्तावेज़ीकरण&lt;/a&gt; सबसे छोटा पथ बताता है: मुफ़्त में शुरू करें, उस repo को इंडेक्स करें जिसे आप पहले से जानते हैं, क्लाइंट कनेक्ट करें, फिर एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं।&lt;/p&gt;
&lt;h2 id=&quot;वह-लूप-जो-पहला-बदलाव-बदल-देता-है&quot;&gt;वह लूप जो पहला बदलाव बदल देता है&lt;/h2&gt;
&lt;p&gt;आपको एक नए वर्कफ़्लो धर्म की ज़रूरत नहीं है। आपको पहली लिखाई से पहले एक अतिरिक्त कदम चाहिए।&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;एक ऐसा सवाल पूछें जिसे आप पहले से आंक सकते हैं। ‘लॉगिन और सत्र समाप्ति किस कोड में संभाली जाती है?’ ‘auth ठीक करो’ से बेहतर है।&lt;/li&gt;
&lt;li&gt;उद्धरण मांगें। फ़ाइल पथ और लाइन नंबर, न कि ‘auth मॉड्यूल’ का सारांश।&lt;/li&gt;
&lt;li&gt;उद्धृत फ़ाइल खोलें। सिंबल का पीछा करें। उन डिपेंडेंसी की पुष्टि करें जिन्हें आप छूने वाले हैं।&lt;/li&gt;
&lt;li&gt;उसके बाद ही एजेंट को पैच करने दें।&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;अगर चरण 2 कुछ भी उपयोगी नहीं लौटाता, तो एजेंट को पथ पर सुधार करने का कोई अधिकार नहीं। यह फिर से खोज करता है, या आप उसे दिखाते हैं। यही एक गेट है जो कम भ्रामक बदलाव पैदा करता है। मॉडल वही मॉडल है। मैप वह चीज़ है जो बदलती है।&lt;/p&gt;
&lt;p&gt;इंस्ट्रक्शन फ़ाइलें फिर भी मायने रखती हैं। उन्हें बनाए रखें। कन्वेंशन, समीक्षा नियम, और जो नहीं छूना चाहिए उसके लिए उनका उपयोग करें। इसे इंडेक्स बनने के लिए न कहें। &lt;code&gt;CLAUDE.md&lt;/code&gt; जो तीन महत्वपूर्ण डायरेक्टरी सूचीबद्ध करता है, वह एक पैकेज विभाजन के एक हफ़्ते बाद पुराना हो जाएगा। जिस मैप को पूछा जा सकता है वह repo के अपडेट होने पर अपडेट होता है।&lt;/p&gt;
&lt;p&gt;एक संबंधित विफलता है लगभग-सही फ़ाइल: एजेंट &lt;code&gt;auth.ts&lt;/code&gt; खोलता है जबकि व्यवहार &lt;code&gt;auth-client.ts&lt;/code&gt; में रहता है, या स्रोत के बजाय जनरेट की गई फ़ाइल को पैच करता है, या &lt;code&gt;packages/legacy&lt;/code&gt; में एक प्रतिलिपि को संपादित करता है क्योंकि नाम मेल खाता है। उद्धरण इन गलतियों को असंभव नहीं बनाते। वे इन्हें diff उतरने से पहले दिखाई देने योग्य बनाते हैं।&lt;/p&gt;
&lt;h2 id=&quot;मैप-आपके-लिए-क्या-ठीक-नहीं-करेगा&quot;&gt;मैप आपके लिए क्या ठीक नहीं करेगा&lt;/h2&gt;
&lt;p&gt;आपको जो मिलता है उसके बारे में ईमानदार रहें। एक आधारित मैप हर बदलाव को सही नहीं बनाएगा — आपका एजेंट फिर भी बिल्कुल सही फ़ाइल पर एक खराब पैच लिख सकता है। अगर आपका कोडबेस डायनामिक डिस्पैच, रिफ़्लेक्शन, या मंकी-पैचिंग पर निर्भर है, तो कुछ सिंबल सर्च आपकी उम्मीद से पतले परिणाम देंगे, क्योंकि रनटाइम अप्रत्यक्षता किसी भी स्टेटिक इंडेक्स के साथ यही करती है। और अगर आप एक प्रतिशत की उम्मीद कर रहे हैं — ‘भ्रामक पथ X% कम हुए’ — तो आपको यह यहाँ नहीं मिलेगा, क्योंकि कोई भी आपके repo के लिए वह संख्या ईमानदारी से आपके सिवा किसी और के लिए माप नहीं सकता।&lt;/p&gt;
&lt;p&gt;जो आप उम्मीद कर सकते हैं वह संकरा और अधिक उपयोगी है: एजेंट अपने बदलाव को अनुमानित पथ से शुरू करना बंद कर देता है। वह पहला कदम असली मैप में आधारित हो जाता है, और वहीं से कम भ्रामक बदलाव आते हैं। उद्धरण के बाद की हर चीज़ — diff पढ़ना, पैच को आंकना — फिर भी आपका काम है, जैसा यह हमेशा से रहा है।&lt;/p&gt;
&lt;p&gt;यह टेस्ट लगभग आपको कुछ भी खर्च नहीं करता: उस repo को इंडेक्स करें जिसे आप पहले से जानते हैं और एक सवाल पूछें जिसे आप सत्यापित कर सकते हैं। उस पथ से शुरू करें जिसने पहले आपको जलाया था। अगर उद्धरण गलत है, तो आप इसे तुरंत देखेंगे। अगर सही है, तो आपके एजेंट का अगला बदलाव उतरने के लिए एक बेहतर जगह रखता है।&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// it doesn&apos;t know the file. it knows how to find it.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>AI Agents</category><category>Hallucination</category><category>Retrieval</category><category>MCP</category></item><item><title>हमने कोड सर्च को voyage-4-large में क्यों अपग्रेड किया</title><link>https://maguyva.ai/hi/blog/upgrading-code-search-to-voyage-4-large</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/upgrading-code-search-to-voyage-4-large</guid><description>हमने अपनी कोड एम्बेडिंग को voyage-4-large पर शिफ़्ट किया — जो फ़िलहाल पब्लिक RTEB कोड रिट्रीवल लीडरबोर्ड में शीर्ष पर है। ईमानदार वर्ज़न: वह ट्रेड-ऑफ़ जो हम करते हैं, हम वास्तव में क्या इंडेक्स करते हैं, और हम प्रीमियम एम्बेडिंग के लिए भुगतान क्यों करते हैं।</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस पोस्ट में दिए गए बेंचमार्क आंकड़े प्रकाशन के समय (जून 2026) के RTEB लीडरबोर्ड को दर्शाते हैं। लीडरबोर्ड बदलते रहते हैं; रैंकिंग को एक स्नैपशॉट मानें, स्थायी तथ्य नहीं।&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;सिमेंटिक सर्च सिर्फ़ उतनी ही अच्छी होती है जितनी उसके नीचे मौजूद एम्बेडिंग।&lt;/p&gt;
&lt;p&gt;जब कोई एजेंट Maguyva से पूछता है “हम रीट्राई कहां हैंडल करते हैं,” तो वह “retry” शब्द के लिए grep नहीं कर रहा होता। वह &lt;em&gt;अर्थ&lt;/em&gt; पूछ रहा होता है — बैकऑफ़ लूप, सर्किट ब्रेकर, वह चीज़ जो किसी अस्थिर कॉल को लपेटती है। उस सवाल का जवाब एक वेक्टर मॉडल देता है जो कोड को स्पेस में एक बिंदु में बदल देता है और पड़ोसियों को खोजता है। बेहतर मॉडल चुनें और प्रोडक्ट में हर सिमेंटिक क्वेरी के नतीजे बेहतर हो जाते हैं।&lt;/p&gt;
&lt;p&gt;तो हमने अपना बदल दिया। जून 2026 से, Maguyva की कोड एम्बेडिंग &lt;strong&gt;&lt;code&gt;voyage-4-large&lt;/code&gt;&lt;/strong&gt; पर चलती हैं, जिसने &lt;code&gt;voyage-code-3&lt;/code&gt; की जगह ली है।&lt;/p&gt;
&lt;h2 id=&quot;बेंचमार्क&quot;&gt;बेंचमार्क&lt;/h2&gt;
&lt;p&gt;हमने यह फ़ैसला किसी अनुमान पर नहीं लिया। पब्लिक &lt;a href=&quot;https://embedding-benchmark-rteb.hf.space/code&quot;&gt;Retrieval Embedding Benchmark (RTEB)&lt;/a&gt; असली रिट्रीवल टास्क पर एम्बेडिंग मॉडल को रैंक करता है, और इसके &lt;strong&gt;Code&lt;/strong&gt; लीडरबोर्ड पर &lt;code&gt;voyage-4-large&lt;/code&gt; &lt;strong&gt;कुल मिलाकर #1 (90.86)&lt;/strong&gt; पर है — &lt;code&gt;gemini-embedding-2-preview&lt;/code&gt; (90.26) से आगे, और उल्लेखनीय रूप से, उस मॉडल से भी आगे जिसे हम पहले से उपयोग कर रहे थे, &lt;code&gt;voyage-code-3&lt;/code&gt; (89.73, #3)।&lt;/p&gt;
&lt;p&gt;यह निरपेक्ष रूप से छोटा-सा अंतर है। लेकिन यह सही दिशा में एक अंतर है, एक पब्लिक बेंचमार्क पर, ठीक उसी टास्क पर जिसकी हमें परवाह है: अर्थ के आधार पर कोड को रिट्रीव करना।&lt;/p&gt;
&lt;h2 id=&quot;जो-ट्रेड-ऑफ़-हम-स्वीकार-करते-हैं-बाइनरी-क्वांटाइज़ेशन&quot;&gt;जो ट्रेड-ऑफ़ हम स्वीकार करते हैं: बाइनरी क्वांटाइज़ेशन&lt;/h2&gt;
&lt;p&gt;यहां वह हिस्सा है जिसे ज़्यादातर “हमने अपना मॉडल अपग्रेड किया” पोस्ट छोड़ देती हैं।&lt;/p&gt;
&lt;p&gt;Maguyva पूर्ण-सटीकता वाले वेक्टर स्टोर नहीं करता। हम &lt;strong&gt;बाइनरी-क्वांटाइज़्ड&lt;/strong&gt; एम्बेडिंग स्टोर करते हैं: हर 2048-डायमेंशनल वेक्टर एक 2048-बिट सिग्नेचर में सिमट जाता है — &lt;strong&gt;प्रति वेक्टर 256 बाइट्स&lt;/strong&gt;। उन सिग्नेचर को Hamming distance से सर्च किया जाता है, इंडेक्स्ड और प्रति टेनेंट पार्टीशन्ड।&lt;/p&gt;
&lt;p&gt;यह एक जानबूझकर किया गया ट्रेड-ऑफ़ है। बाइनरी क्वांटाइज़ेशन कुछ रिट्रीवल प्रिसिज़न के बदले नाटकीय रूप से छोटा स्टोरेज और तेज़, सस्ता डिस्टेंस मैथ देता है, बिना किसी अलग वेक्टर डेटाबेस को ऑपरेट किए। ऐसे प्रोडक्ट के लिए जो प्रति वर्कस्पेस पूरी रिपॉज़िटरी इंडेक्स करता है, यह इकोनॉमिक्स बेंचमार्क पॉइंट के आख़िरी हिस्से को निचोड़ने से ज़्यादा मायने रखती है।&lt;/p&gt;
&lt;p&gt;&lt;code&gt;voyage-4-large&lt;/code&gt; स्टोरेज लेयर के माइग्रेशन को मजबूर किए बिना इस डिज़ाइन में फ़िट बैठता है: यह 2048-डायमेंशनल आउटपुट देता है, ठीक &lt;code&gt;voyage-code-3&lt;/code&gt; की तरह, तो हमारे &lt;code&gt;bit(2048)&lt;/code&gt; कॉलम और Hamming सर्च पथ नहीं बदले। मॉडल बेहतर हो गया; स्कीमा जगह पर बनी रही।&lt;/p&gt;
&lt;h2 id=&quot;कोड-तो-बस-शुरुआत-थी&quot;&gt;कोड तो बस शुरुआत थी&lt;/h2&gt;
&lt;p&gt;Maguyva एक कोड-इंटेलिजेंस टूल है। लेकिन हम ख़ुद भी अपने पहले ग्राहक हैं, और हम इसे किसी और चीज़ पर भी लगाते हैं: वह मार्कडाउन जो कोड के साथ हमारी रिपॉज़िटरी में रहता है। आर्किटेक्चर डिसीज़न रिकॉर्ड, रनबुक, कॉन्ट्रैक्ट, फ़ाइनेंस और पॉलिसी डॉक्स — यह सब Git में वर्ज़न-कंट्रोल्ड है, यह सब उसी MCP सर्वर के पीछे है, &lt;em&gt;दस्तावेज़ों&lt;/em&gt; पर एक सिमेंटिक इंडेक्स, न कि सिर्फ़ सोर्स पर।&lt;/p&gt;
&lt;p&gt;यही ठीक वह वजह है कि voyage-4-large की व्यापकता मायने रखती है। लीडरबोर्ड के उसी RTEB परिवार पर यह &lt;strong&gt;फ़ाइनेंस पर #1, हेल्थकेयर पर #1, और कुल टेक्स्ट रिट्रीवल पर #1&lt;/strong&gt; है — Google के Gemini Embedding, Cohere के Embed v4, और OpenAI के text-embedding-3-large से आगे। (Voyage, RTEB का सह-निर्माता है, इसलिए हम इसे एक बिल्कुल निष्पक्ष रेफ़री के बजाय एक मज़बूत पब्लिक सिग्नल के रूप में पढ़ते हैं — लेकिन इसे हर बड़े कमर्शियल मॉडल के विरुद्ध, प्राइवेट होल्ड-आउट सेट पर, आमने-सामने बेंचमार्क किया गया है।) वही इंडेक्स जो किसी एजेंट के लिए सही फ़ंक्शन खोजता है, किसी कॉन्ट्रैक्ट में सही क्लॉज़ या किसी पॉलिसी में सही लाइन भी खोजता है — और उन डोमेन में, voyage-4-large कोई समझौता नहीं है, यह लीडर है।&lt;/p&gt;
&lt;h2 id=&quot;हम-प्रीमियम-एम्बेडिंग-के-लिए-भुगतान-क्यों-करते-हैं&quot;&gt;हम प्रीमियम एम्बेडिंग के लिए भुगतान क्यों करते हैं&lt;/h2&gt;
&lt;p&gt;सर्च करने का एक सस्ता तरीक़ा है, और उसका बड़ा हिस्सा मुफ़्त है। लेक्सिकल सर्च — BM25 और उसके जैसे — कीवर्ड मैच करते हैं, लोकली चलते हैं, और कुछ भी ख़र्च नहीं करते। BGE, Nomic, और embeddinggemma जैसे ओपन-सोर्स एम्बेडिंग मॉडल वाक़ई &lt;em&gt;ठीक-ठाक&lt;/em&gt; सिमेंटिक रिट्रीवल देते हैं, और आप इन्हें एक GPU की क़ीमत पर सेल्फ़-होस्ट कर सकते हैं। Maguyva मुफ़्त पक्ष का भी उपयोग करता है: हर क्वेरी टेक्स्ट, AST, ग्राफ, और सिमेंटिक सर्च को मिलाती है। जिस चीज़ पर हम कंजूसी नहीं करते वह है सिमेंटिक लेयर।&lt;/p&gt;
&lt;p&gt;हम एक मुफ़्त मॉडल सेल्फ़-होस्ट करने के बजाय प्रीमियम एम्बेडिंग — &lt;code&gt;voyage-4-large&lt;/code&gt; — के लिए प्रति टोकन भुगतान करते हैं, दो वजहों से। पहला, अकेले कीवर्ड सर्च “हम रीट्राई कहां हैंडल करते हैं” का जवाब नहीं दे सकती जब कोड &lt;code&gt;backoff&lt;/code&gt; और &lt;code&gt;circuit breaker&lt;/code&gt; कहता है और कभी “retry” शब्द नहीं कहता — अर्थ ही एम्बेडिंग का पूरा मक़सद है, और हम जिन डोमेन को सर्व करते हैं उन पर ओपन मॉडल प्रीमियम मॉडल से पीछे रहते हैं: सामान्य टेक्स्ट पर कुछ पॉइंट पीछे, और कोड, कॉन्ट्रैक्ट, और फ़ाइनेंस जैसी नीश में और ज़्यादा पीछे। दूसरा, हमारे अनुभव में रिट्रीवल क्वालिटी अंतिम जवाब को दूसरी तरफ़ के मॉडल से कहीं ज़्यादा आकार देती है — एक मज़बूत एजेंट को भी ग़लत कॉन्टेक्स्ट दिया जाए तो वह ग़लत जवाब ही देता है, और वह उस दस्तावेज़ को कभी नहीं देखता जो उसे कभी दिया ही नहीं गया।&lt;/p&gt;
&lt;p&gt;तो प्रीमियम एम्बेडिंग एक प्रति-टोकन बिल है जो हर रिपॉज़िटरी और दस्तावेज़ के साथ स्केल करता है जिसे हम इंडेक्स करते हैं — और हम इसे जानबूझकर चुकाते हैं। हमारे उपयोगकर्ताओं को मिलने वाले नतीजे के लिए, सही फ़ंक्शन या सही क्लॉज़, हमें लगता है कि यह ट्रेड-ऑफ़ इसके लायक़ है।&lt;/p&gt;
&lt;h2 id=&quot;ईमानदार-हिस्सा&quot;&gt;ईमानदार हिस्सा&lt;/h2&gt;
&lt;p&gt;Voyage का अपना डॉक्यूमेंटेशन अब भी &lt;code&gt;voyage-code-3&lt;/code&gt; को कोड-ऑप्टिमाइज़्ड मॉडल के रूप में लेबल करता है। तो हमने बदलाव क्यों किया?&lt;/p&gt;
&lt;p&gt;क्योंकि हमने पब्लिक बेंचमार्क पढ़ा, सिर्फ़ वेंडर की मॉडल टेबल नहीं, और बेंचमार्क ने कोड रिट्रीवल के लिए &lt;code&gt;voyage-4-large&lt;/code&gt; को सबसे ऊपर रखा। यह भविष्य को ध्यान में रखकर लिया गया फ़ैसला था: नए, आम तौर पर मज़बूत मॉडल को लें और उन टास्क पर एक पब्लिक लीडरबोर्ड के विरुद्ध उसे वैलिडेट करें जो मायने रखते हैं। हम यह दांव लगाने में सहज हैं क्योंकि साक्ष्य व्यापक है — voyage-4-large सिर्फ़ कोड पर नहीं जीतता, यह फ़ाइनेंस, हेल्थकेयर, और कुल रिट्रीवल पर भी आगे है।&lt;/p&gt;
&lt;h2 id=&quot;शांत-बुनियाद&quot;&gt;शांत बुनियाद&lt;/h2&gt;
&lt;p&gt;हम जो भी टूल एक्सपोज़ करते हैं — सिमेंटिक सर्च, टास्क-कॉन्टेक्स्ट संग्रह, साक्ष्य-आधारित प्रश्नोत्तर — आख़िर में रिट्रीवल पर टिकते हैं। जब रिट्रीवर बेहतर होता है, तो दूसरी तरफ़ मौजूद एजेंट को बेहतर साक्ष्य मिलता है, वह कम ग़लत मोड़ लेता है, और अपने जवाबों को सही कोड में — या सही क्लॉज़, या सही पॉलिसी में — जड़ देता है। ज़्यादा सटीक नतीजे देने वाला एम्बेडिंग मॉडल कोई चमकदार फ़ीचर नहीं है। यह बाक़ी सब कुछ के नीचे की बुनियाद है, और हमने उसे अभी ऊंचा किया है। आपको इसका पता नहीं चलेगा। यही तो मक़सद है।&lt;/p&gt;
</content:encoded><category>Embeddings</category><category>Search</category><category>Architecture</category></item><item><title>भाषाओं के लिए पुनरावर्ती स्व-सुधार: लगभग 280 भाषाओं में कोड इंटेलिजेंस को अनथक मेहनत से निखारना</title><link>https://maguyva.ai/hi/blog/autonomous-quality-loops-language-grind</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/autonomous-quality-loops-language-grind</guid><description>हम लगभग 280 भाषाओं के लिए कोड इंटेलिजेंस सपोर्ट करते हैं। कोई इंसान इसका हाथ से ऑडिट नहीं कर सकता। इसलिए हमने भाषाओं के लिए एक पुनरावर्ती स्व-सुधार लूप बनाया — स्पॉट-चेक, LLM-as-judge, एक चीज़ ठीक करो, दोबारा वैलिडेट करो — और इसे आइसोलेटेड एजेंट्स के एक फ़्लीट के साथ तब तक चलाते हैं जब तक एक्सट्रैक्शन वास्तव में सही न हो जाए, सिर्फ़ ग्रीन न हो।</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस पोस्ट में दिए गए आंकड़े प्रकाशन के समय (मई 2026) की सिस्टम स्थिति दर्शाते हैं। मौजूदा आंकड़ों के लिए हमारा &lt;a href=&quot;https://maguyva.ai/hi/team&quot;&gt;टीम पेज&lt;/a&gt; देखें।&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Maguyva लगभग 280 भाषाओं के सोर्स कोड से सिंबल, रेफ़रेंस, और एक डिपेंडेंसी ग्राफ एक्सट्रैक्ट करता है। हर भाषा एक कस्टम tree-sitter हैंडलर है — क्वेरी, हेयुरिस्टिक्स, एज केस — और हर हैंडलर अपने ही तरीक़े से सूक्ष्म रूप से ग़लत हो सकता है। एक मेथड कॉल जो रीड के रूप में उत्सर्जित हो जाए। एक फ़ंक्शन जो ग़लत संलग्न स्कोप को दे दिया जाए। एक रिलेशनशिप जो सिरे से मौजूद ही न हो।&lt;/p&gt;
&lt;p&gt;यह हाथ से ऑडिट नहीं किया जा सकता। कोई भी टीम 280 ग्रामर में एक्सट्रैक्शन आउटपुट पढ़कर ख़राब एज नहीं पकड़ सकती। तो दिलचस्प सवाल यह नहीं है कि “क्या हमारा एक्सट्रैक्शन सही है” — यह है कि “इतने बड़े विस्तार पर, बिना हर लूप में इंसान को शामिल किए, आप यह &lt;em&gt;पता कैसे लगाते&lt;/em&gt; हैं कि वह ग़लत है।” हमारा जवाब है भाषाओं के लिए पुनरावर्ती स्व-सुधार: भाषा एजेंट्स से संचालित एक क्वालिटी लूप, जज के रूप में काम करता एक LLM, और एक नियम जिसे हम बार-बार सीखते रहते हैं: ग्रीन होना सही होने के बराबर नहीं है।&lt;/p&gt;
&lt;h2 id=&quot;ग्रीन-होना-सही-नहीं-है&quot;&gt;ग्रीन होना सही नहीं है&lt;/h2&gt;
&lt;p&gt;हर भाषा के पास एक फ़िक्स्चर सुइट है, और एक रिलीज़ गेट उसे पांच आयामों पर स्कोर करता है — सटीकता, संरचनात्मक अखंडता, पूर्णता, गुणवत्ता, और परफ़ॉर्मेंस। कोई भाषा &lt;strong&gt;GREEN&lt;/strong&gt; तभी बनती है जब, अपने फ़िक्स्चर पर, precision ≥ 0.95, recall ≥ 0.99, और F1 ≥ 0.97 हो, साथ ही सांख्यिकीय भरोसे के लिए कम-से-कम 20 अपेक्षित एज हों। इससे नीचे यह YELLOW या RED है, और यह शिप नहीं होती।&lt;/p&gt;
&lt;p&gt;वह गेट ज़रूरी तो है, लेकिन पर्याप्त नहीं। फ़िक्स्चर के ज़रिए वैलिडेशन उन्हीं मामलों तक सीमित रहता है जो &lt;em&gt;हमने लिखे&lt;/em&gt;। वे उन मामलों को दर्ज करते हैं जिनके बारे में हम पहले ही सोच चुके थे। कोई हैंडलर अपने फ़िक्स्चर पर बेदाग़ हो सकता है और फिर भी ऐसे पैटर्न को बिगाड़ सकता है जो सिर्फ़ असली कोड में दिखाई देता है — कोई मैक्रो मुहावरा, कोई जेनेरिक-बाउंड मेथड, कोई भाषा फ़ीचर जिसके लिए किसी ने फ़िक्स्चर नहीं लिखा। GREEN का मतलब है कि फ़िक्स्चर पास हो गए। इसका मतलब यह नहीं कि कोई असली रिपॉज़िटरी साफ़-सुथरे तरीक़े से एक्सट्रैक्ट होती है। तो लूप को फ़िक्स्चर से आगे बढ़कर वास्तविक कोड को देखना पड़ता है।&lt;/p&gt;
&lt;h2 id=&quot;भीतरी-लूप-स्पॉट-चेक-जज-फ़िक्स-साबित-करो&quot;&gt;भीतरी लूप: स्पॉट-चेक, जज, फ़िक्स, साबित करो&lt;/h2&gt;
&lt;p&gt;कोर लूप एक बार में एक भाषा चलाता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ┌──────────────────────────────────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  1. corpus run ── clone real-world repos, extract relationships   │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  2. spot-check 100 edges (seed 42, then seed 123 to cross-check)  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  3. LLM judge classifies every sampled edge:                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        CORRECT · FALSE_POSITIVE · TYPE_ERROR ·                    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        SCOPE_ERROR · METADATA_ERROR                               │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  4. fix ONE thing — handler .py, .scm query, or config           │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  5. re-validate — F1 + re-classify + manifest diff (no regressions)│&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   better? ──no──► revert, try a different fix ────────────────────┤&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │ yes                                                       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                           │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  6. promote the fix into fixtures (a permanent regression guard) ──┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;कुछ चीज़ें इसे बेकार की उठापटक के बजाय असरदार बनाती हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;जज एजेंट है, कोई API कॉल नहीं।&lt;/strong&gt; जब हम कहते हैं “LLM-as-judge,” तो हमारा मतलब है कि भाषा एजेंट ख़ुद हर सैंपल की गई एज को असली सोर्स के विरुद्ध पढ़ता है और उसे एक तय पांच-श्रेणी रूब्रिक से वर्गीकृत करता है: क्या यह एज सही है, एक फ़ॉल्स पॉज़िटिव है, सही रिलेशनशिप है लेकिन ग़लत टाइप के साथ, ग़लत स्कोप से जुड़ी है, या ग़लत मेटाडेटा ले जा रही है? वह रूब्रिक ही पूरा खेल है — “23% एरर रेट” तब तक बेमानी है जब तक आपको पता न हो कि वे असली दोष हैं या जज की ग़लत गिनती।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;एक चीज़ ठीक करो, फिर उसे साबित करो।&lt;/strong&gt; हर इटरेशन ठीक एक एडिटेबल एसेट को बदलता है, फिर एक तय हार्नेस के विरुद्ध दोबारा चलता है और बदलाव को तभी बनाए रखता है जब F1 सुधरे और दोबारा वर्गीकरण बेहतर दिखे। अगर ऐसा नहीं होता, तो वह वापस पलट जाता है। अटकलबाज़ी वाले एडिट का कोई बैच नहीं, कोई “बेहतर होना चाहिए” नहीं। कोई बदलाव अपनी जगह कमाता है या ख़त्म हो जाता है। और जब कोई फ़िक्स टिक जाता है, तो उसे फ़िक्स्चर सुइट में प्रमोट कर दिया जाता है — ताकि जो बग उसने ठीक किया वह चुपचाप कभी वापस न आ सके। यही प्रमोशन चरण है जो लूप को सिर्फ़ दोहराव की जगह &lt;em&gt;पुनरावर्ती&lt;/em&gt; बनाता है: हर पास अगले पास के वैलिडेशन के लिए ओरेकल को और मज़बूत करता है।&lt;/p&gt;
&lt;h2 id=&quot;वह-सबक़-जिसे-हम-बार-बार-सीखते-रहते-हैं-मेट्रिक्स-ओवर-रिपोर्ट-करते-हैं&quot;&gt;वह सबक़ जिसे हम बार-बार सीखते रहते हैं: मेट्रिक्स ओवर-रिपोर्ट करते हैं&lt;/h2&gt;
&lt;p&gt;यहां वह जाल है, जिसमें हम सीधे जा फंसे। सेकंडरी कॉर्पस मेट्रिक्स — कितनी बार किसी एक्सट्रैक्ट किए गए टारगेट का कोई रिज़ॉल्व करने योग्य सिंबल नहीं होता, कितने सिंबल “अनाथ” दिखते हैं, वगैरह — समस्याओं को बहुत ज़्यादा ओवर-रिपोर्ट करते हैं। वे ज़्यादातर &lt;em&gt;पैराडाइम आर्टिफ़ैक्ट&lt;/em&gt; हैं, बग नहीं।&lt;/p&gt;
&lt;p&gt;सबसे साफ़ उदाहरण: &lt;code&gt;llvm&lt;/code&gt; ने एक बार 73% “सोर्स-बिना-सिंबल” रेट दिखाई और उसे विनाशकारी क़रार दे दिया गया। हमने गहराई से देखा। असली सटीकता &lt;strong&gt;98.5%&lt;/strong&gt; थी। “मिसिंग सिंबल” लगभग सभी वैध बाहरी रेफ़रेंस थे — स्टैंडर्ड लाइब्रेरी में, फ़्रेमवर्क में, ऐसे कोड में जो रिपॉज़िटरी के बाहर रहता है, किए गए कॉल। यह मेट्रिक भाषा की एक विशेषता माप रहा था, हैंडलर का कोई दोष नहीं। Zig, COBOL, और Odin जैसी भाषाएं 65–70% “अनाथ” रेट दिखाती हैं और पूरी तरह सही हैं; COBOL में शून्य असली त्रुटियां थीं।&lt;/p&gt;
&lt;p&gt;अगर हमने उन आंकड़ों को काम की दिशा तय करने दी होती, तो हम उन हैंडलर को “ठीक” करने में हफ़्तों बिता देते जो पहले से ही सही थे, और उन भाषाओं को नज़रअंदाज़ कर देते जिनमें ख़ामोश, असली बग थे। नतीजा सीधा है: कुल मिलाकर मेट्रिक्स ज़्यादा-से-ज़्यादा एक मोटा ट्राइएज सिग्नल हैं। &lt;strong&gt;असली क्वालिटी सिग्नल एज क्लासिफ़िकेशन के साथ स्पॉट-चेक है&lt;/strong&gt; — असली रिपॉज़िटरी में असली एज को देखना और उन्हें एक-एक करके परखना। अंतर्ज्ञान से ऊपर डेटा, लेकिन तभी जब आपको पता हो कि कौन-सा डेटा सच बोल रहा है।&lt;/p&gt;
&lt;h2 id=&quot;बाहरी-लूप-एक-फ़्लीट-कोई-मैराथन-नहीं&quot;&gt;बाहरी लूप: एक फ़्लीट, कोई मैराथन नहीं&lt;/h2&gt;
&lt;p&gt;280 भाषाओं में एक बार में एक भाषा चलाने में बेहद लंबा समय लग जाता, इसलिए भीतरी लूप को एक बाहरी लूप में लपेट दिया गया है जो कई भाषाओं को समानांतर में चलाता है।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   pick a wave of near-GREEN / high-error languages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   fan out 10–15 agents, each ISOLATED in its own git worktree,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   each grinding ONE language, committing to its own branch&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   orchestrator integrates serially: file-scoped apply, then&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   `manifest diff` — any cross-language regression blocks the batch&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   gated push (reviewed and confirmed) ──► rotate to the next wave&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;हर एजेंट एक डिस्पोज़ेबल worktree में काम करता है ताकि वे एक-दूसरे के रास्ते में न आएं। ऑर्केस्ट्रेटर उनके फ़िक्स को एक-एक करके इंटीग्रेट करता है, हर एक फ़ुल-मैनिफ़ेस्ट रिग्रेशन चेक के पीछे: कोई बदलाव जो अपनी ही भाषा की मदद करे लेकिन चुपचाप तीन और को तोड़ दे, लैंड नहीं होता। कुछ भी पुश होने से पहले इंटीग्रेशन गेटेड और कन्फ़र्म्ड होता है — रिग्रेशन गेट तय करता है कि क्या &lt;em&gt;सुरक्षित&lt;/em&gt; है, कोई इंसान अब भी तय करता है कि क्या &lt;em&gt;शिप&lt;/em&gt; होगा। फिर पूल अगली भाषाओं के सेट पर घूम जाता है और पूरी प्रक्रिया फिर से चलती है।&lt;/p&gt;
&lt;h2 id=&quot;अब-भी-क्या-अधूरा-है&quot;&gt;अब भी क्या अधूरा है&lt;/h2&gt;
&lt;p&gt;जज ग़लत हो सकता है, और ग़लती की एक दिशा होती है: बहुत कम कॉन्टेक्स्ट के साथ चल रहा एजेंट &lt;em&gt;ओवर-रिपोर्ट&lt;/em&gt; करता है। एक बैच में, आठ भाषाओं को 5–20% एरर पर फ़्लैग किया गया; जांच करने पर सिर्फ़ एक असली प्रति-भाषा बग निकला — बाक़ी भाषा के अपने सिमेंटिक्स को चूकने से हुई जज की ग़लतियां थीं (एक सोर्स लाइन जो वैध रूप से कई एज उत्सर्जित करती है, पैरामीटर बाइंडिंग जिन्हें असाइनमेंट के रूप में मॉडल किया गया, हर आइडेंटिफ़ायर के लिए एक रेफ़रेंस बनाने वाली भाषाएं)। यही वजह है कि हम दो सीड के साथ सैंपल करते हैं और क्रॉस-चेक करते हैं, और यही वजह है कि जज और फ़िक्स्चर के बीच असहमति को &lt;em&gt;सबसे&lt;/em&gt; दिलचस्प सिग्नल माना जाता है, कोई तय फ़ैसला नहीं — कभी-कभी ग़लत चीज़ ख़ुद फ़िक्स्चर होता है।&lt;/p&gt;
&lt;p&gt;हम लक्ष्य के बारे में भी ईमानदार हैं। लक्ष्य शून्य असली त्रुटियां हैं, बस — लेकिन “शून्य” वह दिशा है जिसकी ओर हम भाषा-दर-भाषा अनथक मेहनत करते हैं, कोई ऐसा बॉक्स नहीं जिसे चेक कर दिया जाए। हमेशा कोई और रिपॉज़िटरी किसी और मुहावरे के साथ मौजूद रहती है।&lt;/p&gt;
&lt;h2 id=&quot;दावा-नहीं-अर्जित&quot;&gt;दावा नहीं, अर्जित&lt;/h2&gt;
&lt;p&gt;Maguyva किसी एजेंट के लिए जो कुछ भी करता है — कोई सिंबल खोजना, कोई डिपेंडेंसी ट्रेस करना, उद्धृत कोड के साथ किसी सवाल का जवाब देना — यह सब नीचे मौजूद एक्सट्रैक्शन के सही होने पर टिका है। 280 भाषाओं में, “सही” होने का दावा नहीं किया जा सकता; इसे असली कोड के विरुद्ध लगातार &lt;em&gt;अर्जित&lt;/em&gt; करना पड़ता है। लूप ही वह तरीक़ा है जिससे हम इसे अर्जित करते हैं: एक ऑटोनॉमस स्पॉट-चेक-और-फ़िक्स चक्र जो अपने ही मेट्रिक्स को शक की नज़र से देखता है, हर बदलाव को साबित करता है, और हर फ़िक्स को अगले रिग्रेशन के ख़िलाफ़ एक गार्ड में बदल देता है। यह चमकदार नहीं है। यह वह काम है जो हमें “हम आपकी भाषा सपोर्ट करते हैं” कहने और उसका मतलब निभाने की इजाज़त देता है। ग्रीन होना आसान है। सही होना अर्जित किया जाता है।&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Languages</category><category>Agents</category></item><item><title>मल्टी-मोडल फ़्यूज़न सर्च: हर क्वेरी के लिए सही रिट्रीवर चुनना</title><link>https://maguyva.ai/hi/blog/multi-modal-fusion-search</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/multi-modal-fusion-search</guid><description>&quot;parseConfig कहां परिभाषित है&quot; जैसी क्वेरी को &quot;auth कैसे काम करता है&quot; से अलग तरह की सर्च चाहिए। Maguyva इंटेंट को वर्गीकृत करता है, उसके हिसाब से चार रिट्रीवल मोडैलिटी को वेट देता है, और नतीजों को वेटेड Reciprocal Rank Fusion से जोड़ता है।</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;ऐतिहासिक डिज़ाइन नोट: अप्रैल 2026 का यह लेख उस समय के रूटिंग डिज़ाइन का वर्णन करता है, वर्तमान डिफ़ॉल्ट व्यवहार का नहीं। नीचे दिया गया सितंबर का सुधार केवल मापन-संबंधी दावे को संबोधित करता है। वर्तमान रूटिंग, प्रीसेट और स्पष्ट मोडैलिटी नियंत्रणों के लिए &lt;a href=&quot;https://maguyva.ai/hi/docs/how-it-works&quot;&gt;यह कैसे काम करता है&lt;/a&gt; देखें।&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;सर्च क्वेरी कोई एक चीज़ नहीं होती।&lt;/p&gt;
&lt;p&gt;“&lt;code&gt;parseConfig&lt;/code&gt; कहां परिभाषित है” को एक सटीक सिंबल चाहिए — एक सटीक लोकेशन, तेज़ी से। “authentication कैसे काम करता है” को अर्थ चाहिए — संबंधित कोड का वह फैलाव जो किसी अवधारणा को समझाता है। “अगर मैं यह फ़ंक्शन बदलूं तो क्या टूटता है” को डिपेंडेंसी ग्राफ चाहिए। “स्ट्रिंग &lt;code&gt;ECONNREFUSED&lt;/code&gt; खोजें” को एक लिटरल मैच चाहिए, कुछ भी चतुराई भरा नहीं।&lt;/p&gt;
&lt;p&gt;grep लिटरल मैच के लिए बेहतरीन है और कुछ रेफ़रेंस खोजों के लिए उपयोगी है, लेकिन यह कोई डिपेंडेंसी ग्राफ नहीं है और यह अर्थ नहीं समझता। एम्बेडिंग सिमेंटिक पक्ष को कवर करती हैं, लेकिन ये सटीक स्ट्रिंग और इम्पैक्ट विश्लेषण के लिए ग़लत टूल हैं। ज़्यादातर कोड सर्च टूल एक इंजन चुनते हैं और हर क्वेरी को उसी चुनाव के साथ जीने पर मजबूर करते हैं। Maguyva नहीं चुनता। यह पता लगाता है कि आपने किस तरह का सवाल पूछा, फिर उस सवाल की ज़रूरत के अनुसार चार रिट्रीवर को मिलाता है।&lt;/p&gt;
&lt;h2 id=&quot;चार-मोडैलिटी&quot;&gt;चार मोडैलिटी&lt;/h2&gt;
&lt;p&gt;अंदरखाने, कोड खोजने के चार स्वतंत्र तरीक़े हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;semantic&lt;/strong&gt; — Voyage बाइनरी एम्बेडिंग पर वेक्टर सर्च; अर्थ के आधार पर कोड खोजता है।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;text&lt;/strong&gt; — ट्राइग्राम मैचिंग; लिटरल, एरर स्ट्रिंग, सटीक आइडेंटिफ़ायर खोजता है।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;structural&lt;/strong&gt; — AST क्वेरी; परिभाषाएं, सिग्नेचर, और भाषाई संरचनाएं खोजता है।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ग्राफ़&lt;/strong&gt; — डिपेंडेंसी ग्राफ; कॉलर, कैली, और ब्लास्ट रेडियस खोजता है।&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;हर एक अलग तरह के सवाल पर मज़बूत है। तरक़ीब यह तय करने में है कि आपके सामने वाली क्वेरी के लिए किस पर कितना भरोसा किया जाए।&lt;/p&gt;
&lt;h2 id=&quot;इंटेंट-क्लासिफ़िकेशन&quot;&gt;इंटेंट क्लासिफ़िकेशन&lt;/h2&gt;
&lt;p&gt;किसी भी रिट्रीवल के चलने से पहले, एक हल्का क्लासिफ़ायर क्वेरी को छह इंटेंट में से एक में, एक कॉन्फ़िडेंस स्कोर के साथ छांटता है। यह जानबूझकर सस्ता है — क्रमबद्ध हेयुरिस्टिक्स, पहला मैच जीतता है — क्योंकि यह हॉट पथ पर चलता है और सिर्फ़ एक-दो मिलीसेकंड जोड़ता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;def &lt;/code&gt;, &lt;code&gt;class &lt;/code&gt;, &lt;code&gt;func &lt;/code&gt;, &lt;code&gt;import &lt;/code&gt;… से शुरू होता है → &lt;strong&gt;find_definition&lt;/strong&gt; (कॉन्फ़िडेंस 0.95)&lt;/li&gt;
&lt;li&gt;“who calls”, “usages of”, “references to” → &lt;strong&gt;find_references&lt;/strong&gt; (0.90)&lt;/li&gt;
&lt;li&gt;“impact”, “blast radius”, “what depends on” → &lt;strong&gt;impact_analysis&lt;/strong&gt; (0.90)&lt;/li&gt;
&lt;li&gt;कोई कोटेड &lt;code&gt;&quot;string&quot;&lt;/code&gt; या &lt;code&gt;traceback&lt;/code&gt; जैसा कोई एरर टोकन → &lt;strong&gt;exact_match&lt;/strong&gt; (0.85–0.90)&lt;/li&gt;
&lt;li&gt;एक &lt;code&gt;CamelCase&lt;/code&gt; या &lt;code&gt;snake_case&lt;/code&gt; आइडेंटिफ़ायर → &lt;strong&gt;find_definition&lt;/strong&gt; (0.60–0.80)&lt;/li&gt;
&lt;li&gt;“how”, “why”, “explain”, “architecture” → &lt;strong&gt;understand_code&lt;/strong&gt; (0.75)&lt;/li&gt;
&lt;li&gt;कुछ भी मैच नहीं होता → &lt;strong&gt;understand_code&lt;/strong&gt;, कम कॉन्फ़िडेंस (0.40)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;हर इंटेंट चार मोडैलिटी में एक वेट प्रोफ़ाइल रखता है। ये असली आंकड़े हैं:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;मंशा&lt;/th&gt;
&lt;th&gt;semantic&lt;/th&gt;
&lt;th&gt;text&lt;/th&gt;
&lt;th&gt;structural (AST)&lt;/th&gt;
&lt;th&gt;ग्राफ़&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;find_definition&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;find_references&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.5&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;understand_code&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;find_similar&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.3&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;impact_analysis&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;exact_match&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;तो “&lt;code&gt;parseConfig&lt;/code&gt; कहां परिभाषित है” ज़ोरदार तरीक़े से AST (0.6) पर झुकता है। “auth कैसे काम करता है” सिमेंटिक वेक्टर (0.5) पर झुकता है। “इस पर क्या निर्भर करता है” लगभग पूरी तरह ग्राफ़ (0.7) है। “&lt;code&gt;ECONNREFUSED&lt;/code&gt; खोजें” लगभग पूरी तरह ट्राइग्राम (0.9) है, जिसमें एम्बेडिंग मॉडल पूरी तरह बंद रहता है — क्योंकि सिमेंटिक समानता किसी सटीक स्ट्रिंग के लिए बिल्कुल अनुपयुक्त टूल है।&lt;/p&gt;
&lt;h2 id=&quot;तेज़-पथ-और-फ़्यूज़्ड-पथ&quot;&gt;तेज़ पथ, और फ़्यूज़्ड पथ&lt;/h2&gt;
&lt;p&gt;जब क्लासिफ़ायर आश्वस्त हो — स्कोर ≥ 0.85 — और क्वेरी सामान्य हो, तो Maguyva फ़्यूज़न को पूरी तरह छोड़ देता है और सीधे एकल प्रभावी मोडैलिटी की ओर रूट करता है। “X कहां परिभाषित है” को चार रिट्रीवर की ज़रूरत नहीं; इसे अभी AST इंडेक्स चाहिए। वह डायरेक्ट पथ &lt;code&gt;fusion_strategy: &quot;direct&quot;&lt;/code&gt; के रूप में वापस रिपोर्ट किया जाता है।&lt;/p&gt;
&lt;p&gt;जो कुछ भी अस्पष्ट है वह फ़्यूज़न से गुज़रता है। चारों (या डिफ़ॉल्ट प्रीसेट पर तीनों) मोडैलिटी समानांतर में चलती हैं, हर एक अपनी ख़ुद की रैंक्ड लिस्ट लौटाती है, और हम उन्हें मिलाते हैं।&lt;/p&gt;
&lt;h2 id=&quot;वेटेड-reciprocal-rank-fusion&quot;&gt;वेटेड Reciprocal Rank Fusion&lt;/h2&gt;
&lt;p&gt;अलग-अलग तरह के रिट्रीवर को मिलाना जितना आसान लगता है, उससे कहीं ज़्यादा मुश्किल है: 0.82 की कोसाइन सिमिलैरिटी और 137 का ट्राइग्राम स्कोर और 0.004 की ग्राफ सेंट्रैलिटी एक ही पैमाने पर नहीं हैं, तो आप उन्हें बस जोड़ नहीं सकते। Reciprocal Rank Fusion कच्चे स्कोर को फेंककर और सिर्फ़ हर इंजन द्वारा दी गई &lt;strong&gt;रैंक&lt;/strong&gt; को रखकर इस समस्या को टाल देता है। किसी एक मोडैलिटी से किसी नतीजे का योगदान यह है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;contribution = weight × 1 / (k + rank + 1)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;जहां &lt;code&gt;rank&lt;/code&gt; उस मोडैलिटी की लिस्ट में उसकी पोज़िशन है और &lt;code&gt;k&lt;/code&gt; एक स्मूदिंग कॉन्स्टेंट है। ऐसे किसी भी नतीजे के लिए, जिसे एक से ज़्यादा इंजन ने खोजा हो, योगदान मोडैलिटी में जोड़े जाते हैं — रिट्रीवर के बीच सहमति स्वाभाविक रूप से ऊपर तैर आती है। हम डिफ़ॉल्ट प्रीसेट पर &lt;strong&gt;k = 40&lt;/strong&gt; और &lt;code&gt;thorough&lt;/code&gt; पर 60 इस्तेमाल करते हैं (&lt;code&gt;quick&lt;/code&gt; सिर्फ़-सिमेंटिक चलता है, तो वहां फ़्यूज़न कभी शुरू नहीं होता)। मूल RRF काम सामान्य-प्रयोजन रिट्रीवल के लिए k = 60 पर पहुंचा था; हम थोड़ा तीखा डिफ़ॉल्ट रखते हैं, जो मोडैलिटी के बीच टॉप-रैंक्ड सहमति को थोड़ा ज़्यादा वेट देता है — और हम इसे हाथ से ट्यून करने की सलाह नहीं देते।&lt;/p&gt;
&lt;p&gt;इसके ऊपर, नतीजे एक &lt;strong&gt;ग्राफ-इम्पॉर्टेंस बूस्ट&lt;/strong&gt; लेकर चलते हैं। एक हब — एक ऐसा फ़ंक्शन जिस पर पूरा कोडबेस निर्भर करता है — को उसी टेक्स्चुअल रेलेवेंस पर भी किसी कम परिचित लीफ़ से आगे निकलना चाहिए, तो हम हर योगदान को इससे गुणा करते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;boost = min(1 + 0.3 × ln(1 + centrality), 1.5)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;सेंट्रैलिटी पाइपलाइन के प्री-कंप्यूटेड PageRank/डिग्री मेट्रिक्स से आती है, और बूस्ट को 1.5× पर क्लैम्प किया गया है ताकि कोई लोकप्रिय फ़ंक्शन किसी ज़्यादा प्रासंगिक लेकिन कम परिचित फ़ंक्शन को पूरी तरह दबा न सके। आख़िर में हम vendor, build, और archive पथों से आने वाले नतीजों को डिमोट करते हैं, और प्रति फ़ाइल सबसे अच्छे चंक तक डिड्यूप करते हैं।&lt;/p&gt;
&lt;h2 id=&quot;अब-भी-क्या-अधूरा-है&quot;&gt;अब भी क्या अधूरा है&lt;/h2&gt;
&lt;p&gt;आशय वर्गीकारक regex का एक समूह है, सीखा हुआ मॉडल नहीं। यह प्रश्नों के आम रूपों को ह्यूरिस्टिक से संभालता है, और अस्पष्ट प्रश्न &lt;code&gt;understand_code&lt;/code&gt; तथा अर्थ-आधारित खोज की ओर झुके मिश्रण पर लौटता है। इस लेख के पहले संस्करण में शून्य-परिणाम दर को लगभग 15% से 5% से नीचे लाने को हासिल किया गया सुधार बताया गया था। दिसंबर 2025 के प्रस्ताव में वास्तव में एक अनुमानित आधार और एक लक्ष्य दर्ज थे; कोई सहायक प्रश्न-समूह या मापन रिकॉर्ड उपलब्ध नहीं है। हम सुधार हासिल होने का वह दावा वापस लेते हैं; &lt;a href=&quot;https://maguyva.ai/evidence/search-quality.md&quot;&gt;मूल साक्ष्य और सुधार&lt;/a&gt; देखें। हमने वर्गीकारक को प्रशिक्षित मॉडल से नहीं बदला है, क्योंकि सस्ता संस्करण तेज़ है और अपनी निर्धारित रूटिंग भूमिका के लिए पर्याप्त है, और क्योंकि गलत लेकिन आत्मविश्वास से भरा वर्गीकारक अपनी सीमा स्वीकार करके वैकल्पिक रास्ता अपनाने से बदतर है। भार स्वयं हाथ से चुनी गई पूर्वधारणाएँ हैं, उन क्लिक डेटा से सीखे हुए नहीं जिन्हें हम एकत्र ही नहीं करते।&lt;/p&gt;
&lt;h2 id=&quot;सवाल-पूछें-टूल-नहीं&quot;&gt;सवाल पूछें, टूल नहीं&lt;/h2&gt;
&lt;p&gt;किसी एजेंट को यह जानने की ज़रूरत नहीं होनी चाहिए कि grep, एम्बेडिंग, या कॉल ग्राफ में से किसका सहारा लें — उसे अपना सवाल सीधे शब्दों में पूछना चाहिए और सही जवाब पाना चाहिए। मल्टी-मोडल फ़्यूज़न ही है जो &lt;code&gt;find_symbol&lt;/code&gt;, सिमेंटिक सर्च, और डिपेंडेंसी विश्लेषण को एक क्वेरी सरफ़ेस के पीछे बिठाता है: सिस्टम सवाल के आकार को पढ़ता है और चुपचाप उसके लिए सही रिट्रीवर जोड़ देता है। जो मॉडल एम्बेडिंग को स्कोर करता है वह मायने रखता है, लेकिन यह जानना भी मायने रखता है कि उन्हें &lt;em&gt;कब इस्तेमाल न करें&lt;/em&gt;। हर क्वेरी के लिए सही टूल चुनना अपने आप में एक तरह की क्वालिटी है, और हम इसे कॉलर पर थोपने के बजाय ख़ुद संभालना पसंद करते हैं।&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// you bring the question. it brings the tools.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Search</category><category>Architecture</category></item><item><title>एजेंट ऑब्ज़र्वेबिलिटी: Hooks, Alloy, और Grafana</title><link>https://maguyva.ai/hi/blog/agent-observability-hooks-alloy-grafana</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/agent-observability-hooks-alloy-grafana</guid><description>हमने Claude Code और Codex को OpenTelemetry और Alloy के साथ एक ही Grafana स्टैक में जोड़ा, फिर एजेंट व्यवहार की समस्याओं को उनके स्रोत पर खोजने और ठीक करने के लिए ट्रेस और लॉग का उपयोग किया।</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;एजेंट सिस्टम अजीबोग़रीब तरीकों से फ़ेल होते हैं।&lt;/p&gt;
&lt;p&gt;कभी-कभी समस्या मॉडल में होती है। कभी-कभी समस्या टूल में होती है। कभी-कभी आपका MCP सर्वर बिल्कुल ठीक होता है, लेकिन एजेंट ने ग़लत स्पेशलिस्ट चुन लिया, या सेशन का आधा हिस्सा ऐसे शेल वर्क में बिता दिया जिसकी आपने उम्मीद नहीं की थी, या चुपचाप ऐसे लूप में पैसे ख़र्च कर दिए जो बाहर से देखने पर उत्पादक लग रहा था।&lt;/p&gt;
&lt;p&gt;अगर आप यह अंतर नहीं देख पा रहे हैं, तो आप वास्तव में एक एजेंट सिस्टम को ऑपरेट नहीं कर रहे हैं। आप अंदाज़ा लगा रहे हैं।&lt;/p&gt;
&lt;p&gt;तो हमने अपने ही वर्कफ़्लो के लिए एक ऑब्ज़र्वेबिलिटी स्टैक बनाया: Claude Code, Codex, Claude हुक घटनाएँ, Codex सूचना घटनाएँ, नेटिव OpenTelemetry, Grafana Alloy, और दूसरी ओर Grafana Cloud।&lt;/p&gt;
&lt;p&gt;दिलचस्प हिस्सा यह नहीं है कि “हमने एक डैशबोर्ड बनाया।” दिलचस्प हिस्सा यह है कि हमें टेलीमेट्री को दो अलग-अलग स्ट्रीम में बांटना पड़ा, क्योंकि किसी एक फ़ीड से हमें पूरी तस्वीर नहीं मिल रही थी।&lt;/p&gt;
&lt;h2 id=&quot;समस्या-एजेंट-टेलीमेट्री-बिखरी-हुई-है&quot;&gt;समस्या: एजेंट टेलीमेट्री बिखरी हुई है&lt;/h2&gt;
&lt;p&gt;आधुनिक कोडिंग एजेंट पहले से ही कुछ टेलीमेट्री उत्सर्जित करते हैं। इससे मदद मिलती है, लेकिन यह काफ़ी नहीं है।&lt;/p&gt;
&lt;p&gt;नेटिव OTEL इन जैसे सवालों के जवाब देने में अच्छा है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;हमने कितने रिक्वेस्ट किए?&lt;/li&gt;
&lt;li&gt;किसी सेशन की लागत कितनी रही?&lt;/li&gt;
&lt;li&gt;स्पैन और ट्रेस कहां हैं?&lt;/li&gt;
&lt;li&gt;क्या लेटेंसी में उछाल आया?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;यह इन जैसे सवालों के जवाब देने में कहीं ज़्यादा कमज़ोर है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;एजेंट किस MCP सर्वर पर निर्भर रहा?&lt;/li&gt;
&lt;li&gt;क्या यह विफलता &lt;code&gt;Bash&lt;/code&gt; में थी, किसी बिल्ट-इन फ़ाइल टूल में, या किसी MCP कॉल में?&lt;/li&gt;
&lt;li&gt;वास्तव में कौन-सा स्किल एक्टिवेट हुआ?&lt;/li&gt;
&lt;li&gt;किस तरह का सबएजेंट डिस्पैच किया गया?&lt;/li&gt;
&lt;li&gt;क्या सेशन उपयोगी काम कर रहा था, या बिना प्रगति के बार-बार कोशिश कर रहा था?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;सवालों की वह दूसरी श्रेणी ट्रेस की तुलना में hooks के ज़्यादा करीब रहती है।&lt;/p&gt;
&lt;p&gt;लेकिन इसका उल्टा भी सच है: कुछ सबसे महत्वपूर्ण परफ़ॉर्मेंस सवाल hooks की तुलना में ट्रेस के ज़्यादा करीब रहते हैं।&lt;/p&gt;
&lt;p&gt;अगर आप जानना चाहते हैं कि लेटेंसी वास्तव में कहां जमा हुई, कौन-से स्पैन धीमे थे, या सेशन ने मॉडल कॉल बनाम टूल एक्ज़िक्यूशन में समय कहां जलाया, तो आपको सिमेंटिक इवेंट के साथ-साथ ट्रेस डेटा भी चाहिए।&lt;/p&gt;
&lt;h2 id=&quot;जिस-आर्किटेक्चर-पर-हम-पहुंचे&quot;&gt;जिस आर्किटेक्चर पर हम पहुंचे&lt;/h2&gt;
&lt;p&gt;हम दो टेलीमेट्री पथ एक साथ, समानांतर में चलाते हैं।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Claude Code&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  native OTEL -&amp;gt; Alloy -&amp;gt; Grafana Cloud&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  hooks        -&amp;gt; send_event.py -&amp;gt; Grafana Cloud Loki&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Codex&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  native OTEL -&amp;gt; Alloy -&amp;gt; Grafana Cloud&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  notify hook -&amp;gt; codex_notify.py -&amp;gt; shared Loki schema&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह बंटवारा जानबूझकर किया गया है।&lt;/p&gt;
&lt;p&gt;यह असममित भी है। Claude Code हमें एक कहीं ज़्यादा समृद्ध लाइफ़साइकल hook सरफ़ेस देता है। Codex हमें नेटिव OTEL के साथ-साथ एक notify सरफ़ेस देता है, इसलिए हम कम विवरण वाले टर्न-कम्प्लीशन इवेंट को उसी लॉग स्कीमा में नॉर्मलाइज़ करते हैं, बजाय यह दिखावा करने के कि दोनों रनटाइम एक जैसे कंट्रोल एक्सपोज़ करते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;नेटिव OTEL&lt;/strong&gt; हमें बेसलाइन स्ट्रीम देता है: रनटाइम से आने वाले लॉग और ट्रेस, साथ ही वे मेट्रिक्स जहां रनटाइम वास्तव में उन्हें उत्सर्जित करता है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hook और notify इवेंट&lt;/strong&gt; हमें सिमेंटिक लेयर देते हैं: जैसे &lt;code&gt;PreToolUse&lt;/code&gt;, &lt;code&gt;PostToolUse&lt;/code&gt;, &lt;code&gt;PostToolUseFailure&lt;/code&gt;, &lt;code&gt;UserPromptSubmit&lt;/code&gt;, &lt;code&gt;SubagentStop&lt;/code&gt;, &lt;code&gt;SkillActivated&lt;/code&gt;, और वह वर्गीकृत मेटाडेटा जिसकी हमें एजेंट व्यवहार डीबग करते समय वास्तव में परवाह है। यहां Claude Code ज़्यादा समृद्ध इवेंट स्ट्रीम देता है। Codex कम विवरण वाली, लेकिन फिर भी उपयोगी नॉर्मलाइज़्ड स्ट्रीम देता है।&lt;/p&gt;
&lt;h2 id=&quot;hooks-आख़िर-होते-ही-क्यों-हैं&quot;&gt;Hooks आख़िर होते ही क्यों हैं&lt;/h2&gt;
&lt;p&gt;हमारी hook पाइपलाइन इवेंट को Loki तक पहुंचने से पहले समृद्ध करती है।&lt;/p&gt;
&lt;p&gt;सिर्फ़ यह कहने के बजाय कि “एक टूल चला,” हम इवेंट को इन जैसे फ़ील्ड में वर्गीकृत करते हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tool_type&lt;/code&gt;: builtin, mcp, skill, agent, bash&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp_server&lt;/code&gt;: किस MCP बैकएंड ने कॉल हैंडल किया&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bash_cli&lt;/code&gt;: शेल कमांड फ़ैमिली&lt;/li&gt;
&lt;li&gt;&lt;code&gt;subagent_type&lt;/code&gt;: किस तरह का स्पेशलिस्ट डिस्पैच किया गया&lt;/li&gt;
&lt;li&gt;&lt;code&gt;agent_tool&lt;/code&gt;: क्या स्रोत Claude Code था या Codex&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;इसका मतलब है कि हम ऐसे सवाल पूछ सकते हैं जो परिचालन रूप से मायने रखते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | agent_tool=&quot;codex-cli&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | tool_type=&quot;mcp&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | json | bash_cli=&quot;git&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ये दिखावटी फ़ील्ड नहीं हैं। ये “एजेंट धीमा महसूस हुआ” और “एजेंट ने पिछले दस मिनट शेल-भारी git ऑपरेशन में उच्च टूल फ़ेल्योर रेट के साथ बिताए” के बीच का फ़र्क़ हैं।&lt;/p&gt;
&lt;p&gt;एक इम्प्लीमेंटेशन डिटेल जो वास्तव में जितनी है उससे ज़्यादा अजीब दिखती है: साझा Loki स्ट्रीम अब भी &lt;code&gt;service_name=&quot;claude-code-hooks&quot;&lt;/code&gt; को लेबल के रूप में इस्तेमाल करती है, भले ही इवेंट Codex से आया हो। रनटाइम के बीच असली बंटवारा &lt;code&gt;agent_tool&lt;/code&gt; पर होता है।&lt;/p&gt;
&lt;h2 id=&quot;alloy-बीच-में-क्यों-बैठता-है&quot;&gt;Alloy बीच में क्यों बैठता है&lt;/h2&gt;
&lt;p&gt;इस सेटअप में Grafana Alloy सिर्फ़ एक फ़ॉरवर्डर नहीं है। यह पॉलिसी सीमा है।&lt;/p&gt;
&lt;p&gt;हम Claude Code और Codex से आने वाली नेटिव OTEL स्ट्रीम को &lt;code&gt;localhost:4318&lt;/code&gt; पर एक लोकल Alloy प्रॉक्सी की ओर पॉइंट करते हैं, फिर Alloy को Grafana Cloud तक फ़ॉरवर्ड करने से पहले पेलोड साफ़ करने देते हैं।&lt;/p&gt;
&lt;p&gt;यह इसलिए मायने रखता है क्योंकि कच्ची एजेंट टेलीमेट्री उन हाई-कार्डिनैलिटी फ़ील्ड से भरी होती है जो विश्लेषण के लिए उपयोगी हैं लेकिन इंडेक्स्ड लेबल के रूप में भयानक हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;session_id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prompt_id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;टोकन काउंट&lt;/li&gt;
&lt;li&gt;अवधियां&lt;/li&gt;
&lt;li&gt;टूल पैरामीटर ब्लॉब&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;अगर आप सब कुछ इंडेक्स करते हैं, तो आपको एक लेबल विस्फोट और एक बुरा दिन मिलता है।&lt;/p&gt;
&lt;p&gt;तो Alloy हमारे लिए तीन काम करता है:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;लो-कार्डिनैलिटी लेबल का एक बहुत छोटा सेट इंडेक्स्ड रखता है।&lt;/li&gt;
&lt;li&gt;शोरगुल वाले लेकिन उपयोगी फ़ील्ड को संरचित मेटाडेटा में ले जाता है।&lt;/li&gt;
&lt;li&gt;शुद्ध नॉइज़ को पूरी तरह हटा देता है।&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;महत्वपूर्ण विचार सरल है: &lt;strong&gt;ज़्यादा ऑब्ज़र्व करो, कम इंडेक्स करो&lt;/strong&gt;।&lt;/p&gt;
&lt;h2 id=&quot;hook-स्ट्रीम-alloy-को-क्यों-बायपास-करती-है&quot;&gt;Hook स्ट्रीम, Alloy को क्यों बायपास करती है&lt;/h2&gt;
&lt;p&gt;Hook स्ट्रीम पहले से ही Loki के लिए आकार में ढली होती है।&lt;/p&gt;
&lt;p&gt;जब तक &lt;code&gt;send_event.py&lt;/code&gt; कोई इवेंट पुश करता है, तब तक हम पहले ही तय कर चुके होते हैं कि कौन-से फ़ील्ड लेबल ट्रीटमेंट के लायक हैं और कौन-से संरचित JSON बॉडी में जाने चाहिए। वह स्ट्रीम Alloy से दोबारा गुज़रने के बजाय सीधे Grafana Cloud के OTLP गेटवे तक जाती है।&lt;/p&gt;
&lt;p&gt;तो सिस्टम में काम का स्पष्ट बंटवारा है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Alloy&lt;/strong&gt; कच्ची नेटिव OTEL स्ट्रीम को क़ाबू में करता है।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hook एनरिचमेंट&lt;/strong&gt; सिमेंटिक इवेंट को क्वेरी करने लायक बनाता है।&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;इससे सब कुछ एक ही पथ से ज़बरदस्ती गुज़ारने की कोशिश करने की तुलना में आर्किटेक्चर सरल बना रहता है।&lt;/p&gt;
&lt;h2 id=&quot;डैशबोर्ड-वास्तव-में-क्या-दिखाता-है&quot;&gt;डैशबोर्ड वास्तव में क्या दिखाता है&lt;/h2&gt;
&lt;p&gt;नीचे दिया गया स्क्रीनशॉट हमारे एजेंट वर्कफ़्लो के पीछे मौजूद ऑब्ज़र्वेबिलिटी डैशबोर्ड में से एक का है। यह कोई बेंचमार्क नहीं है, और आंकड़े सिर्फ़ एक निश्चित पल की झलक हैं। मुद्दा डेटा का आकार है: एक्टिविटी फ़ीड, टूल कॉल, विफलताएं, प्रॉम्प्ट, और एजेंट, बिल्ट-इन टूल, MCP उपयोग, शेल कमांड, और स्किल के हिसाब से ब्रेकडाउन।&lt;/p&gt;
&lt;p&gt;उपयोगी बात यह है कि यह डैशबोर्ड बाक़ी एजेंट टेलीमेट्री के साथ उसी Grafana स्टैक पर रहता है। हम स्रोत एजेंट और टूल फ़ैमिली के हिसाब से फ़िल्टर कर सकते हैं और हर सिस्टम के लिए अलग ऑब्ज़र्वेबिलिटी कहानी गढ़े बिना रनटाइम के आर-पार देख सकते हैं।&lt;/p&gt;
&lt;figure class=&quot;feature-figure feature-figure--wide&quot;&gt;
  &lt;a
    href=&quot;https://maguyva.ai/blog/agent-observability-dashboard.png&quot;
    target=&quot;_blank&quot;
    rel=&quot;noreferrer&quot;
    aria-label=&quot;ऑब्ज़र्वेबिलिटी डैशबोर्ड का स्क्रीनशॉट पूरे रिज़ॉल्यूशन में खोलें&quot;
  &gt;
    &lt;img
      src=&quot;https://maguyva.ai/blog/agent-observability-dashboard.png&quot;
      alt=&quot;Grafana डैशबोर्ड, जो एजेंट वर्कफ़्लो के लिए गतिविधि फ़ीड, टूल कॉल की संख्या, विफलताएँ, प्रॉम्प्ट, एजेंट-वार विवरण, अंतर्निहित टूल, MCP उपयोग, CLI कमांड और स्किल दिखाता है।&quot;
    /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;
    हमारे एजेंट वर्कफ़्लो के पीछे मौजूद लाइव डैशबोर्ड में से एक। यह स्क्रीनशॉट एक साझा Grafana स्टैक की सिर्फ़ एक झलक है, जो हमारे अन्य एजेंट रनटाइम और सिस्टम से भी टेलीमेट्री प्राप्त करता है। पूरे रिज़ॉल्यूशन वाला वर्ज़न देखने के लिए इमेज पर क्लिक करें।
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&quot;ट्रेस-पहली-नज़र-में-दिखने-से-कहीं-ज़्यादा-क्यों-मायने-रखते-हैं&quot;&gt;ट्रेस पहली नज़र में दिखने से कहीं ज़्यादा क्यों मायने रखते हैं&lt;/h2&gt;
&lt;p&gt;लॉग हमें बताते हैं कि किस श्रेणी का काम हुआ। ट्रेस हमें बताते हैं कि काम समय के साथ कैसे सामने आया।&lt;/p&gt;
&lt;p&gt;यह फ़र्क़ एजेंट सिस्टम में मायने रखता है क्योंकि “धीमा” उपयोगी होने के लिए बहुत ही अस्पष्ट शब्द है।&lt;/p&gt;
&lt;p&gt;एक ट्रेस हमें बता सकता है कि तकलीफ़ कहां से आई:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;मॉडल लेटेंसी&lt;/li&gt;
&lt;li&gt;टूल एक्ज़िक्यूशन समय&lt;/li&gt;
&lt;li&gt;बार-बार रीट्राई&lt;/li&gt;
&lt;li&gt;एक खासतौर पर महंगा MCP इंटरैक्शन&lt;/li&gt;
&lt;li&gt;छोटे ऑपरेशन की एक लंबी शृंखला जो अलग-अलग देखने पर हानिरहित लगती थी&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;व्यवहार में हम hook स्ट्रीम और Tempo ट्रेस को साथ इस्तेमाल करते हैं।&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hook लॉग&lt;/strong&gt; जवाब देते हैं: किस तरह की चीज़ हुई?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ट्रेस&lt;/strong&gt; जवाब देते हैं: समय कहां गया?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;यही मेल है जो ऑब्ज़र्वेबिलिटी को एक डैशबोर्ड से एक स्पष्टीकरण में बदल देता है।&lt;/p&gt;
&lt;h2 id=&quot;codex-कहां-फ़िट-बैठता-है&quot;&gt;Codex कहां फ़िट बैठता है&lt;/h2&gt;
&lt;p&gt;Codex उसी स्टैक का हिस्सा है, लेकिन यह Claude Code जैसा बिल्कुल नहीं है।&lt;/p&gt;
&lt;p&gt;Codex के लिए हम दो हिस्से जोड़ते हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Codex से Alloy में नेटिव OTEL&lt;/li&gt;
&lt;li&gt;&lt;code&gt;codex_notify.py&lt;/code&gt; में एक notify वेबहुक, जो टर्न कम्प्लीशन को उसी Loki स्कीमा में मैप करता है जिसका उपयोग हम hook इवेंट के लिए करते हैं&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;इससे हमें उसी लॉग स्ट्रीम के भीतर &lt;code&gt;agent_tool=&quot;codex-cli&quot;&lt;/code&gt; जैसा एक एकीकृत फ़िल्टर मिलता है।&lt;/p&gt;
&lt;p&gt;ईमानदार चेतावनी: Codex का notify पेलोड फ़िलहाल Claude Code के hook पेलोड से कम विवरण वाला है, क्योंकि यह उसी तरह की इंटीग्रेशन सरफ़ेस नहीं है। हमारे आज के सेटअप में, Codex टर्न कम्प्लीशन को साझा स्कीमा में नॉर्मलाइज़ किया जा सकता है, लेकिन समृद्ध टूल-दर-टूल एक्सट्रैक्शन अब भी notify ब्रिज की तुलना में नेटिव OTEL स्ट्रीम में बेहतर है।&lt;/p&gt;
&lt;p&gt;यह पोस्ट से बचने की कोई वजह नहीं है। यही तो इस पोस्ट का मक़सद है। असली ऑब्ज़र्वेबिलिटी सिस्टम अपूर्ण सिग्नल से मिलकर बनते हैं।&lt;/p&gt;
&lt;h2 id=&quot;mcp-पर-grafana-खेल-बदल-देता-है&quot;&gt;MCP पर Grafana खेल बदल देता है&lt;/h2&gt;
&lt;p&gt;बड़ा बदलाव यह है कि Grafana सिर्फ़ वह जगह नहीं है जहां इंसान ब्राउज़र में जाते हैं।&lt;/p&gt;
&lt;p&gt;इस रिपॉज़िटरी में हम Grafana को MCP के ज़रिए भी एक्सपोज़ करते हैं। इसका मतलब है कि कोई एजेंट, किसी इंसान के पहले मैनुअली डैशबोर्ड देखने का इंतज़ार करने के बजाय, सीधे Loki, Prometheus, और Tempo को क्वेरी कर सकता है।&lt;/p&gt;
&lt;p&gt;इससे ऑब्ज़र्वेबिलिटी वर्कफ़्लो का एक सक्रिय इनपुट बन जाती है।&lt;/p&gt;
&lt;p&gt;कोई एजेंट पूछ सकता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;पिछले एक घंटे में कौन-सी टूल फ़ैमिली सबसे ज़्यादा फ़ेल हुईं?&lt;/li&gt;
&lt;li&gt;किसी सेशन पर किस MCP सर्वर का दबदबा रहा?&lt;/li&gt;
&lt;li&gt;क्या हाल के बदलावों ने टूल फ़ेल्योर घटाए, या बस काम को उन्हीं ग़लतियों के साथ ज़्यादा शेल-भारी पथों में शिफ़्ट कर दिया?&lt;/li&gt;
&lt;li&gt;कौन-से ट्रेस सबसे ज़्यादा लेटेंसी या बार-बार रीट्राई दिखाते हैं?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;एक बार आपके पास यह हो, तो आप एक सेल्फ़-इम्प्रूवमेंट लूप के बहुत करीब होते हैं।&lt;/p&gt;
&lt;h2 id=&quot;डैशबोर्ड-से-फ़ीडबैक-लूप-तक&quot;&gt;डैशबोर्ड से फ़ीडबैक लूप तक&lt;/h2&gt;
&lt;p&gt;यह वह हिस्सा है जो हमें सबसे दिलचस्प लगता है।&lt;/p&gt;
&lt;p&gt;एक बार जब ऑब्ज़र्वेबिलिटी स्टैक एजेंट लेयर से क्वेरी करने लायक हो जाए, तो टेलीमेट्री एक निष्क्रिय रिपोर्टिंग सरफ़ेस बनना बंद कर देती है और एक कंट्रोल सिग्नल बन जाती है।&lt;/p&gt;
&lt;p&gt;लूप कुछ ऐसा दिखता है:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;एजेंट गतिविधि ट्रेस, मेट्रिक्स, और समृद्ध hook लॉग उत्सर्जित करती है।&lt;/li&gt;
&lt;li&gt;Grafana इस साक्ष्य को Loki, Tempo, और Prometheus में स्टोर करता है, जहां मेट्रिक्स मौजूद हैं।&lt;/li&gt;
&lt;li&gt;एजेंट Grafana MCP के ज़रिए उस साक्ष्य को क्वेरी करते हैं।&lt;/li&gt;
&lt;li&gt;सिस्टम ख़राब टूल मिश्रण, नाज़ुक स्किल, कमज़ोर रूटिंग, या शेल-भारी वर्कफ़्लो की पहचान करता है जो लगातार टाली जा सकने वाली ग़लतियां पैदा करते रहते हैं।&lt;/li&gt;
&lt;li&gt;एजेंट या ऑपरेटर प्रॉम्प्ट, एजेंट कॉन्फ़िग, स्किल विवरण, रूटिंग नियम, या टूल एक्सेस में बदलाव करते हैं।&lt;/li&gt;
&lt;li&gt;अगला सेशन एक नया टेलीमेट्री आकार पैदा करता है, और चक्र फिर से चलता है।&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;यही तरीक़ा है “दिलचस्प डैशबोर्ड” से “मापने योग्य सुधार प्रणाली” तक जाने का।&lt;/p&gt;
&lt;p&gt;लक्ष्य किसी एक टूल श्रेणी को अधिकतम करना नहीं है। लक्ष्य वास्तव में हो रहे काम के लिए CLI, बिल्ट-इन टूल, MCP कॉल, और स्किल का सही मिश्रण पाना है।&lt;/p&gt;
&lt;h2 id=&quot;यह-हमें-क्या-जवाब-देने-देता-है&quot;&gt;यह हमें क्या जवाब देने देता है&lt;/h2&gt;
&lt;p&gt;एक बार जब दोनों रनटाइम एक ही Grafana स्टैक में उतर जाते हैं, तो हम परिचालन सवालों के जवाब कहीं तेज़ी से दे सकते हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;क्या विफलताएं किसी एक टूल फ़ैमिली में केंद्रित हैं?&lt;/li&gt;
&lt;li&gt;क्या शेल-भारी वर्कफ़्लो ऐसी टाली जा सकने वाली ग़लतियां पैदा कर रहे हैं जहां एक उच्च-स्तरीय टूल मौजूद होना चाहिए?&lt;/li&gt;
&lt;li&gt;कौन-से MCP सर्वर कार्यभार उठा रहे हैं?&lt;/li&gt;
&lt;li&gt;क्या हम ऐसी एजेंट गतिविधि के लिए भुगतान कर रहे हैं जो सार्थक प्रगति पैदा नहीं कर रही?&lt;/li&gt;
&lt;li&gt;क्या कोई सेशन मॉडल, टूल, या ऑर्केस्ट्रेशन लेयर की वजह से अस्वस्थ है?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;यह मल्टी-एजेंट वर्कफ़्लो में खासतौर पर उपयोगी है, जहां “एजेंट व्यस्त था” कहना लगभग कुछ नहीं बताता।&lt;/p&gt;
&lt;p&gt;अगर एक स्पेशलिस्ट लगातार डिस्पैच होता रहे और उच्च फ़ेल्योर रेट पैदा करता रहे, तो यह रूटिंग या प्रॉम्प्ट-शेपिंग की समस्या है।&lt;/p&gt;
&lt;p&gt;अगर एक MCP सर्वर सभी कॉल पर हावी है, तो यह अच्छा आर्किटेक्चर हो सकता है, या इस बात का संकेत कि बाक़ी सब बेकार बोझ है।&lt;/p&gt;
&lt;p&gt;अगर टूल फ़ेल्योर बढ़ते हैं जबकि लागत ऊंची बनी रहती है, तो आपके पास एक परिचालन समस्या है, गुणवत्ता की समस्या नहीं।&lt;/p&gt;
&lt;p&gt;अगर शेल वर्क लगातार अनुमानित, टाले जा सकने वाले तरीक़ों से फ़ेल होता रहे जहां एक उच्च-स्तरीय टूल मौजूद होना चाहिए, तो यह एक प्रोडक्ट सिग्नल है।&lt;/p&gt;
&lt;p&gt;अगर कोई एक स्किल लगातार एक्टिवेट होती है लेकिन नतीजों को बेहतर नहीं बनाती, तो यह एक प्रॉम्प्ट या रूटिंग सिग्नल है।&lt;/p&gt;
&lt;h2 id=&quot;असली-सबक़&quot;&gt;असली सबक़&lt;/h2&gt;
&lt;p&gt;यहां गहरा सबक़ यह है कि एजेंट ऑब्ज़र्वेबिलिटी को &lt;strong&gt;रनटाइम टेलीमेट्री&lt;/strong&gt; और &lt;strong&gt;वर्कफ़्लो टेलीमेट्री&lt;/strong&gt;, दोनों की ज़रूरत है।&lt;/p&gt;
&lt;p&gt;रनटाइम टेलीमेट्री आपको बताती है कि सिस्टम ने क्या किया।&lt;/p&gt;
&lt;p&gt;वर्कफ़्लो टेलीमेट्री आपको बताती है कि एजेंट को क्या लगा कि वह क्या कर रहा था।&lt;/p&gt;
&lt;p&gt;हमें दोनों चाहिए।&lt;/p&gt;
&lt;p&gt;अगर आप सिर्फ़ ट्रेस और काउंटर रखते हैं, तो आप सिमेंटिक लेयर चूक जाते हैं। अगर आप सिर्फ़ hook इवेंट रखते हैं, तो आप लेटेंसी, स्पैन, और व्यापक रनटाइम तस्वीर चूक जाते हैं।&lt;/p&gt;
&lt;p&gt;और अगर आप दोनों रखते हैं लेकिन उन्हें कभी वापस एजेंट लेयर में फ़ीड नहीं करते, तो आपके पास मॉनिटरिंग है, अनुकूलन नहीं।&lt;/p&gt;
&lt;p&gt;यही मेल है जो सिस्टम को ऑपरेट करने लायक़ इतना समझाने योग्य और सुधारने लायक़ इतना ट्यून करने योग्य बनाता है।&lt;/p&gt;
&lt;h2 id=&quot;अब-भी-क्या-अधूरा-है&quot;&gt;अब भी क्या अधूरा है&lt;/h2&gt;
&lt;p&gt;अब भी कुछ कमियां बाकी हैं।&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;हर hook इवेंट में वे अवधि और token डेटा शामिल नहीं होते जो हम चाहते।&lt;/li&gt;
&lt;li&gt;कुछ सबसे अच्छे टाइमिंग व्यू अब भी hook लॉग से नहीं, बल्कि Tempo ट्रेस से आते हैं।&lt;/li&gt;
&lt;li&gt;Codex आज समृद्ध इवेंट स्ट्रीम में Claude Code जितना सिमेंटिक रूप से समृद्ध नहीं है।&lt;/li&gt;
&lt;li&gt;डैशबोर्ड स्क्रीनशॉट एक लाइव ऑपरेशन सरफ़ेस है, कोई पॉलिश किया हुआ मार्केटिंग आर्टिफ़ैक्ट नहीं।&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;वह आख़िरी बात जानबूझकर है। हम यह दिखावा करने के बजाय, कि एजेंट सिस्टम जादुई रूप से खुद-ब-खुद समझ में आ जाते हैं, असली इंस्ट्रूमेंट पैनल दिखाना पसंद करेंगे।&lt;/p&gt;
&lt;h2 id=&quot;maguyva-के-लिए-यह-क्यों-मायने-रखता-है&quot;&gt;Maguyva के लिए यह क्यों मायने रखता है&lt;/h2&gt;
&lt;p&gt;Maguyva एजेंट को बेहतर कोड इंटेलिजेंस देने के बारे में है। लेकिन जैसे ही एजेंट वास्तव में उपयोगी काम करने लगते हैं, एक नई ज़रूरत तुरंत सामने आ जाती है: आपको यह देखने की ज़रूरत है कि वे कैसा व्यवहार कर रहे हैं।&lt;/p&gt;
&lt;p&gt;सर्च क्वालिटी, रूटिंग क्वालिटी, टूल सिलेक्शन, और कॉन्टेक्स्ट एफ़िशिएंसी — ये सब ऑब्ज़र्वेबल समस्याएं बन जाती हैं।&lt;/p&gt;
&lt;p&gt;यही वजह है कि हमें लगता है कि इस बारे में लिखना सार्थक है। भविष्य का एजेंट स्टैक सिर्फ़ प्रॉम्प्ट और टूल नहीं है। यह प्रॉम्प्ट, टूल, और वह इंस्ट्रुमेंटेशन लेयर है जो आपको बताती है कि पूरी चीज़ काम कर रही है या नहीं।&lt;/p&gt;
&lt;p&gt;अगर आप गंभीर एजेंट वर्कफ़्लो बना रहे हैं, तो ऑब्ज़र्वेबिलिटी कोई वैकल्पिक इन्फ़्रास्ट्रक्चर नहीं है। यह प्रोडक्ट का हिस्सा है।&lt;/p&gt;
</content:encoded><category>Observability</category><category>Grafana</category><category>OpenTelemetry</category><category>Architecture</category></item><item><title>लूप की माइनिंग: बदलाव संस्थागत स्मृति कैसे बनते हैं</title><link>https://maguyva.ai/hi/blog/mining-workflow-closing-the-loop</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/mining-workflow-closing-the-loop</guid><description>Git कमिट संरचित चेंजलॉग एंट्री और आर्किटेक्चरल डिसीज़न रिकॉर्ड बन जाते हैं, फिर क्वेरी करने योग्य संस्थागत स्मृति के रूप में वापस AI एजेंट में फ़ीड हो जाते हैं।</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस पोस्ट में दिए गए आंकड़े प्रकाशन के समय (फ़रवरी 2026) की सिस्टम स्थिति दर्शाते हैं। मौजूदा आंकड़ों के लिए हमारा &lt;a href=&quot;https://maguyva.ai/hi/team&quot;&gt;टीम पेज&lt;/a&gt; देखें।&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;हर इंजीनियरिंग टीम एक ही चुनौती का सामना करती है: बदलाव लगातार होते रहते हैं, लेकिन उन बदलावों के पीछे का &lt;em&gt;क्यों&lt;/em&gt; ग़ायब हो जाता है। छह महीने बाद, कोई पूछता है “हमने पाइपलाइन स्टेज के लिए DuckDB क्यों अपनाया था?” और जवाब सिर्फ़ उस इंसान के दिमाग़ में रहता है जिसने वह फ़ैसला लिया था — अगर वह अब भी मौजूद है तो।&lt;/p&gt;
&lt;p&gt;हमने एक माइनिंग वर्कफ़्लो बनाया जो इस लूप को बंद करता है। बदलाव git कमिट के ज़रिए बहते हैं, हमारी माइनिंग पाइपलाइन से प्रोसेस होते हैं, संरचित चेंजलॉग एंट्री और आर्किटेक्चरल डिसीज़न रिकॉर्ड बन जाते हैं, और फिर CLI क्वेरी के ज़रिए वापस हमारे AI एजेंट में फ़ीड हो जाते हैं। नतीजा: संस्थागत स्मृति जिसे इंसान और AI, दोनों एक्सेस कर सकते हैं।&lt;/p&gt;
&lt;h2 id=&quot;समस्या-फ़ैसलों-के-कारण-भुला-दिए-जाते-हैं&quot;&gt;समस्या: फ़ैसलों के कारण भुला दिए जाते हैं&lt;/h2&gt;
&lt;p&gt;एक सामान्य परिदृश्य पर विचार करें। एक डेवलपर कमिट करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;feat(canonical): add DuckDB runtime for pipeline stages&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह कमिट एक महत्वपूर्ण आर्किटेक्चरल चुनाव दर्शाता है। टीम ने विकल्पों का मूल्यांकन किया, ट्रेड-ऑफ़ पर विचार किया, और विशिष्ट कारणों से DuckDB पर पहुंची। लेकिन वह सारा कॉन्टेक्स्ट यहां रहता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;एक Slack थ्रेड (शायद डिलीट हो चुका)&lt;/li&gt;
&lt;li&gt;किसी की याददाश्त (निश्चित रूप से धुंधली पड़ रही)&lt;/li&gt;
&lt;li&gt;कोड में एक कमेंट (शायद, अगर आप ख़ुशक़िस्मत हैं)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;तीन महीने बाद, एक नया टीम मेंबर पूछता है: “क्या मुझे इस नए स्टेज के लिए DuckDB या SQLite इस्तेमाल करना चाहिए?” संस्थागत स्मृति के बिना, वे या तो पहिया फिर से बना लेते हैं, या असंगत चुनाव कर बैठते हैं।&lt;/p&gt;
&lt;h2 id=&quot;लूप-कमिट-से-कॉन्टेक्स्ट-तक&quot;&gt;लूप: कमिट से कॉन्टेक्स्ट तक&lt;/h2&gt;
&lt;p&gt;हमारा माइनिंग वर्कफ़्लो git इतिहास को क्वेरी करने योग्य ज्ञान में बदल देता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Git Commits&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  mine sync          │  ← Build index from git history&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  mine candidates    │  ← Surface commits for review&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  Classification     │  ← Human or LLM assessment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  (changelog or ADR) │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├──────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼                      ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────┐    ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ Changelog   │    │ Decisions     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ Ledger      │    │ Registry      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ (JSONL)     │    │ (YAML files)  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────┘    └───────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼                      ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────┐    ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ CHANGELOG.md│    │ orkestra CLI  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ per package │    │ queries       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────┘    └───────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    └──────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;              │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;              ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      │ AI Agents     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      │ (via CLI)     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └───────────────┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;मुख्य इनसाइट: चेंजलॉग और आर्किटेक्चरल डिसीज़न, दोनों उसी git इतिहास से बहते हैं, एक एकीकृत पाइपलाइन से प्रोसेस होकर। इससे यह सुनिश्चित होता है कि कुछ भी छूट न जाए।&lt;/p&gt;
&lt;h2 id=&quot;माइनिंग-कैसे-काम-करती-है&quot;&gt;माइनिंग कैसे काम करती है&lt;/h2&gt;
&lt;h3 id=&quot;चरण-1-इंडेक्स-सिंक-करें&quot;&gt;चरण 1: इंडेक्स सिंक करें&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह कमांड git इतिहास स्कैन करता है और सभी कमिट का एक इंडेक्स बनाता है। यह हर कमिट से संरचित सिग्नल एक्सट्रैक्ट करता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;कन्वेंशनल कमिट टाइप (&lt;code&gt;feat&lt;/code&gt;, &lt;code&gt;fix&lt;/code&gt;, &lt;code&gt;chore&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;स्कोप (कौन-सा पैकेज या क्षेत्र)&lt;/li&gt;
&lt;li&gt;ब्रेकिंग चेंज मार्कर&lt;/li&gt;
&lt;li&gt;छुई गई फ़ाइलें और जटिलता मेट्रिक्स&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;चरण-2-कवरेज-स्टेटस-जांचें&quot;&gt;चरण 2: कवरेज स्टेटस जांचें&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; status&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;हमारी मौजूदा स्थिति कुछ ऐसी दिखती है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Mining Status&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;=============&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Decisions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;---------&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  Coverage:        100.0%&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Processed:     15637  (of 15637)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Extracted:       476&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Skipped:       15161&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Changelog&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;---------&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  Coverage:        100.0%&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Processed:     15637  (of 15637)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Released:       6799&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Skipped:        8838&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;15,637 कमिट प्रोसेस किए गए। 476 आर्किटेक्चरल डिसीज़न बने। 6,799 चेंजलॉग एंट्री बनीं। हर कमिट वर्गीकृत।&lt;/p&gt;
&lt;h3 id=&quot;चरण-3-समीक्षा-के-लिए-उम्मीदवार-पाएं&quot;&gt;चरण 3: समीक्षा के लिए उम्मीदवार पाएं&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; candidates&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --limit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 50&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --full&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह उन कमिट को सामने लाता है जो अब तक प्रोसेस नहीं हुए, वर्गीकरण के लिए पूरे कॉन्टेक्स्ट के साथ:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;90571786d99166c0039ca2e80e4d9cd96184bd85&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;date&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;subject&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat(canonical): add DuckDB runtime for pipeline stages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;signals&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;commit_type&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;scope&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;canonical&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;breaking&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;is_releasable_type&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;domains_affected&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;pipeline&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;data-architecture&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;body&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Establishes DuckDB as canonical in-process analytical database...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;files_changed&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/canonical/pipelines/stages/duckdb_runtime.py&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;stats&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;files&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;insertions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;450&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;deletions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;120&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;सिग्नल वर्गीकरण में मार्गदर्शन करते हैं: &lt;code&gt;is_releasable_type: true&lt;/code&gt; बताता है कि इसे चेंजलॉग में दिखना चाहिए। बड़ी इंसर्शन काउंट और इन्फ़्रास्ट्रक्चर फ़ाइलें बताती हैं कि यह एक आर्किटेक्चरल डिसीज़न भी हो सकता है।&lt;/p&gt;
&lt;h3 id=&quot;चरण-4-कमिट-वर्गीकृत-करें&quot;&gt;चरण 4: कमिट वर्गीकृत करें&lt;/h3&gt;
&lt;p&gt;यहां दो रास्ते अलग हो जाते हैं: चेंजलॉग एंट्री और आर्किटेक्चरल डिसीज़न।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;चेंजलॉग एंट्री के लिए:&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classify&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; abc123&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --changelog&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; added&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह दर्ज करता है कि कमिट &lt;code&gt;abc123&lt;/code&gt; को चेंजलॉग में “Added” श्रेणी के अंतर्गत दिखना चाहिए।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;आर्किटेक्चरल डिसीज़न के लिए:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;पहले, एक असली डिसीज़न ID पाएं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --domain&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; pipeline&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --dry-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Returns: DEC-PL-143&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;फिर डिसीज़न ID के साथ वर्गीकृत करें:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classify&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; abc123&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --decision&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-PL-143&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह कमिट को एक डिसीज़न रिकॉर्ड से जोड़ता है जो बनाया या अपडेट किया जाएगा।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;बैच प्रोसेसिंग के लिए (जो हम वास्तव में करते हैं):&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Generate classifications file with LLM assistance&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; commit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --input&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classifications.jsonl&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;JSONL फ़ॉर्मैट एक ही पास में दोनों डोमेन को सपोर्ट करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;jsonl&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;abc123&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;changelog&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;release&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;category&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;added&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;summary&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Add DuckDB runtime for pipeline stages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;abc123&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;decisions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;extract&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;decision_id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-PL-142&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;def456&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;changelog&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;skip&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;reason&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Chore: dependency update&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;चरण-5-आउटपुट-रेंडर-करें&quot;&gt;चरण 5: आउटपुट रेंडर करें&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; changelog&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; render&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --package&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;pk&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;g&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह लेजर से प्रति-पैकेज &lt;code&gt;CHANGELOG.md&lt;/code&gt; फ़ाइलें जनरेट करता है। चेंजलॉग व्युत्पन्न आर्टिफ़ैक्ट हैं — उन्हें डिलीट करें और वे सोर्स लेजर से बिल्कुल सही ढंग से दोबारा बन जाते हैं।&lt;/p&gt;
&lt;h2 id=&quot;डिसीज़न-रिकॉर्ड-की-संरचना&quot;&gt;डिसीज़न रिकॉर्ड की संरचना&lt;/h2&gt;
&lt;p&gt;एक्सट्रैक्ट किए गए डिसीज़न समृद्ध मेटाडेटा वाली YAML फ़ाइलें बन जाते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DEC-PL-142&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Adopt DuckDB as Canonical Processing Runtime for Pipeline Stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;domain&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;active&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;created&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-26&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;summary&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  Establishes DuckDB as the canonical in-process analytical database for pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  stage transformations. Provides a shared runtime module that resolves settings&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  from pipeline defaults with stage-level overrides.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  Pipeline stages performing data transformations each independently configured&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  DuckDB connections. This led to inconsistent settings, duplicated configuration&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  code, and no way to tune DuckDB globally for a pipeline run.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DuckDB provides efficient in-process OLAP with zero configuration deployment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Centralized runtime module eliminates duplicated DuckDB setup across stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Hierarchical settings enable global tuning with stage-level overrides&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Memory limits and thread counts can be adjusted per-pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;impact&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  positive&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Consistent DuckDB configuration across all pipeline stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Single point of control for memory/thread tuning&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Reduced code duplication in conversion and export stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  negative&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Adds dependency on shared runtime module&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Stages must adopt new configuration pattern&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;source_commits&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;sha&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;90571786d99166c0039ca2e80e4d9cd96184bd85&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    message&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;feat(canonical): add DuckDB runtime for pipeline stages&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    date&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-26&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    role&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;primary&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;files&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/stages/duckdb_runtime.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/runner.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/stages/convert_hdx_admin_boundaries_to_geoparquet.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;related&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DEC-DA-014&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Data architecture decisions that influenced this&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;हर डिसीज़न वापस अपने सोर्स कमिट से जुड़ता है। हर डिसीज़न बताता है कि वह किन फ़ाइलों को प्रभावित करता है। डिसीज़न के बीच रिलेशनशिप स्पष्ट होती हैं।&lt;/p&gt;
&lt;h2 id=&quot;cli-इंटीग्रेशन-संस्थागत-स्मृति-को-क्वेरी-करना&quot;&gt;CLI इंटीग्रेशन: संस्थागत स्मृति को क्वेरी करना&lt;/h2&gt;
&lt;p&gt;यहीं पर लूप बंद होता है। एजेंट CLI के ज़रिए डिसीज़न क्वेरी कर सकते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Search by topic&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --query&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;retry&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;रीट्राई लॉजिक, एरर हैंडलिंग, रिकवरी पैटर्न के बारे में डिसीज़न लौटाता है।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Get full details on a specific decision&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-PL-142&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;कॉन्टेक्स्ट, तर्क, और प्रभाव के साथ पूरा डिसीज़न रिकॉर्ड लौटाता है।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# List recent decisions for context&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --limit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 15&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;दिखाता है कि हाल में कौन-से आर्किटेक्चरल चुनाव किए गए।&lt;/p&gt;
&lt;h3 id=&quot;एजेंट-इसका-उपयोग-कैसे-करते-हैं&quot;&gt;एजेंट इसका उपयोग कैसे करते हैं&lt;/h3&gt;
&lt;p&gt;हमारे ऑर्केस्ट्रेटर के बेसलाइन निर्देशों में शामिल है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8;font-weight:bold&quot;&gt;**Essential CLI commands:**&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; `orkestra registry decisions search &quot;X&quot;`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; — Find architectural decisions&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;जब किसी एजेंट से DuckDB से जुड़ी कोई चीज़ इम्प्लीमेंट करने के लिए कहा जाता है, तो वह पहले यह जांच सकता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --query&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;DuckDB&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;और DEC-PL-142 खोज सकता है, यह सीखते हुए:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;हमने DuckDB क्यों चुना (context)&lt;/li&gt;
&lt;li&gt;इसका सही उपयोग कैसे करें (agent_guidance)&lt;/li&gt;
&lt;li&gt;किन फ़ाइलों को देखना है (files)&lt;/li&gt;
&lt;li&gt;कौन-से संबंधित डिसीज़न मौजूद हैं (related)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;एजेंट पहिया फिर से नहीं बनाता। यह स्थापित पैटर्न पर आगे बढ़ता है।&lt;/p&gt;
&lt;h2 id=&quot;तीन-सवालों-का-टेस्ट&quot;&gt;तीन सवालों का टेस्ट&lt;/h2&gt;
&lt;p&gt;हर कमिट को डिसीज़न रिकॉर्ड की ज़रूरत नहीं होती। हम फ़िल्टर करने के लिए तीन सवालों के टेस्ट का उपयोग करते हैं:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;क्या यह फ़ैसला लेना मुश्किल था?&lt;/strong&gt; क्या इसके लिए महत्वपूर्ण विश्लेषण, ट्रेड-ऑफ़ मूल्यांकन, या बहस ज़रूरी थी?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;क्या इसे बदलना महंगा है?&lt;/strong&gt; क्या इस फ़ैसले को पलटने के लिए बड़े पैमाने पर दोबारा काम करना पड़ेगा?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;क्या इसका सिस्टम-व्यापी प्रभाव है?&lt;/strong&gt; क्या यह कई पैकेज को प्रभावित करता है या ऐसे पैटर्न स्थापित करता है जिनका दूसरे अनुसरण करेंगे?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;अगर कोई कमिट इनमें से कम-से-कम एक सवाल का जवाब “हां” में देता है, तो यह डिसीज़न एक्सट्रैक्शन का उम्मीदवार है। हमारी सामान्य दर: प्रति 100 कमिट पर 1-4 डिसीज़न (लगभग 1-4%)।&lt;/p&gt;
&lt;p&gt;चेंजलॉग एंट्री के लिए, मानदंड कम है: उपयोगकर्ताओं को दिखने वाला कोई भी बदलाव (फ़ीचर, फ़िक्स, सुधार) दर्ज किया जाता है। आंतरिक रखरखाव कार्य, डॉक्यूमेंटेशन अपडेट, और रीफ़ैक्टर आमतौर पर छोड़ दिए जाते हैं। हमारी सामान्य दर: प्रति 100 कमिट पर 30-50 चेंजलॉग एंट्री।&lt;/p&gt;
&lt;h2 id=&quot;डेटा-स्टोरेज-एपेंड-ओनली-लेजर&quot;&gt;डेटा स्टोरेज: एपेंड-ओनली लेजर&lt;/h2&gt;
&lt;p&gt;माइनिंग सिस्टम टकराव-मुक्त मल्टी-एजेंट ऑपरेशन के लिए एपेंड-ओनली JSONL लेजर का उपयोग करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;packages/orchestration/ai_assets/reference/changelog/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── commits_processed.jsonl  # Classification ledger (both domains)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── release_notes.jsonl      # Changelog entries&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── commits_index.yaml       # Derived index (gitignored)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;packages/orchestration/ai_assets/reference/decisions/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── registry.yaml            # Decision index&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── records/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├── DEC-AD-001.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├── DEC-AD-002.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    └── ...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;merge=union&lt;/code&gt; वाले &lt;code&gt;.gitattributes&lt;/code&gt; के साथ JSONL फ़ॉर्मैट का मतलब है कि कई एजेंट मर्ज कॉन्फ़्लिक्ट के बिना एक साथ कमिट वर्गीकृत कर सकते हैं। हर लाइन स्वतंत्र है।&lt;/p&gt;
&lt;h2 id=&quot;वैलिडेशन-गेट&quot;&gt;वैलिडेशन गेट&lt;/h2&gt;
&lt;p&gt;किसी भी माइनिंग सेशन से पहले, हम वैलिडेशन चलाते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --quick&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह जांचता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SHA फ़ॉर्मैट की वैधता&lt;/li&gt;
&lt;li&gt;डिसीज़न ID फ़ॉर्मैट अनुपालन&lt;/li&gt;
&lt;li&gt;एक ही SHA के लिए कोई डुप्लिकेट एंट्री नहीं&lt;/li&gt;
&lt;li&gt;रेफ़रेंस किए गए डिसीज़न वास्तव में मौजूद हैं&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;वर्गीकरण के बाद, हम बदलाव कमिट करने से पहले दोबारा वैलिडेट करते हैं।&lt;/p&gt;
&lt;h2 id=&quot;यह-क्यों-मायने-रखता-है&quot;&gt;यह क्यों मायने रखता है&lt;/h2&gt;
&lt;p&gt;हमने जो फ़ीडबैक लूप बनाया है, वह कई समस्याएं सुलझाता है:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;नए टीम मेंबर के लिए:&lt;/strong&gt; “हमने X क्यों किया?” पूछने के बजाय, वे डिसीज़न रजिस्ट्री सर्च कर सकते हैं। कॉन्टेक्स्ट सुरक्षित रहता है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI एजेंट के लिए:&lt;/strong&gt; वे किसी शून्य में काम नहीं करते। वे सिफ़ारिशें करने से पहले संस्थागत ज्ञान क्वेरी कर सकते हैं। जब उनसे कोई नया पाइपलाइन स्टेज जोड़ने के लिए कहा जाता है, तो वे DuckDB पैटर्न खोज सकते हैं और उसका पालन कर सकते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;आर्किटेक्चरल संगति के लिए:&lt;/strong&gt; डिसीज़न स्पष्ट और सर्च करने योग्य हैं। जब कोई ऐसा अप्रोच प्रस्तावित करता है जो किसी मौजूदा डिसीज़न के विरुद्ध जाता है, तो सिस्टम उस टकराव को सामने ला सकता है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;चेंजलॉग जनरेशन के लिए:&lt;/strong&gt; रिलीज़ नोट्स आख़िरी पल की भागदौड़ नहीं हैं। वे डेवलपमेंट के दौरान लगातार वर्गीकरण का एक उपोत्पाद हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ऑनबोर्डिंग के लिए:&lt;/strong&gt; नए एजेंट कोडबेस का पूरा कॉन्टेक्स्ट विरासत में पाते हैं। वे सिर्फ़ कोड नहीं देखते — वे उन डिसीज़न को देखते हैं जिन्होंने उसे आकार दिया।&lt;/p&gt;
&lt;h2 id=&quot;मौजूदा-स्थिति&quot;&gt;मौजूदा स्थिति&lt;/h2&gt;
&lt;p&gt;आज तक:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;पाइपलाइन के ज़रिए &lt;strong&gt;15,637 कमिट&lt;/strong&gt; प्रोसेस किए गए&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;476 आर्किटेक्चरल डिसीज़न&lt;/strong&gt; एक्सट्रैक्ट और दस्तावेज़ीकृत किए गए&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6,799 चेंजलॉग एंट्री&lt;/strong&gt; दर्ज की गईं&lt;/li&gt;
&lt;li&gt;दोनों डोमेन में &lt;strong&gt;100% कवरेज&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;हमारे शुरू करने के बाद से हर कमिट वर्गीकृत किया जा चुका है। संस्थागत स्मृति पूर्ण और क्वेरी करने योग्य है।&lt;/p&gt;
&lt;h2 id=&quot;शुरुआत-कैसे-करें&quot;&gt;शुरुआत कैसे करें&lt;/h2&gt;
&lt;p&gt;अगर आप कुछ ऐसा ही इम्प्लीमेंट करना चाहते हैं:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;कन्वेंशनल कमिट से शुरू करें।&lt;/strong&gt; माइनिंग पाइपलाइन तब सबसे अच्छा काम करती है जब कमिट में संरचित प्रीफ़िक्स हों (&lt;code&gt;feat:&lt;/code&gt;, &lt;code&gt;fix:&lt;/code&gt;, &lt;code&gt;chore:&lt;/code&gt;)।&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;अपने डोमेन परिभाषित करें।&lt;/strong&gt; हम &lt;code&gt;pipeline&lt;/code&gt;, &lt;code&gt;agent-design&lt;/code&gt;, &lt;code&gt;observability&lt;/code&gt;, &lt;code&gt;data-modeling&lt;/code&gt; जैसे डोमेन का उपयोग करते हैं। ये डिसीज़न को क्षेत्र के हिसाब से व्यवस्थित करते हैं।&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;वर्गीकरण की आदत बनाएं।&lt;/strong&gt; माइनिंग तब काम करती है जब टीमें नियमित रूप से कमिट वर्गीकृत करती हैं। LLM सहायता के साथ बैच प्रोसेसिंग स्केल करने में मदद करती है।&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;डिसीज़न को क्वेरी करने योग्य बनाएं।&lt;/strong&gt; जब एजेंट CLI के ज़रिए डिसीज़न सर्च कर सकते हैं, तो मूल्य कई गुना बढ़ जाता है। अपने आउटपुट को मशीन-उपभोग के लिए संरचित करें।&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;लूप बंद करें।&lt;/strong&gt; डिसीज़न को भविष्य के काम को प्रभावित करना चाहिए। एजेंट निर्देशों और कोड समीक्षा चेकलिस्ट में डिसीज़न रेफ़रेंस शामिल करें।&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;लक्ष्य मुकम्मल डॉक्यूमेंटेशन नहीं है। यह बदलावों के पीछे के &lt;em&gt;क्यों&lt;/em&gt; को इंसानों और AI, दोनों के लिए सुलभ बनाना है, आज भी और आज से छह महीने बाद भी। जब बदलाव संस्थागत स्मृति बन जाते हैं, तो टीमें उन्हें दोबारा गढ़ने के बजाय स्थापित पैटर्न पर आगे बढ़ती हैं।&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;माइनिंग वर्कफ़्लो हमारे ऑर्केस्ट्रेशन इंजन का हिस्सा है, ख़ासतौर पर हमारे ऑर्केस्ट्रेशन पैकेज में मौजूद कॉन्टेक्स्ट इंजन मॉड्यूल का।&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Workflows</category></item><item><title>स्किल माइनिंग: 3,500 उम्मीदवारों से 466 क्षमताओं तक</title><link>https://maguyva.ai/hi/blog/skill-mining-3500-and-counting</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/skill-mining-3500-and-counting</guid><description>हमने 3,500 स्किल उम्मीदवारों की स्क्रीनिंग की और 466 को अपनाया। बड़े पैमाने पर एक सुसंगत AI एजेंट स्किल लाइब्रेरी बनाने के लिए एक व्यवस्थित माइनिंग और इंजेशन लूप।</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस पोस्ट में दिए गए आंकड़े प्रकाशन के समय (जनवरी 2026) की सिस्टम स्थिति दर्शाते हैं। मौजूदा आंकड़ों के लिए हमारा &lt;a href=&quot;https://maguyva.ai/hi/team&quot;&gt;टीम पेज&lt;/a&gt; देखें।&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;3500-स्किल-की-समस्या&quot;&gt;3,500 स्किल की समस्या&lt;/h2&gt;
&lt;p&gt;जब हमने एक एजेंट ऑर्केस्ट्रेशन सिस्टम बनाना शुरू किया, तो हमें एक दिलचस्प चुनौती का सामना करना पड़ा: AI इकोसिस्टम में हज़ारों संभावित स्किल बिखरी हुई हैं। GitHub रिपॉज़िटरी, वेंडर डॉक्यूमेंटेशन, कम्युनिटी प्रोजेक्ट, आंतरिक पैटर्न — स्किल हर जगह मौजूद हैं। लेकिन कौन-सी मायने रखती हैं? कौन-सी काम करती हैं? और आप एक सुसंगत स्किल लाइब्रेरी कैसे बनाए रखते हैं जिसे एजेंट वास्तव में इस्तेमाल कर सकें?&lt;/p&gt;
&lt;p&gt;हमारा जवाब: एक व्यवस्थित माइनिंग और इंजेशन लूप।&lt;/p&gt;
&lt;h2 id=&quot;आज-के-आंकड़े&quot;&gt;आज के आंकड़े&lt;/h2&gt;
&lt;p&gt;Anthropic द्वारा 16 अक्टूबर, 2025 को Agent Skills लॉन्च करने के तीन महीने से कुछ ही ज़्यादा समय बाद, जब यह पोस्ट 27 जनवरी, 2026 को प्रकाशित हुई, तब हमारी स्थिति यह थी:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;मेट्रिक&lt;/th&gt;
&lt;th&gt;संख्या&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;पहचाने गए उम्मीदवार&lt;/td&gt;
&lt;td&gt;3,500+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;अपनाई गई स्किल&lt;/td&gt;
&lt;td&gt;466&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;वेंडर स्किल&lt;/td&gt;
&lt;td&gt;373&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;आंतरिक स्किल&lt;/td&gt;
&lt;td&gt;93&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;सक्रिय वेंडर&lt;/td&gt;
&lt;td&gt;25+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;प्रति स्किल औसत टोकन&lt;/td&gt;
&lt;td&gt;2,834&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;संदर्भित टूल&lt;/td&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;यूनीक टैग&lt;/td&gt;
&lt;td&gt;635&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;हमने 3,500 से ज़्यादा स्किल उम्मीदवारों की समीक्षा की है। हमने 466 अपनाई हैं। यह 13% अपनाने की दर है — और यह चयनात्मकता जानबूझकर है।&lt;/p&gt;
&lt;h2 id=&quot;नॉलेज-टियर-सिस्टम&quot;&gt;नॉलेज टियर सिस्टम&lt;/h2&gt;
&lt;p&gt;सभी स्किल एक जैसी नहीं बनाई जातीं। हम उन्हें पांच नॉलेज लेयर (K0-K4) में व्यवस्थित करते हैं, हर एक लागू होने के अलग दायरे का प्रतिनिधित्व करती है:&lt;/p&gt;
&lt;h3 id=&quot;k0-foundations-सार्वभौमिक&quot;&gt;K0: Foundations (सार्वभौमिक)&lt;/h3&gt;
&lt;p&gt;ऐसी स्किल जो हर एजेंट के पास होनी चाहिए। ये “अच्छे विचारक” की क्षमताओं का प्रतिनिधित्व करती हैं जो कहीं भी काम करती हैं।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;foundations/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── test-first-discipline       # TDD: Red-Green-Refactor&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── evidence-based-completion   # Verify before claiming done&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── systematic-debugging        # Root cause methodology&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── structured-planning         # Break work into tasks&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── context-budget-awareness    # Manage token consumption&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;K0 स्किल किसी भी प्रोजेक्ट, किसी भी डोमेन, किसी भी स्टैक में पोर्टेबल हैं। ये सार्वभौमिक संज्ञानात्मक पैटर्न को एनकोड करती हैं।&lt;/p&gt;
&lt;h3 id=&quot;k1-identities-अनुशासन&quot;&gt;K1: Identities (अनुशासन)&lt;/h3&gt;
&lt;p&gt;“अच्छे इंजीनियर” या “अच्छे रिसर्चर” वाली स्किल जो किसी अनुशासन के भीतर प्रोजेक्ट में लागू होती हैं।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;identities/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── research-workflows          # Multi-source research&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── web-extraction-playbook     # Content extraction&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── code-review                 # PR review patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── cli-interface-standards     # CLI design patterns&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k2-domains-विषय-विशेषज्ञता&quot;&gt;K2: Domains (विषय विशेषज्ञता)&lt;/h3&gt;
&lt;p&gt;“अच्छा डेटाबेस विशेषज्ञ” या “अच्छा सिक्योरिटी इंजीनियर” वाली स्किल जो किसी क्षेत्र के भीतर पोर्टेबल हैं।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;domains/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── schema-migration-workflow   # Safe migration patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── rpc-validation-checklist    # RPC health checks&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── auth-validation-checklist   # JWT/OAuth patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── secrets-audit-checklist     # Credential scanning&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k3-stacks-टेक्नोलॉजी&quot;&gt;K3: Stacks (टेक्नोलॉजी)&lt;/h3&gt;
&lt;p&gt;विशिष्ट टेक्नोलॉजी स्टैक के लिए “अच्छा Supabase उपयोगकर्ता” या “अच्छा Cloudflare डेवलपर” वाली स्किल।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;stacks/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── maguyva-quickstart          # Our semantic search patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── cloudflare-deployment       # Workers/Pages deployment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── mcp-tool-best-practices     # MCP tool selection&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k4-project-संगठन&quot;&gt;K4: Project (संगठन)&lt;/h3&gt;
&lt;p&gt;हमारे संगठन और वर्कफ़्लो के लिए विशिष्ट स्किल।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;project/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── agent-creation-workflow     # How we build agents&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── skill-authoring-workflow    # How we write skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── mining-session-workflow     # This very process&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── vendor-skill-evaluation     # Evaluation rubrics&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;माइनिंग-लूप&quot;&gt;माइनिंग लूप&lt;/h2&gt;
&lt;h3 id=&quot;चरण-1-डिस्कवरी&quot;&gt;चरण 1: डिस्कवरी&lt;/h3&gt;
&lt;p&gt;स्किल हर जगह से आती हैं:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;वेंडर रिपॉज़िटरी&lt;/strong&gt;: AWS, Anthropic, Cloudflare, Supabase, और कम्युनिटी कंट्रीब्यूटर स्किल कलेक्शन प्रकाशित करते हैं। हम 25+ वेंडर रूट ट्रैक करते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;कम्युनिटी प्रोजेक्ट&lt;/strong&gt;: GitHub Claude Code टेम्पलेट, एजेंट पैटर्न, और वर्कफ़्लो परिभाषाओं से भरा है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;आंतरिक पैटर्न&lt;/strong&gt;: जैसे-जैसे हमारी टीम समस्याएं सुलझाती है, पैटर्न उभरते हैं। इन्हें स्किल में औपचारिक रूप दिया जाता है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;डॉक्यूमेंटेशन माइनिंग&lt;/strong&gt;: तकनीकी डॉक्यूमेंटेशन में अक्सर अंतर्निहित स्किल होती हैं — प्रक्रियाएं, चेकलिस्ट, डिसीज़न ट्री।&lt;/p&gt;
&lt;p&gt;डिस्कवरी निरंतर चलती रहती है। हम औपचारिक मूल्यांकन से पहले उम्मीदवारों को ट्रैक करने के लिए एक स्किल बैकलॉग का उपयोग करते हैं।&lt;/p&gt;
&lt;h3 id=&quot;चरण-2-मूल्यांकन&quot;&gt;चरण 2: मूल्यांकन&lt;/h3&gt;
&lt;p&gt;हर उम्मीदवार एक ही रूब्रिक से गुज़रता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;adoption_criteria&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;fills_real_gap&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # We lack this capability&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;well_structured&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Progressive disclosure&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;actively_maintained&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # Commits in last 6 months&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;portable&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;            # Not hyper-specific&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;tested&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;              # Evidence of usage&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;सभी पांच प्रोडक्ट मानदंडों को पास करना ज़रूरी है। यही वजह है कि 87% उम्मीदवार रिजेक्ट कर दिए जाते हैं।&lt;/p&gt;
&lt;p&gt;फिर हर उम्मीदवार एक अलग ट्रस्ट रिव्यू से गुज़रता है। हम किसी आधिकारिक वेंडर रिपॉज़िटरी, किसी जाने-माने कम्युनिटी मेंटेनर, और किसी रैंडम GitHub रिपॉज़िटरी को सच्चाई के समकक्ष स्रोत नहीं मानते।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;trust_review&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  vendor_credibility&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;ownership_verified&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Official vendor, known maintainer, or internal source&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;maintenance_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Recent commits, issue response, release history&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adoption_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Evidence of real use, stars alone are not enough&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;provenance_clear&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;         # We can trace where the skill came from&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  prompt_injection_scan&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;hidden_instruction_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # Buried &quot;ignore previous instructions&quot; patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;exfiltration_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Prompts that try to leak files, secrets, or context&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;authority_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Claims of priority over system or developer rules&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  script_audit&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;inspect_scripts&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Read shell/python/js helpers before adoption&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;network_and_exec_review&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # curl|bash, remote downloads, subprocess execution&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;file_and_secret_review&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;   # Env vars, credential access, broad file writes&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;destructive_action_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # rm, reset, overwrite, or unsafe automation&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;भरोसेमंद वेंडर को स्रोत की कम विस्तृत समीक्षा से गुज़रना पड़ता है, लेकिन जाँच से छूट नहीं मिलती। अविश्वसनीय या अज्ञात स्रोतों को गहरा मैनुअल ऑडिट मिलता है, और हम बंडल की गई स्क्रिप्ट तब तक एक्ज़िक्यूट नहीं करते जब तक उन्हें पढ़ा, स्कोप किया, और सुरक्षित के रूप में वर्गीकृत नहीं किया जाता।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;गैप विश्लेषण&lt;/strong&gt;: अपनाने से पहले, हम अपनी रजिस्ट्री सर्च करते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;&amp;lt;capability&amp;gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;अगर हमारे पास पहले से है, तो हमें इसकी ज़रूरत नहीं। अगर हमारे पास कुछ मिलता-जुलता है, तो हम शायद अपनाने के बजाय मर्ज करें।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;डेप्थ और स्टैंडर्ड्स स्कोरिंग&lt;/strong&gt;: हम यह भी स्कोर करते हैं कि कोई उम्मीदवार agent-skill मॉडल का कितनी पूरी तरह उपयोग करता है। एक अकेला &lt;code&gt;SKILL.md&lt;/code&gt; अब भी उपयोगी हो सकता है, लेकिन गहरी स्किल तब ज़्यादा मूल्यवान होती हैं जब वे निर्देशों को रेफ़रेंस, स्क्रिप्ट, और एसेट से उसी तरह अलग करती हैं जैसा &lt;code&gt;agentskills.io&lt;/code&gt; प्रोत्साहित करता है।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;skill_depth&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;SKILL.md only&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;                     # Single instruction file&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;SKILL.md + strong description&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Clear triggers and scope&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_3&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds references/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;                  # Load docs only when needed&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_4&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds atomic scripts/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;              # Small, reviewable helpers&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds assets/examples/templates&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;    # Full progressive disclosure&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;depth_signals&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;standards_adherence&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;        # Structure aligns with agentskills.io conventions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;reference_quality&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Curated references, not giant context dumps&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;script_atomicity&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Focused helpers, not opaque monoliths&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tool_boundary_clarity&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # Clear limits on what the skill can execute&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;community_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Stars/forks/users help, but only as a weak boost&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;GitHub स्टार क्रेडिबिलिटी स्कोर को थोड़ा ऊपर उठा सकते हैं, लेकिन वे किसी उथली या असुरक्षित स्किल को कभी नहीं बचाते। एक अस्पष्ट &lt;code&gt;SKILL.md&lt;/code&gt; और अपारदर्शी स्क्रिप्ट वाला हाई-स्टार रिपॉज़िटरी, एक सटीक विवरण, क्यूरेटेड &lt;code&gt;references/&lt;/code&gt;, और ऐसे एटॉमिक हेल्पर वाले छोटे रिपॉज़िटरी से नीचे स्कोर करता है जो वास्तव में पूरी स्किल क्षमता का लाभ उठाते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;संरचनात्मक विश्लेषण&lt;/strong&gt;: हम स्किल क्वालिटी जांचते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;wc&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -l&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/SKILL.md&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Size check&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/scripts/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Supporting files&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/references/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Bundled docs&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;अगर किसी उम्मीदवार में स्क्रिप्ट शामिल हैं, तो वह समीक्षा और सख़्त हो जाती है। एक अच्छी स्किल सिर्फ़ उपयोगी नहीं होती; उसे पठनीय, सीमित, और किसी एजेंट को सौंपने के लिए सुरक्षित भी होना पड़ता है। अकेला यह सेफ़्टी फ़िल्टर अन्यथा दिलचस्प लगने वाले उम्मीदवारों के एक बड़े हिस्से को अयोग्य ठहरा देता है।&lt;/p&gt;
&lt;h3 id=&quot;चरण-3-इंजेशन&quot;&gt;चरण 3: इंजेशन&lt;/h3&gt;
&lt;p&gt;जब कोई स्किल मूल्यांकन पास कर लेती है, तो वह रजिस्ट्री में प्रवेश करती है। लेकिन स्किल कभी बिना बदले नहीं अपनाई जातीं। इन्हें हमारे सिस्टम में फ़िट करने के लिए संशोधित किया जाता है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;अपनाने पर संशोधन&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;मेटाडेटा नॉर्मलाइज़ेशन&lt;/strong&gt;: हर स्किल को हमारा फ़्रंटमैटर स्कीमा मिलता है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;K-स्तर असाइनमेंट&lt;/strong&gt;: स्किल को उपयुक्त नॉलेज लेयर में रखा जाता है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;टैग एनरिचमेंट&lt;/strong&gt;: डिस्कवरी के लिए टैग जोड़े जाते हैं&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;टूल डिक्लेरेशन&lt;/strong&gt;: अनुमत टूल स्पष्ट रूप से घोषित किए जाते हैं&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;सेक्शन अलाइनमेंट&lt;/strong&gt;: कॉन्टेंट को हमारे टेम्पलेट से मेल खाने के लिए पुनर्गठित किया जाता है&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;इंजेशन के बाद एक सामान्य स्किल YAML:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;metadata&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  identifier&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor-skill-evaluation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  name&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor-skill-evaluation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  description&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Systematic evaluation of vendor skills for adoption.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  layer&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;K4&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  semantic_folder&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;project&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  source&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;core&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_updated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-17&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;frontmatter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;agents&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;meta&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skill-adoption&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  allowed_tools&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Bash&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Read&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Write&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Edit&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Grep&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Glob&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Task&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;चरण-4-स्कोप-असाइनमेंट&quot;&gt;चरण 4: स्कोप असाइनमेंट&lt;/h3&gt;
&lt;p&gt;स्किल को स्कोप सौंपे जाते हैं — ऐसी श्रेणियां जो तय करती हैं कि कौन-सा एजेंट कौन-सी स्किल लोड करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  database&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;domains/schema-migration-workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;domains/rpc-validation-checklist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase/supabase-database&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase/supabase-auth&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/research-workflows&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/web-extraction-playbook&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/dataset-discovery-quickstart&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;एजेंट अपने स्कोप घोषित करते हैं, और स्किल अपने-आप असाइन हो जाती हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Agent definition&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;database&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Gets: all database skills + all research skills + universal skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;चरण-5-मैटीरियलाइज़ेशन&quot;&gt;चरण 5: मैटीरियलाइज़ेशन&lt;/h3&gt;
&lt;p&gt;प्रोडक्शन में स्किल YAML के रूप में नहीं रहतीं। इन्हें SKILL.md फ़ाइलों में रेंडर किया जाता है जिन्हें Claude Code लोड कर सकता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह कमांड:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;सभी स्किल YAML परिभाषाएं पढ़ता है&lt;/li&gt;
&lt;li&gt;उन्हें Jinja टेम्पलेट के ज़रिए रेंडर करता है&lt;/li&gt;
&lt;li&gt;SKILL.md फ़ाइलें &lt;code&gt;.claude/skills/&lt;/code&gt; में लिखता है&lt;/li&gt;
&lt;li&gt;K-स्तर के हिसाब से व्यवस्थित करता है (foundations/, identities/, domains/, stacks/, project/)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;अंतिम आउटपुट संरचना:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;.claude/skills/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── foundations/     # K0: Universal&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── identities/      # K1: Discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── domains/         # K2: Subject&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── stacks/          # K3: Technology&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── project/         # K4: Organization&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── vendor/          # External skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;डॉरमेंट-स्कोप-पैटर्न&quot;&gt;डॉरमेंट स्कोप पैटर्न&lt;/h2&gt;
&lt;p&gt;हमारे सबसे शक्तिशाली पैटर्न में से एक “अपनाई-गई-लेकिन-लोड-नहीं-हुई” स्किल है। हम इन्हें डॉरमेंट स्कोप कहते हैं।&lt;/p&gt;
&lt;p&gt;k-dense-scientific रिपॉज़िटरी की साइंटिफ़िक कंप्यूटिंग स्किल पर विचार करें। हमने बायोइन्फ़ॉर्मेटिक्स, केमिस्ट्री, क्वांटम कंप्यूटिंग, और क्लिनिकल इन्फ़ॉर्मेटिक्स को कवर करने वाली 120+ स्किल अपनाई हैं। लेकिन हमारे ज़्यादातर एजेंट को मॉलिक्यूलर डॉकिंग या जीन एक्सप्रेशन विश्लेषण की ज़रूरत नहीं होती।&lt;/p&gt;
&lt;p&gt;हर एजेंट में सभी 120 स्किल लोड करने (कॉन्टेक्स्ट विंडो को फुलाने) के बजाय, हम:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;स्किल को एक विशिष्ट स्कोप के साथ &lt;strong&gt;अपनाते&lt;/strong&gt; हैं (जैसे, &lt;code&gt;bioinformatics&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;उन्हें &lt;strong&gt;डॉरमेंट&lt;/strong&gt; रखते हैं — रजिस्टर्ड लेकिन लोड नहीं&lt;/li&gt;
&lt;li&gt;उन्हें तभी &lt;strong&gt;एनेबल&lt;/strong&gt; करते हैं जब कोई एजेंट वह स्कोप घोषित करता है&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# In scopes.yaml - dormant scope&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;bioinformatics&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  description&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Bioinformatics and genomics&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: []  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Empty - skills exist but aren&apos;t loaded&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# When an agent needs bioinformatics:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Agent YAML&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;bioinformatics&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Now loads bioinformatics skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह पैटर्न हमें रजिस्ट्री में 466 स्किल रखने देता है, जबकि सामान्य एजेंट सिर्फ़ 40-60 प्रासंगिक स्किल लोड करते हैं।&lt;/p&gt;
&lt;h2 id=&quot;स्किल-के-प्रकार&quot;&gt;स्किल के प्रकार&lt;/h2&gt;
&lt;p&gt;स्किल तीन संज्ञानात्मक पैटर्न में आती हैं:&lt;/p&gt;
&lt;h3 id=&quot;workflow&quot;&gt;Workflow&lt;/h3&gt;
&lt;p&gt;क्रमबद्ध प्रक्रियात्मक चरण: “1. X करो, 2. फिर Y, 3. आख़िर में Z”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: schema-migration-workflow, mining-session-workflow&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;discipline&quot;&gt;Discipline&lt;/h3&gt;
&lt;p&gt;व्यवहार संबंधी गार्डरेल: “हमेशा X”, “कभी Y नहीं”, “Z को प्राथमिकता दो”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: test-first-discipline, evidence-based-completion&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;checklist&quot;&gt;Checklist&lt;/h3&gt;
&lt;p&gt;वैरिफ़िकेशन मानदंड: “X कन्फ़र्म करो”, “Y वेरिफ़ाई करो”, “Z चेक करो”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;checklist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: auth-validation-checklist, secrets-audit-checklist&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;क्वालिटी-गेट&quot;&gt;क्वालिटी गेट&lt;/h2&gt;
&lt;p&gt;हर स्किल को शिप होने से पहले वैलिडेशन पास करना ज़रूरी है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;validation&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  file_exists&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Skill file at declared path&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  frontmatter_valid&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Frontmatter parses correctly&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  sections_complete&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Expected sections present&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tools_registered&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # Declared tools exist in registry&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;विवरण 50-400 अक्षरों के होने चाहिए, ट्रिगर वाक्यांशों (“Use when…”, “When you need…”) के साथ, ताकि Claude Code को पता हो कि उन्हें कब सुझाना है।&lt;/p&gt;
&lt;p&gt;हम लगातार वैलिडेट करते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --show-warnings&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;वेंडर-इकोसिस्टम&quot;&gt;वेंडर इकोसिस्टम&lt;/h2&gt;
&lt;p&gt;हमारी 373 वेंडर स्किल यहां से आती हैं:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;प्रदाता&lt;/th&gt;
&lt;th&gt;स्किल&lt;/th&gt;
&lt;th&gt;डोमेन&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AWS Agent&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;क्लाउड सर्विसेज़&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;डॉक्यूमेंट जनरेशन&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloudflare&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;एज कंप्यूटिंग&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supabase&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;डेटाबेस&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;k-dense&lt;/td&gt;
&lt;td&gt;100+&lt;/td&gt;
&lt;td&gt;साइंटिफ़िक कंप्यूटिंग&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;silvainfm&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;डेटा साइंस&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Java Developer Kit&lt;/td&gt;
&lt;td&gt;45+&lt;/td&gt;
&lt;td&gt;Spring/Java&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vercel&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;ब्राउज़र ऑटोमेशन&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;हर वेंडर रूट metadata.yaml में घोषित है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;vendor_roots&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/aws-agent-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;aws&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/k-dense-scientific/scientific-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;k-dense&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;supabase&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;जब &lt;code&gt;orkestra sync&lt;/code&gt; चलता है, तो वेंडर स्किल को उनके प्रोवाइडर नेमस्पेस के साथ &lt;code&gt;.claude/skills/vendor/&lt;/code&gt; में सिमलिंक कर दिया जाता है।&lt;/p&gt;
&lt;h2 id=&quot;हमने-क्या-सीखा&quot;&gt;हमने क्या सीखा&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;चयनात्मकता फल देती है।&lt;/strong&gt; हर उपयोगी दिखने वाली चीज़ अपनाने का लालच होता है। लेकिन हर स्किल टोकन ख़र्च करती है। प्रति स्किल औसतन 2,834 टोकन के साथ, ब्लोट तेज़ी से नुक़सान पहुंचाता है। हमारी 13% अपनाने की दर एजेंट को हल्का रखती है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;संरचना डिस्कवरी को सक्षम बनाती है।&lt;/strong&gt; K-स्तर सिस्टम सिर्फ़ व्यवस्था नहीं है — यह पोर्टेबिलिटी के बारे में है। K0 स्किल कहीं भी दोबारा इस्तेमाल की जा सकती हैं। K4 स्किल जानबूझकर प्रोजेक्ट-विशिष्ट हैं। यह स्पष्टता इंसानों और एजेंट, दोनों को वह खोजने में मदद करती है जिसकी उन्हें ज़रूरत है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;डॉरमेंट स्कोप स्केल करते हैं।&lt;/strong&gt; आप सैकड़ों स्किल अपना सकते हैं बिना उन सभी को लोड किए। स्कोप आपको एक व्यापक रजिस्ट्री बनाने देते हैं जबकि हर एजेंट के कॉन्टेक्स्ट विंडो को प्रबंधनीय रखते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;अपनाने पर संशोधन ज़रूरी है।&lt;/strong&gt; कच्ची वेंडर स्किल शायद ही कभी आपके सिस्टम में फ़िट बैठती हैं। इंजेशन प्रक्रिया — मेटाडेटा जोड़ना, टियर असाइन करना, टैग समृद्ध करना — बाहरी स्किल को आंतरिक रूप से काम करने लायक़ बनाती है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;माइनिंग निरंतर है।&lt;/strong&gt; 3,500 का आंकड़ा बढ़ता ही रहता है। नए वेंडर रिपॉज़िटरी सामने आते हैं। कम्युनिटी पैटर्न उभरते हैं। आंतरिक वर्कफ़्लो मज़बूत होते हैं। लूप कभी नहीं रुकता।&lt;/p&gt;
&lt;h2 id=&quot;आगे-क्या-है&quot;&gt;आगे क्या है&lt;/h2&gt;
&lt;p&gt;हम कई सुधारों पर काम कर रहे हैं:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ऑटोमेटेड गैप डिटेक्शन&lt;/strong&gt;: जब कोई सामान्य एजेंट विफलता किसी अभी तक न अपनाई गई स्किल से हल हो सकती हो, तो अलर्ट करना&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;स्किल डेप्रीकेशन वर्कफ़्लो&lt;/strong&gt;: उन स्किल को रिटायर करने की औपचारिक प्रक्रिया जो पुरानी पड़ चुकी हैं या इस्तेमाल में नहीं हैं&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;क्रॉस-स्किल डिपेंडेंसी&lt;/strong&gt;: स्किल की पूर्वापेक्षाओं की स्पष्ट घोषणा&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;उपयोग एनालिटिक्स&lt;/strong&gt;: ट्रैक करना कि एजेंट वास्तव में कौन-सी स्किल इनवोक करते हैं बनाम सिर्फ़ लोड करते हैं&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;स्किल माइनिंग लूप इन्फ़्रास्ट्रक्चर है। यह चमकदार नहीं है। लेकिन यही वह चीज़ है जो 41 एजेंट को कॉन्टेक्स्ट सीमाओं के भीतर रहते हुए 466 क्षमताओं के साथ सुसंगत रूप से काम करने देती है।&lt;/p&gt;
&lt;p&gt;यही कहानी है कि 3,500 कैसे 466 बन जाते हैं। 3,000 को नज़रअंदाज़ करके नहीं — उन्हें व्यवस्थित रूप से परखकर और सिर्फ़ वही अपनाकर जो काम करता है।&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;स्किल सिस्टम को काम करते देखना चाहते हैं? हमारी मौजूदा रजिस्ट्री एक्सप्लोर करने के लिए &lt;code&gt;uv run orkestra skills list&lt;/code&gt; देखें।&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Skills</category></item><item><title>प्रोग्रेसिव डिस्क्लोज़र: एजेंट सिस्टम में झांकती CLI खिड़कियां</title><link>https://maguyva.ai/hi/blog/progressive-disclosure-cli-into-agents</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/progressive-disclosure-cli-into-agents</guid><description>एजेंट सिस्टम डिफ़ॉल्ट रूप से अपारदर्शी होते हैं। प्रोग्रेसिव डिस्क्लोज़र ऑपरेटर को त्वरित स्टेटस चेक से लेकर पूरे एजेंट इंटरनल और डिसीज़न ट्रेस तक, परतदार CLI व्यू देता है।</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस पोस्ट में दिए गए आंकड़े प्रकाशन के समय (जनवरी 2026) की सिस्टम स्थिति दर्शाते हैं। मौजूदा आंकड़ों के लिए हमारा &lt;a href=&quot;https://maguyva.ai/hi/team&quot;&gt;टीम पेज&lt;/a&gt; देखें।&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;एजेंट सिस्टम डिज़ाइन से ही अपारदर्शी होते हैं। वे फ़ैसले लेते हैं, टूल इनवोक करते हैं, और दर्जनों स्पेशलिस्ट में काम समन्वित करते हैं। लेकिन जब कुछ ग़लत हो जाए — या जब आप बस यह समझना चाहें कि क्या हो रहा है — तो आप कहां देखते हैं?&lt;/p&gt;
&lt;p&gt;जवाब है प्रोग्रेसिव डिस्क्लोज़र: एक परतदार इंटरफ़ेस जो ठीक उतनी ही जटिलता दिखाता है जितनी आपको चाहिए, ठीक तभी जब आपको चाहिए।&lt;/p&gt;
&lt;h2 id=&quot;अपारदर्शिता-की-समस्या&quot;&gt;अपारदर्शिता की समस्या&lt;/h2&gt;
&lt;p&gt;एक आधुनिक एजेंट ऑर्केस्ट्रेशन सिस्टम में हो सकता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;40+ स्पेशलिस्ट एजेंट, हर एक की अपनी अलग क्षमताएं&lt;/li&gt;
&lt;li&gt;आंतरिक ऑटोमेशन और वेंडर इंटीग्रेशन में फैली 700+ स्किल&lt;/li&gt;
&lt;li&gt;व्यवहार को आकार देते 470+ आर्किटेक्चरल डिसीज़न&lt;/li&gt;
&lt;li&gt;बाहरी क्षमताएं देने वाले दर्जनों MCP टूल सर्वर&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;यह जटिलता जानबूझकर है। एजेंट को अच्छे फ़ैसले लेने के लिए समृद्ध कॉन्टेक्स्ट — डोमेन ज्ञान, कोड इंटेलिजेंस, डेटाबेस स्कीमा — तक पहुंच चाहिए। लेकिन वही समृद्धि एक दृश्यता समस्या पैदा करती है।&lt;/p&gt;
&lt;p&gt;आपको कैसे पता चलेगा कि कौन-सा एजेंट डेटाबेस माइग्रेशन संभालता है? किन डिसीज़न ने सर्च सिस्टम के रैंकिंग व्यवहार को आकार दिया? आर्किटेक्चर एडवाइज़र के पास किन टूल तक पहुंच है?&lt;/p&gt;
&lt;p&gt;संरचित पहुंच के बिना, आप या तो सोर्स कोड पढ़ते रह जाते हैं या उम्मीद करते हैं कि डॉक्यूमेंटेशन अद्यतन है।&lt;/p&gt;
&lt;h2 id=&quot;आर्किटेक्चर-के-रूप-में-प्रोग्रेसिव-डिस्क्लोज़र&quot;&gt;आर्किटेक्चर के रूप में प्रोग्रेसिव डिस्क्लोज़र&lt;/h2&gt;
&lt;p&gt;प्रोग्रेसिव डिस्क्लोज़र सिर्फ़ एक UI पैटर्न नहीं है। यह एक आर्किटेक्चरल सिद्धांत है: जानकारी को परतों में व्यवस्थित करें, हर एक पिछली से गहरी, ताकि उपयोगकर्ता उस स्तर पर रुक सकें जो उनके सवाल का जवाब देता है।&lt;/p&gt;
&lt;p&gt;एजेंट सिस्टम के लिए, यह बढ़ती गहराई पर CLI कमांड में तब्दील होता है:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;स्तर&lt;/th&gt;
&lt;th&gt;कमांड&lt;/th&gt;
&lt;th&gt;किस सवाल का जवाब मिलता है&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra system status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;क्या सब कुछ स्वस्थ है?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra agents list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;कौन-से एजेंट मौजूद हैं?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra agents info &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;यह एजेंट क्या करता है?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra decisions search&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;यह इस तरह क्यों काम करता है?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Maguyva MCP टूल&lt;/td&gt;
&lt;td&gt;मुझे कोड दिखाओ।&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;हर स्तर एक स्वाभाविक फ़ॉलो-अप सवाल का जवाब देता है। आपको शायद ही कभी सीधे स्तर 5 तक कूदने की ज़रूरत पड़ती है।&lt;/p&gt;
&lt;h2 id=&quot;स्तर-1-सिस्टम-हेल्थ&quot;&gt;स्तर 1: सिस्टम हेल्थ&lt;/h2&gt;
&lt;p&gt;पहला सवाल हमेशा यही होता है: क्या सब कुछ काम कर रहा है?&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; system&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; status&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;agents&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_internal&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;466&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_vendor&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;240&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_total&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;706&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;commands&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;17&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;एक कमांड। चार आंकड़े। यह जानने के लिए काफ़ी कि सिस्टम कॉन्फ़िगर है और रजिस्ट्री भरी हुई हैं।&lt;/p&gt;
&lt;p&gt;अगर एजेंट काउंट अप्रत्याशित रूप से घटे या स्किल लोड होने में फ़ेल हों, तो आप इसे यहां सबसे पहले देखते हैं। किसी लॉग में डूबने की ज़रूरत नहीं।&lt;/p&gt;
&lt;h2 id=&quot;स्तर-2-एजेंट-इन्वेंटरी&quot;&gt;स्तर 2: एजेंट इन्वेंटरी&lt;/h2&gt;
&lt;p&gt;एक बार जब आप जान लें कि सिस्टम स्वस्थ है, तो अगला सवाल है: क्या उपलब्ध है?&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह संरचित डेटा लौटाता है — एजेंट के नाम, विवरण, मॉडल प्राथमिकताएं, डोमेन कवरेज। आउटपुट डिफ़ॉल्ट रूप से JSON है, जिससे फ़िल्टरिंग के लिए इसे &lt;code&gt;jq&lt;/code&gt; में पाइप करना आसान हो जाता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; jq&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &apos;.agents[] | select(.model == &quot;opus&quot;) | .name&apos;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;डेटाबेस वर्क संभालने वाले एजेंट चाहिए? सर्च कमांड उसे सीमित कर देता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह नाम, विवरण, और क्षमताओं को स्कैन करता है। आप 40 एजेंट परिभाषाएं पढ़े बिना सही स्पेशलिस्ट खोज लेते हैं।&lt;/p&gt;
&lt;h2 id=&quot;स्तर-3-एजेंट-डीप-डाइव&quot;&gt;स्तर 3: एजेंट डीप डाइव&lt;/h2&gt;
&lt;p&gt;कोई प्रासंगिक लगने वाला एजेंट मिल गया? &lt;code&gt;info&lt;/code&gt; कमांड सब कुछ सामने ला देता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; architecture-advisor&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;आउटपुट में शामिल है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;मेटाडेटा&lt;/strong&gt;: नाम, श्रेणी, मॉडल प्राथमिकता, विवरण&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;डोमेन&lt;/strong&gt;: यह एजेंट किन नॉलेज क्षेत्रों को कवर करता है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identity&lt;/strong&gt;: कैरेक्टर ट्रेट (architect, strategist, knowledge-architect)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;टूल गाइड&lt;/strong&gt;: कॉन्टेक्स्ट में कौन-सा टूल डॉक्यूमेंटेशन इंजेक्ट किया गया है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;टूल&lt;/strong&gt;: इस एजेंट के लिए उपलब्ध MCP टूल की पूरी सूची&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;जो आप देखते हैं उसका एक नमूना यह रहा:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;jsonc&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;metadata&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;name&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;architecture-advisor&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;model&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;opus&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;description&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Strategic decision-making and architectural guidance...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;domains&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;product&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;development/architecture&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;meta/strategy&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;tools&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;mcp_tools&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__maguyva__intelligent_search&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__maguyva__analyze_dependencies&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__supabase__execute_sql&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FDAEB7;font-style:italic&quot;&gt;      ...&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह आपको ठीक-ठीक बताता है कि एजेंट क्या कर सकता है। किसी सोर्स कोड की ज़रूरत नहीं।&lt;/p&gt;
&lt;h2 id=&quot;स्तर-4-डिसीज़न-आर्कियोलॉजी&quot;&gt;स्तर 4: डिसीज़न आर्कियोलॉजी&lt;/h2&gt;
&lt;p&gt;एजेंट दस्तावेज़ीकृत डिसीज़न के अनुसार व्यवहार करते हैं। जब आपको यह समझने की ज़रूरत हो कि कुछ किसी ख़ास तरीक़े से &lt;em&gt;क्यों&lt;/em&gt; काम करता है, तो डिसीज़न रजिस्ट्री ही सच्चाई का स्रोत है।&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;agent&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह मिलते-जुलते आर्किटेक्चरल डिसीज़न लौटाता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;results&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-SR-049&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;title&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;AI-Agent-First Defaults with Graph Intelligence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;search&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;status&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;active&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;हर डिसीज़न के स्रोत और इतिहास का पूरा रिकॉर्ड होता है — यह कब लिया गया, क्यों, किन ट्रेड-ऑफ़ पर विचार किया गया, किन कमिट ने इसे इम्प्लीमेंट किया:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-SR-049&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-SR-049&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;title&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;AI-Agent-First Defaults with Graph Intelligence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;summary&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Changes default values for search tools to AI-agent-optimal behavior...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;rationale&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;AI agents work better with pre-ranked, importance-weighted results&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;Graph metrics already computed by pipeline - leverage them&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;Community context helps agents understand feature scope in single query&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;source_commits&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;156a880d05eae295669ef7c194b039023f245511&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;message&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat(maguyva): enable boost_by_importance...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह ऐसा आर्किटेक्चरल डॉक्यूमेंटेशन है जो अद्यतन बना रहता है क्योंकि यह कमिट से माइन किया जाता है, मैनुअली मेंटेन नहीं किया जाता।&lt;/p&gt;
&lt;h2 id=&quot;स्तर-5-डायरेक्ट-कोड-इंटेलिजेंस&quot;&gt;स्तर 5: डायरेक्ट कोड इंटेलिजेंस&lt;/h2&gt;
&lt;p&gt;जब आपको असली इम्प्लीमेंटेशन देखने की ज़रूरत हो — उसके बारे में मेटाडेटा नहीं — तो Maguyva के MCP टूल डायरेक्ट एक्सेस देते हैं।&lt;/p&gt;
&lt;p&gt;किसी एजेंट सेशन के भीतर से:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__intelligent_search&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  query: &quot;agent context loading&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह प्रासंगिक कोड खोजने के लिए सिमेंटिक, टेक्स्ट, और AST सर्च में ख़ुद-ब-ख़ुद रूट करता है। विशिष्ट सिंबल के लिए:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__find_symbol&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  symbol_name: &quot;load_agent_context&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;डिपेंडेंसी विश्लेषण के लिए:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__analyze_dependencies&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  target: &quot;packages/orchestration/core/agents.py&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ये सिर्फ़ grep के विकल्प नहीं हैं। ये ग्राफ़-जागरूक, सिमेंटिक रूप से इंडेक्स्ड, और उसी कोड इंटेलिजेंस के साथ इंटीग्रेटेड हैं जो ख़ुद एजेंट को शक्ति देती है।&lt;/p&gt;
&lt;h2 id=&quot;रजिस्ट्री-में-एकीकृत-सर्च&quot;&gt;रजिस्ट्री में एकीकृत सर्च&lt;/h2&gt;
&lt;p&gt;कभी-कभी आपको नहीं पता होता कि किस रजिस्ट्री में जवाब है। एकीकृत सर्च सब कुछ कवर करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --summary&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;query&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;database&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;total&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;254&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;counts&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;agents&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;skills&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;59&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;decisions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;476&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;truths&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;packages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;पांच रजिस्ट्री में 254 मैच। सारांश आपको बताता है कि कहां गहराई से देखना है। विस्तृत नतीजों के लिए &lt;code&gt;--summary&lt;/code&gt; हटाएं, या आउटपुट को प्रबंधनीय रखने के लिए &lt;code&gt;--limit 5&lt;/code&gt; जोड़ें।&lt;/p&gt;
&lt;h2 id=&quot;यह-क्यों-मायने-रखता-है&quot;&gt;यह क्यों मायने रखता है&lt;/h2&gt;
&lt;p&gt;प्रोग्रेसिव डिस्क्लोज़र सिर्फ़ सुविधा के बारे में नहीं है। यह बदल देता है कि आप जटिल सिस्टम के साथ कैसे बातचीत करते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;डीबगिंग आसान हो जाती है।&lt;/strong&gt; जब कोई एजेंट कोई अप्रत्याशित फ़ैसला लेता है, तो आप लॉग में grep नहीं करते। आप जांचते हैं कि उसके पास किन टूल तक पहुंच है (&lt;code&gt;agents info&lt;/code&gt;), कौन-से डिसीज़न उसके व्यवहार को आकार देते हैं (&lt;code&gt;decisions search&lt;/code&gt;), और ज़रूरत पड़ने पर इम्प्लीमेंटेशन ट्रेस करते हैं (&lt;code&gt;intelligent_search&lt;/code&gt;)।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ऑनबोर्डिंग तेज़ हो जाती है।&lt;/strong&gt; नए टीम मेंबर को पूरा कोडबेस पढ़ने की ज़रूरत नहीं। वे &lt;code&gt;system status&lt;/code&gt; से शुरू करते हैं, &lt;code&gt;agents list&lt;/code&gt; से एक्सप्लोर करते हैं, और तभी गहराई में जाते हैं जब उन्हें कुछ ऐसा मिले जो वे समझ न पाएं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;डॉक्यूमेंटेशन अद्यतन बना रहता है।&lt;/strong&gt; क्योंकि CLI उन्हीं रजिस्ट्री से पढ़ता है जो एजेंट को कॉन्फ़िगर करती हैं, आउटपुट हमेशा सटीक होता है। डॉक्स जो कहते हैं और सिस्टम जो करता है, उसके बीच कोई भटकाव नहीं होता।&lt;/p&gt;
&lt;h2 id=&quot;इंटरफ़ेस-के-रूप-में-cli&quot;&gt;इंटरफ़ेस के रूप में CLI&lt;/h2&gt;
&lt;p&gt;हम एक वेब डैशबोर्ड बना सकते थे। हम विस्तृत डॉक्यूमेंटेशन लिख सकते थे। इसके बजाय, हमने एक CLI बनाया जो सच्चाई के स्रोत से पढ़ता है।&lt;/p&gt;
&lt;p&gt;CLI के फ़ायदे हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;कम्पोज़ेबल&lt;/strong&gt;: &lt;code&gt;jq&lt;/code&gt; के ज़रिए आउटपुट पाइप करें, स्क्रिप्ट के साथ इंटीग्रेट करें&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;स्क्रिप्टेबल&lt;/strong&gt;: चेक ऑटोमेट करें, रिपोर्ट जनरेट करें&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;तेज़&lt;/strong&gt;: कोई पेज लोड नहीं, कोई ऑथेंटिकेशन फ़्लो नहीं&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;सटीक&lt;/strong&gt;: असली कॉन्फ़िगरेशन पढ़ता है, कोई कैश्ड प्रतिनिधित्व नहीं&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ऐसे सिस्टम के लिए जहां सटीकता सौंदर्यशास्त्र से ज़्यादा मायने रखती है, CLI जीतता है।&lt;/p&gt;
&lt;h2 id=&quot;अपना-ख़ुद-का-प्रोग्रेसिव-डिस्क्लोज़र-बनाना&quot;&gt;अपना ख़ुद का प्रोग्रेसिव डिस्क्लोज़र बनाना&lt;/h2&gt;
&lt;p&gt;अगर आप एजेंट सिस्टम बना रहे हैं, तो सोचें कि उपयोगकर्ता उन्हें कैसे जांचेंगे:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;हेल्थ चेक से शुरू करें।&lt;/strong&gt; एक कमांड जो आपको बताए कि चीज़ें काम कर रही हैं या नहीं।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;इन्वेंटरी व्यू दें।&lt;/strong&gt; यह समझाने से पहले कि कुछ क्या करता है, यह सूचीबद्ध करें कि क्या मौजूद है।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;टार्गेटेड क्वेरी सक्षम करें।&lt;/strong&gt; बड़े पैमाने पर सर्च, ब्राउज़िंग से बेहतर है।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;स्रोत और इतिहास दिखाएं।&lt;/strong&gt; उपयोगकर्ताओं को डिसीज़न को उनके मूल तक ट्रेस करने दें।&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;कोड इंटेलिजेंस से जोड़ें।&lt;/strong&gt; आख़िरकार, उपयोगकर्ताओं को इम्प्लीमेंटेशन देखने की ज़रूरत होती है।&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;हर लेयर एक फ़ॉलो-अप सवाल का जवाब देती है। इन्हें आवृत्ति के क्रम में बनाएं — ज़्यादातर उपयोगकर्ता लेयर 2 या 3 पर रुक जाते हैं। सिर्फ़ पावर यूज़र लेयर 5 तक पहुंचते हैं।&lt;/p&gt;
&lt;p&gt;लक्ष्य सब कुछ एक्सपोज़ करना नहीं है। यह ठीक वही एक्सपोज़ करना है जिसकी ज़रूरत है, ठीक तभी जब उसकी ज़रूरत है। यही है एजेंट आर्किटेक्चर पर लागू प्रोग्रेसिव डिस्क्लोज़र।&lt;/p&gt;
</content:encoded><category>Architecture</category><category>CLI</category><category>Tooling</category></item><item><title>ग्राउंड ट्रुथ्स: AI एजेंट्स को हक़ीक़त से जोड़ना</title><link>https://maguyva.ai/hi/blog/ground-truths-anchoring-ai-to-reality</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/ground-truths-anchoring-ai-to-reality</guid><description>AI एजेंट पूरे भरोसे के साथ हैलुसिनेट करते हैं। ग्राउंड ट्रुथ्स वर्ज़न्ड, स्कोप्ड तथ्य हैं जो एजेंट व्यवहार को हक़ीक़त से जोड़े रखते हैं। यहां बताया गया है कि हमने इन्हें कैसे बनाया और कैसे लागू करते हैं।</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस पोस्ट में दिए गए आंकड़े प्रकाशन के समय (जनवरी 2026) की सिस्टम स्थिति दर्शाते हैं। मौजूदा आंकड़ों के लिए हमारा &lt;a href=&quot;https://maguyva.ai/hi/team&quot;&gt;टीम पेज&lt;/a&gt; देखें।&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI एजेंट असाधारण रूप से सक्षम हैं। वे तर्क कर सकते हैं, संश्लेषित कर सकते हैं, और जनरेट कर सकते हैं। लेकिन उनमें एक बुनियादी कमज़ोरी है: वे चीज़ें गढ़ लेते हैं। बदनीयती से नहीं, बल्कि पूरे भरोसे के साथ। कोई एजेंट ऐसे API पैरामीटर गढ़ सकता है जो मौजूद ही नहीं हैं, ऐसे कॉन्फ़िगरेशन का हवाला दे सकता है जो कभी परिभाषित ही नहीं हुए, या अपने ट्रेनिंग डेटा से ऐसे पैटर्न लागू कर सकता है जो आपके असली आर्किटेक्चर के विरुद्ध जाते हैं।&lt;/p&gt;
&lt;p&gt;मानक उपाय है “एजेंट को ज़्यादा कॉन्टेक्स्ट दो।” लेकिन कॉन्टेक्स्ट भी परस्पर विरोधाभासी हो सकता है। डॉक्यूमेंटेशन इम्प्लीमेंटेशन से भटक जाता है। कमेंट झूठ बोलते हैं। यहां तक कि आशय समझे बिना पढ़ने पर कोड भी गुमराह कर सकता है।&lt;/p&gt;
&lt;p&gt;हमें कुछ ज़्यादा स्पष्ट चाहिए था। कुछ ऐसा जिसे नज़रअंदाज़ या ग़लत तरीक़े से समझा न जा सके। कुछ ऐसा जो एजेंट को सत्यापन योग्य हक़ीक़त से जोड़े रखे।&lt;/p&gt;
&lt;p&gt;हम इन्हें ग्राउंड ट्रुथ्स कहते हैं।&lt;/p&gt;
&lt;h2 id=&quot;ग्राउंड-ट्रुथ-क्या-है&quot;&gt;ग्राउंड ट्रुथ क्या है?&lt;/h2&gt;
&lt;p&gt;ग्राउंड ट्रुथ तथ्य का एक स्पष्ट, वर्ज़न्ड कथन है जिसका एजेंट को सम्मान करना ही होता है। यह डॉक्यूमेंटेशन नहीं है। यह कोई कमेंट नहीं है। यह सिस्टम में एक प्रथम-श्रेणी इकाई है, जिसमें शामिल है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;एक यूनीक आइडेंटिफ़ायर&lt;/strong&gt; (जैसे &lt;code&gt;GT-MAG-015&lt;/code&gt; या &lt;code&gt;GT-MAG-036&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;एक लाइफ़साइकल स्टेटस&lt;/strong&gt; (current, tentative, या deprecated)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;एक स्कोप&lt;/strong&gt; (प्लेटफ़ॉर्म-व्यापी, पैकेज-विशिष्ट, या डोमेन-बद्ध)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;साक्ष्य&lt;/strong&gt; (फ़ाइल पथ, URL, या रेफ़रेंस जो कथन को साबित करते हैं)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;एजेंट गाइडेंस&lt;/strong&gt; (स्पष्ट do/avoid निर्देश)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;यह रहा हमारे Maguyva कोड इंटेलिजेंस प्लेटफ़ॉर्म का एक उदाहरण:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-015&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  scope&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;package&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Fuzzy symbol matching is opt-in via `find_similar=true`.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Default behavior returns empty results for non-existent symbols;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    `exact_match=true` enforces strict matching and disables all fuzzy fallbacks.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Deterministic defaults prevent agents from receiving misleading results.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Typos should fail explicitly rather than silently returning unrelated symbols.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  evidence&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/src/maguyva/services/code_analysis_service.py&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/docs/quick_reference/parameters.md&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_verified&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-25&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;product&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;ai_first&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;principle&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह गद्य नहीं है। यह एक अनुबंध है। जब कोई एजेंट इस ग्राउंड ट्रुथ का सामना करता है, तो वह जानता है:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;डिफ़ॉल्ट डिटरमिनिस्टिक है (खाली परिणाम, अस्पष्ट अनुमान नहीं)&lt;/li&gt;
&lt;li&gt;परिभाषित व्यवहार वाले विशिष्ट पैरामीटर मौजूद हैं (&lt;code&gt;find_similar&lt;/code&gt;, &lt;code&gt;exact_match&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;साक्ष्य विशिष्ट फ़ाइलों में मौजूद है जिसे सत्यापित किया जा सकता है&lt;/li&gt;
&lt;li&gt;कथन एक विशिष्ट तारीख़ को सत्यापित किया गया था&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;ग्राउंड-ट्रुथ-रजिस्ट्री-की-संरचना&quot;&gt;ग्राउंड ट्रुथ रजिस्ट्री की संरचना&lt;/h2&gt;
&lt;p&gt;ग्राउंड ट्रुथ &lt;code&gt;ai_assets/reference/ground_truths.yaml&lt;/code&gt; के अंतर्गत YAML रजिस्ट्री में रहते हैं। हर पैकेज या डोमेन की अपनी रजिस्ट्री हो सकती है। संरचना यह है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;metadata&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Maguyva Ground Truths&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  summary&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Foundational constraints and principles that guide Maguyva.&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_updated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  owner&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;maguyva&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  render&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    include_statuses&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tentative&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    show_deprecated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    groups&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Product Principles&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;        tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;product&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;principle&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;brand&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Architecture &amp;amp; Boundaries&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;        tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;architecture&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;boundaries&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;cqrs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;statements&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-001&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    scope&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;package&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Maguyva is read-only with respect to user repositories...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    ...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;रजिस्ट्री में कलेक्शन के बारे में मेटाडेटा, डॉक्यूमेंटेशन जनरेशन के लिए रेंडर कॉन्फ़िगरेशन, और स्वयं कथन शामिल होते हैं। हर कथन Pydantic मॉडल द्वारा वैलिडेट किए गए एक सख़्त स्कीमा का पालन करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; GroundTruthStatement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;BaseModel&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    status: GTStatus  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# current, tentative, deprecated&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    source: GTSource &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # claude-code, orkestra, discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    scope: GTScope  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# platform, package, domain&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    statement: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    rationale: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    evidence: list[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    last_verified: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    tags: list[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    agent_guidance: AgentGuidance &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;एजेंट-ग्राउंड-ट्रुथ-तक-कैसे-पहुंचते-हैं&quot;&gt;एजेंट ग्राउंड ट्रुथ तक कैसे पहुंचते हैं&lt;/h2&gt;
&lt;p&gt;ग्राउंड ट्रुथ कई चैनल के ज़रिए एक्सपोज़ किए जाते हैं:&lt;/p&gt;
&lt;h3 id=&quot;1-रेंडर्ड-डॉक्यूमेंटेशन&quot;&gt;1. रेंडर्ड डॉक्यूमेंटेशन&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;orkestra sync&lt;/code&gt; कमांड YAML रजिस्ट्री को पढ़ने योग्य मार्कडाउन में बदल देता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह &lt;code&gt;GROUND_TRUTHS.md&lt;/code&gt; फ़ाइलें जनरेट करता है जो एजेंट कॉन्टेक्स्ट में शामिल होती हैं। रेंडर्ड आउटपुट कथनों को स्टेटस और श्रेणी के हिसाब से समूहित करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;## Current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;### Product Principles&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Maguyva is read-only with respect to user repositories... (GT-MAG-001)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Design tool responses for AI agents first... (GT-MAG-009)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;### Architecture &amp;amp; Boundaries&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Pipeline and Maguyva boundaries are intentional... (GT-MAG-006)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;2-cli-सर्च&quot;&gt;2. CLI सर्च&lt;/h3&gt;
&lt;p&gt;शेल एक्सेस वाले एजेंट ग्राउंड ट्रुथ को प्रोग्रामेटिक रूप से सर्च कर सकते हैं:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;embedding&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --tag&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; security&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --status&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; current&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;सर्च फ़ंक्शन कई फ़ील्ड में वेटेड रेलेवेंस के साथ मैच स्कोर करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; truth_fields&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(gt: GroundTruthStatement) -&amp;gt; list[FieldSpec]:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.id]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;statement&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.statement]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;rationale&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.rationale] &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; gt.rationale &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;tags&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;gt.tags &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;evidence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;gt.evidence &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;3-कॉन्टेक्स्ट-कम्पोज़िशन&quot;&gt;3. कॉन्टेक्स्ट कम्पोज़िशन&lt;/h3&gt;
&lt;p&gt;जब एजेंट YAML परिभाषाओं से रेंडर किए जाते हैं, तो उनका कॉन्टेक्स्ट ग्राउंड ट्रुथ रजिस्ट्री का हवाला दे सकता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;context_composition&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  domain_knowledge&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/maguyva/ai_assets/reference/ground_truths.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;इससे यह सुनिश्चित होता है कि एजेंट के काम शुरू करने से पहले प्रासंगिक ग्राउंड ट्रुथ लोड हो चुके हों।&lt;/p&gt;
&lt;h2 id=&quot;ग्राउंड-ट्रुथ-की-श्रेणियां&quot;&gt;ग्राउंड ट्रुथ की श्रेणियां&lt;/h2&gt;
&lt;p&gt;हमारी रजिस्ट्री में देखने पर, ग्राउंड ट्रुथ कई पैटर्न में समूहित हो जाते हैं:&lt;/p&gt;
&lt;h3 id=&quot;प्रोडक्ट-सिद्धांत&quot;&gt;प्रोडक्ट सिद्धांत&lt;/h3&gt;
&lt;p&gt;यह प्रोडक्ट क्या है और क्या नहीं, इस पर सीमाएं:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Maguyva उपयोगकर्ता रिपॉज़िटरी के संबंध में केवल-पठनीय (read-only) है; एकमात्र ऐसा एसेट जिसे दोबारा नहीं बनाया जा सकता, वह है पेड एम्बेडिंग कैश।” (GT-MAG-001)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;आर्किटेक्चर-सीमाएं&quot;&gt;आर्किटेक्चर सीमाएं&lt;/h3&gt;
&lt;p&gt;ज़िम्मेदारियां कहां रहती हैं और क्यों:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“पाइपलाइन और Maguyva की सीमाएं जानबूझकर बनाई गई हैं: पाइपलाइन पुनः उपयोग योग्य है, Maguyva कोड-विशिष्ट लॉजिक रखता है, और CQRS स्टेज राइट्स को सर्वर रीड्स से अलग करता है।” (GT-MAG-006)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;एंटी-हैलुसिनेशन-नियम&quot;&gt;एंटी-हैलुसिनेशन नियम&lt;/h3&gt;
&lt;p&gt;स्पष्ट अधिदेश जो टूल कॉन्ट्रैक्ट को अनुमानित के बजाय डिटरमिनिस्टिक बनाए रखते हैं:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“फ़ज़ी सिंबल मैचिंग &lt;code&gt;find_similar=true&lt;/code&gt; के ज़रिए ऑप्ट-इन है। डिफ़ॉल्ट व्यवहार अस्तित्वहीन सिंबल के लिए खाली परिणाम लौटाता है; &lt;code&gt;exact_match=true&lt;/code&gt; सख़्त मैचिंग लागू करता है और सभी फ़ज़ी फ़ॉलबैक बंद कर देता है।” (GT-MAG-015)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;क्वालिटी-गेट&quot;&gt;क्वालिटी गेट&lt;/h3&gt;
&lt;p&gt;ऐसे मानदंड जिन्हें बनाए रखना ज़रूरी है:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“साझा इन्फ़्रास्ट्रक्चर (post_filters.py, रिलेशनशिप एक्सट्रैक्टर, साझा हैंडलर) में बदलावों को कमिट से पहले फ़ुल मैनिफ़ेस्ट जनरेशन के ज़रिए सभी सपोर्टेड भाषाओं के विरुद्ध वैलिडेट किया जाना ज़रूरी है। साझा कोड के लिए सिर्फ़ एक भाषा में वैलिडेशन पर्याप्त नहीं है।” (GT-MAG-036)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;कोड-पैटर्न&quot;&gt;कोड पैटर्न&lt;/h3&gt;
&lt;p&gt;इम्प्लीमेंटेशन आवश्यकताएं:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“एसिंक कॉन्टेक्स्ट में CPU-बाउंड काम के लिए &lt;code&gt;asyncio.to_thread()&lt;/code&gt; का उपयोग करें; डिप्रीकेटेड &lt;code&gt;loop.run_in_executor()&lt;/code&gt; पैटर्न का उपयोग नए कोड में नहीं होना चाहिए।” (GT-MAG-018)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;ग्राउंड-ट्रुथ-का-लाइफ़साइकल&quot;&gt;ग्राउंड ट्रुथ का लाइफ़साइकल&lt;/h2&gt;
&lt;p&gt;ग्राउंड ट्रुथ स्थिर नहीं होते। वे एक परिभाषित लाइफ़साइकल के ज़रिए विकसित होते हैं:&lt;/p&gt;
&lt;h3 id=&quot;tentative-अस्थायी&quot;&gt;Tentative (अस्थायी)&lt;/h3&gt;
&lt;p&gt;मूल्यांकन के दौर से गुज़र रहा एक प्रस्तावित सत्य। कथन दर्ज कर लिया गया है लेकिन बदल सकता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-044&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tentative&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    get_file with include_metadata=false may still return metadata in the&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    response because middleware may re-inject it for AI agent disambiguation.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;current-मौजूदा&quot;&gt;Current (मौजूदा)&lt;/h3&gt;
&lt;p&gt;एक सत्यापित सत्य जिसका एजेंट को सम्मान करना ज़रूरी है। साक्ष्य को वैलिडेट किया जा चुका है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-017&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_verified&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  evidence&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/src/maguyva/services/supabase.py&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;deprecated-अप्रचलित&quot;&gt;Deprecated (अप्रचलित)&lt;/h3&gt;
&lt;p&gt;एक ऐसा सत्य जो अब लागू नहीं होता। इसे ऐतिहासिक संदर्भ के लिए रखा गया है, साथ ही यह इशारा भी कि इसकी जगह क्या आया:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-099&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;deprecated&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  superseded_by&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-015&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  notes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Replaced when we moved to explicit matching behavior&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;सिर्फ़-डॉक्यूमेंटेशन-क्यों-नहीं&quot;&gt;सिर्फ़ डॉक्यूमेंटेशन क्यों नहीं?&lt;/h2&gt;
&lt;p&gt;डॉक्यूमेंटेशन एक अलग मक़सद पूरा करता है। यह समझाता है। यह सिखाता है। यह अस्पष्ट हो सकता है, “आमतौर पर” या “सामान्यतः” जैसे क्वालिफ़ायर का उपयोग कर सकता है।&lt;/p&gt;
&lt;p&gt;ग्राउंड ट्रुथ अस्पष्ट नहीं हो सकते। ये दावे हैं। या तो ये लागू होते हैं या नहीं होते।&lt;/p&gt;
&lt;p&gt;यह फ़र्क़ देखें:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;डॉक्यूमेंटेशन:&lt;/strong&gt; “जब कोई सिंबल नहीं मिलता तो API आमतौर पर खाली परिणाम लौटाता है, हालांकि कुछ कॉन्फ़िगरेशन में फ़ज़ी मैचिंग एनेबल हो सकती है।”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ग्राउंड ट्रुथ:&lt;/strong&gt; “डिफ़ॉल्ट व्यवहार अस्तित्वहीन सिंबल के लिए खाली परिणाम लौटाता है; &lt;code&gt;exact_match=true&lt;/code&gt; सख़्त मैचिंग लागू करता है और सभी फ़ज़ी फ़ॉलबैक बंद कर देता है।”&lt;/p&gt;
&lt;p&gt;पहला इंसानों के लिए सिस्टम सीखने में मददगार है। दूसरा फ़ैसले लेते समय एजेंट के लिए कार्रवाई-योग्य है।&lt;/p&gt;
&lt;h2 id=&quot;एजेंट-गाइडेंस-करें-और-बचें&quot;&gt;एजेंट गाइडेंस: करें और बचें&lt;/h2&gt;
&lt;p&gt;कुछ ग्राउंड ट्रुथ में स्पष्ट एजेंट गाइडेंस शामिल होती है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-022&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Accuracy fixes must happen at extraction time via production code,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    never via validator filters.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  agent_guidance&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    do&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Fix extraction bugs in YAML config, handlers, or tree-sitter queries&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Add test cases at the layer where the fix lives&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    avoid&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Adding validator filters to mask production bugs&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Creating test-only workarounds for extraction issues&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;इससे अस्पष्टता ख़त्म हो जाती है। इसे पढ़ने वाला एजेंट सिर्फ़ यह नहीं जानता कि क्या सच है, बल्कि यह भी जानता है कि वह सत्य किन कार्रवाइयों का संकेत देता है।&lt;/p&gt;
&lt;h2 id=&quot;सत्यापन-और-रखरखाव&quot;&gt;सत्यापन और रखरखाव&lt;/h2&gt;
&lt;p&gt;ग्राउंड ट्रुथ को रखरखाव की ज़रूरत होती है। हम ट्रैक करते हैं:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;last_verified&lt;/strong&gt;: कब किसी ने पुष्टि की कि कथन अब भी लागू होता है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;evidence&lt;/strong&gt;: वे फ़ाइलें जो कथन को साबित करती हैं (अस्तित्व के लिए जांची जा सकती हैं)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;source&lt;/strong&gt;: सत्य की उत्पत्ति कहां से हुई (CLI निरीक्षण, आर्किटेक्चर समीक्षा, इंसिडेंट के बाद की सीख)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;पुरानी पड़ चुकी सत्यापन तारीख़ों या टूटे साक्ष्य लिंक वाला कोई ग्राउंड ट्रुथ जांच का संकेत है। या तो सत्य अब भी वैध है और उसे दोबारा सत्यापित करने की ज़रूरत है, या हक़ीक़त बदल चुकी है और सत्य को अपडेट करने की ज़रूरत है।&lt;/p&gt;
&lt;h2 id=&quot;प्रोडक्शन-से-असली-उदाहरण&quot;&gt;प्रोडक्शन से असली उदाहरण&lt;/h2&gt;
&lt;h3 id=&quot;सुरक्षा-सीमा&quot;&gt;सुरक्षा सीमा&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-014&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Maguyva queries are search patterns, not executable code.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    SQL injection prevention is handled by PostgREST parameterization;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    application-layer SQL keyword blocking must never be added.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Blocking SQL keywords breaks legitimate code search. Users search FOR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    code containing patterns like &apos;DROP TABLE&apos;, they don&apos;t execute them.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह ग्राउंड ट्रुथ ऐसे “सुरक्षा सुधारों” की एक पूरी श्रेणी को रोकता है जो भ्रमित होकर प्रोडक्ट को तोड़ देते।&lt;/p&gt;
&lt;h3 id=&quot;एक्सट्रैक्शन-टाइम-सटीकता&quot;&gt;एक्सट्रैक्शन-टाइम सटीकता&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-022&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Accuracy fixes must happen at extraction time via production code&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (YAML config, handlers, queries), never via validator filters.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Validator filters only run during tests. They can hide extractor bugs&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    while production responses remain wrong.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह एक तकलीफ़देह अनुभव से आया। एजेंट फ़ेल हो रहे लैंग्वेज पैक को सिर्फ़ वैलिडेटर-ओनली फ़िल्टर जोड़कर पैच कर देते थे, जिससे टेस्ट हार्नेस ज़्यादा ग्रीन दिखने लगता था, जबकि लाइव Maguyva एक्सट्रैक्टर अब भी ग़लत एज उत्सर्जित कर रहा होता था। यह नियम फ़िक्स को वापस असली पथ में ले जाने पर मजबूर करता है: YAML कॉन्फ़िग, क्वेरी, या हैंडलर।&lt;/p&gt;
&lt;h3 id=&quot;मल्टी-टियर-फ़िल्टरिंग&quot;&gt;मल्टी-टियर फ़िल्टरिंग&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-023&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Language engine uses three-tier filtering: external_method_patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (builtins/stdlib), allowlists (legitimate idioms), and expected_call_targets&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (validation-time deduplication). Each tier serves a distinct purpose.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Conflating filter purposes leads to either over-filtering (missing real&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    relationships) or under-filtering (noise).&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह एजेंट को ग़लत जगह फ़िल्टर जोड़ने से रोकता है, एक आम ग़लती जिसने सटीकता में रिग्रेशन पैदा किया था।&lt;/p&gt;
&lt;h2 id=&quot;ऑर्केस्ट्रेशन-सिस्टम-के-साथ-इंटीग्रेशन&quot;&gt;ऑर्केस्ट्रेशन सिस्टम के साथ इंटीग्रेशन&lt;/h2&gt;
&lt;p&gt;ग्राउंड ट्रुथ एक व्यापक कॉन्टेक्स्ट सिस्टम की एक लेयर हैं:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;आर्किटेक्चरल डिसीज़न (ADR)&lt;/strong&gt; - दर्ज करते हैं कि हमने अप्रोच A को B पर क्यों चुना&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ग्राउंड ट्रुथ&lt;/strong&gt; - बताते हैं कि अभी निश्चित रूप से क्या सच है&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;डोमेन पैटर्न&lt;/strong&gt; - बताते हैं कि चीज़ें सही तरीक़े से कैसे करें&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;एंटी-पैटर्न&lt;/strong&gt; - बताते हैं कि क्या टालना चाहिए और क्यों&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;सिस्टम में काम करने वाले किसी एजेंट के पास चारों तक पहुंच होती है। ग्राउंड ट्रुथ तथ्यात्मक आधार देते हैं, जबकि डिसीज़न इतिहास समझाते हैं, पैटर्न इम्प्लीमेंटेशन में मार्गदर्शन करते हैं, और एंटी-पैटर्न ख़तरों के प्रति आगाह करते हैं।&lt;/p&gt;
&lt;h2 id=&quot;प्रभाव-मापना&quot;&gt;प्रभाव मापना&lt;/h2&gt;
&lt;p&gt;ग्राउंड ट्रुथ लाने के बाद से, हमने देखा है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“हैलुसिनेटेड फ़िक्स को फ़िक्स करने” के चक्र कम हुए&lt;/li&gt;
&lt;li&gt;जब तथ्य स्पष्ट होते हैं तो एजेंट का फ़ैसला ज़्यादा भरोसेमंद होता है&lt;/li&gt;
&lt;li&gt;बेहतर PR समीक्षाएं क्योंकि अपेक्षाएं स्पष्ट हैं&lt;/li&gt;
&lt;li&gt;नए एजेंट (और इंसानों) के लिए घटा हुआ ऑनबोर्डिंग समय&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ग्राउंड ट्रुथ को बनाए रखने में किया गया निवेश कम डीबगिंग और स्पष्ट सिस्टम सीमाओं के रूप में फल देता है।&lt;/p&gt;
&lt;h2 id=&quot;शुरुआत-कैसे-करें&quot;&gt;शुरुआत कैसे करें&lt;/h2&gt;
&lt;p&gt;अपने सिस्टम में एक ग्राउंड ट्रुथ जोड़ने के लिए:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;अपने पैकेज की &lt;code&gt;ai_assets/reference/&lt;/code&gt; डायरेक्टरी में एक &lt;code&gt;ground_truths.yaml&lt;/code&gt; बनाएं&lt;/li&gt;
&lt;li&gt;मेटाडेटा और रेंडर कॉन्फ़िगरेशन परिभाषित करें&lt;/li&gt;
&lt;li&gt;स्कीमा का पालन करते हुए कथन जोड़ें&lt;/li&gt;
&lt;li&gt;डॉक्यूमेंटेशन जनरेट करने के लिए &lt;code&gt;uv run orkestra sync&lt;/code&gt; चलाएं&lt;/li&gt;
&lt;li&gt;एजेंट कॉन्टेक्स्ट कम्पोज़िशन में रजिस्ट्री शामिल करें&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;उन तथ्यों से शुरू करें जो सबसे ज़्यादा भ्रम पैदा करते हैं, या उन सीमाओं से जिनका सबसे ज़्यादा उल्लंघन होता है। यही आपके सबसे मूल्यवान ग्राउंड ट्रुथ हैं।&lt;/p&gt;
&lt;h2 id=&quot;निष्कर्ष&quot;&gt;निष्कर्ष&lt;/h2&gt;
&lt;p&gt;AI एजेंट हैलुसिनेट करेंगे। यह उनकी प्रकृति है। लेकिन हम ऐसे वातावरण बना सकते हैं जहां हैलुसिनेशन को सीमित किया जाए, जहां कुछ तथ्यों पर कोई समझौता न हो, जहां एजेंट अपनी धारणाओं को सत्यापित हक़ीक़त के विरुद्ध जांच सकें।&lt;/p&gt;
&lt;p&gt;ग्राउंड ट्रुथ कोई मुकम्मल समाधान नहीं हैं। उन्हें रखरखाव की ज़रूरत होती है। वे पुराने पड़ सकते हैं। वे डेवलपमेंट प्रक्रिया में ओवरहेड जोड़ते हैं।&lt;/p&gt;
&lt;p&gt;लेकिन वे कुछ मूल्यवान देते हैं: तथ्यों की एक साझा शब्दावली जिस पर इंसान और एजेंट, दोनों भरोसा कर सकते हैं। ऐसी दुनिया में जहां एजेंट सॉफ़्टवेयर डेवलपमेंट में बढ़ती हुई भागीदारी निभा रहे हैं, वह साझा नींव अनिवार्य हो जाती है।&lt;/p&gt;
&lt;p&gt;विकल्प है एजेंट के पूरे भरोसे के साथ ग़लतियां करते रहने और इंसानों के उन्हें सुधारते रहने का अंतहीन चक्र। ग्राउंड ट्रुथ सुधारों को स्पष्ट और टिकाऊ बनाकर उस चक्र को तोड़ते हैं।&lt;/p&gt;
&lt;p&gt;आपके एजेंट यह जानने के हक़दार हैं कि क्या सच है। उन्हें बताएं।&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Grounding</category></item><item><title>Orkestra: बड़े पैमाने पर AI एजेंट को ऑर्केस्ट्रेट करना</title><link>https://maguyva.ai/hi/blog/orkestra-agent-orchestration</link><guid isPermaLink="true">https://maguyva.ai/hi/blog/orkestra-agent-orchestration</guid><description>एक ऑर्केस्ट्रेटर काम को स्पेशलिस्ट AI एजेंट तक भेजता है, हर एक की अपनी अलग स्किल और मेमोरी होती है। जानें कि Orkestra प्रोडक्शन में 46 एजेंट और 466 स्किल को कैसे समन्वित करता है।</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस पोस्ट में दिए गए आंकड़े प्रकाशन के समय (जनवरी 2026) की सिस्टम स्थिति दर्शाते हैं। मौजूदा आंकड़ों के लिए हमारा &lt;a href=&quot;https://maguyva.ai/hi/team&quot;&gt;टीम पेज&lt;/a&gt; देखें।&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;जब हमने Claude Code के साथ बनाना शुरू किया, तो हम एक ऐसी समस्या में फंस गए जिसका सामना AI कोडिंग असिस्टेंट का उपयोग करने वाली हर टीम को आख़िरकार करना पड़ता है: एक अकेला एजेंट हर चीज़ अच्छी तरह नहीं कर सकता।&lt;/p&gt;
&lt;p&gt;आप किसी एजेंट को डेटाबेस स्पेशलिस्ट बनने के लिए प्रॉम्प्ट कर सकते हैं। या सिक्योरिटी ऑडिटर। या फ़्रंटएंड इंजीनियर। लेकिन जिस पल आप उससे एक साथ तीनों बनने के लिए कहते हैं, क्वालिटी बिगड़ जाती है। कॉन्टेक्स्ट पतला पड़ जाता है। निर्देश टकराते हैं। एजेंट एक ऐसा जनरलिस्ट बन जाता है जो हर चीज़ में औसत दर्जे का होता है।&lt;/p&gt;
&lt;p&gt;तो हमने Orkestra बनाया।&lt;/p&gt;
&lt;h2 id=&quot;orkestra-क्या-है&quot;&gt;Orkestra क्या है?&lt;/h2&gt;
&lt;p&gt;Orkestra, Claude Code और इसी तरह के AI कोडिंग टूल के लिए एक एजेंट ऑर्केस्ट्रेशन सिस्टम है। यह कई विशेषज्ञ एजेंट को समन्वित करता है, हर एक की अपनी अलग विशेषज्ञता होती है, एक ही ऑर्केस्ट्रेटर के अंतर्गत जो काम को सही स्पेशलिस्ट तक भेजता है।&lt;/p&gt;
&lt;p&gt;इसे AI एजेंट के लिए एक स्टाफ़िंग एजेंसी की तरह सोचें। ऑर्केस्ट्रेटर एक टास्क पाता है, यह पहचानता है कि किस स्पेशलिस्ट को इसे संभालना चाहिए, और सही कॉन्टेक्स्ट के साथ डेलिगेट करता है। जब काम पूरा हो जाता है, तो नतीजों को एक साथ जोड़ने के लिए वे वापस ऑर्केस्ट्रेटर के पास आते हैं।&lt;/p&gt;
&lt;p&gt;आंकड़े ख़ुद कहानी बताते हैं:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;कॉम्पोनेंट&lt;/th&gt;
&lt;th&gt;संख्या&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;स्पेशलिस्ट एजेंट&lt;/td&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;पुनः उपयोग योग्य स्किल&lt;/td&gt;
&lt;td&gt;466&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;आइडेंटिटी आर्किटाइप&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;माइंडसेट&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;कम्युनिकेशन स्टाइल&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;नॉलेज डोमेन&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;कैरेक्टर-सिस्टम-एजेंट-के-लिए-dd&quot;&gt;कैरेक्टर सिस्टम: एजेंट के लिए D&amp;amp;D&lt;/h2&gt;
&lt;p&gt;Orkestra के पीछे मुख्य इनसाइट यह है कि एजेंट का व्यवहार तीन कम्पोज़ेबल प्रिमिटिव से उभरता है:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Identity&lt;/strong&gt; परिभाषित करती है कि एजेंट &lt;em&gt;क्या&lt;/em&gt; है। एक आर्किटेक्ट सिस्टम संरचनाएं डिज़ाइन करता है। एक डीबगर विफलताओं को उनके मूल कारणों तक ट्रेस करता है। एक गार्डियन अनुपालन और सुरक्षा सीमाओं को लागू करता है। हमारे पास 27 आइडेंटिटी आर्किटाइप हैं जिन्हें मिलाया जा सकता है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mindset&lt;/strong&gt; परिभाषित करती है कि एजेंट &lt;em&gt;कैसे&lt;/em&gt; सोचता है। एक विश्लेषणात्मक माइंडसेट दावों को साक्ष्य पर आधारित करता है और अनिश्चितता को मात्रात्मक बनाता है। एक संशयवादी माइंडसेट धारणाओं पर सवाल उठाता है और खंडन करने वाला साक्ष्य खोजता है। एक अन्वेषणात्मक माइंडसेट अस्पष्टता को अपनाता है और कई अप्रोच आज़माता है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Style&lt;/strong&gt; परिभाषित करती है कि एजेंट &lt;em&gt;कैसे&lt;/em&gt; संवाद करता है। एक तकनीकी स्टाइल सटीक वैल्यू शामिल करती है और विशिष्ट फ़ाइलों का हवाला देती है। एक संक्षिप्त स्टाइल फ़ालतू बातें काटती है और जवाब से शुरुआत करती है। एक कूटनीतिक स्टाइल ईमानदारी को व्यवहार-कुशलता के साथ संतुलित करती है।&lt;/p&gt;
&lt;p&gt;एक एजेंट इन प्रिमिटिव को मिलाता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# architecture-advisor.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;identity&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;knowledge-architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;strategist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;mindset&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;analytical&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;concise&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह कम्पोज़िशन एक ऐसा एजेंट बनाता है जो सिस्टम डिज़ाइन करता है (architect), डोमेन में ज्ञान जोड़ता है (knowledge-architect), रणनीतिक दिशा तय करता है (strategist), साक्ष्य और डेटा में सोचता है (analytical), और बिना फ़ालतू बात के संवाद करता है (concise)।&lt;/p&gt;
&lt;p&gt;ताक़त कॉम्बिनेटोरियल विस्फोट में है। 27 आइडेंटिटी गुणा 11 माइंडसेट गुणा 10 स्टाइल लगभग 3,000 संभावित एजेंट व्यक्तित्व पैदा करता है। लेकिन आप सिर्फ़ वही कॉम्बिनेशन परिभाषित करते हैं जो आपके काम के लिए मायने रखते हैं।&lt;/p&gt;
&lt;h2 id=&quot;स्किल-पुनः-उपयोग-योग्य-क्षमता-मॉड्यूल&quot;&gt;स्किल: पुनः उपयोग योग्य क्षमता मॉड्यूल&lt;/h2&gt;
&lt;p&gt;स्किल वह ज्ञान और वर्कफ़्लो हैं जिन्हें एजेंट इनवोक कर सकते हैं। ये स्कोप के आधार पर एक स्तरीय सिस्टम का पालन करते हैं:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;स्तर&lt;/th&gt;
&lt;th&gt;नाम&lt;/th&gt;
&lt;th&gt;स्कोप&lt;/th&gt;
&lt;th&gt;उदाहरण&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;K0&lt;/td&gt;
&lt;td&gt;Foundations&lt;/td&gt;
&lt;td&gt;सार्वभौमिक कार्यप्रणाली&lt;/td&gt;
&lt;td&gt;Test-first discipline, साक्ष्य-आधारित पूर्णता&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K1&lt;/td&gt;
&lt;td&gt;Identities&lt;/td&gt;
&lt;td&gt;भूमिका-आधारित वर्कफ़्लो&lt;/td&gt;
&lt;td&gt;CLI इंटरफ़ेस मानक, परफ़ॉर्मेंस प्लेबुक&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K2&lt;/td&gt;
&lt;td&gt;Domains&lt;/td&gt;
&lt;td&gt;डोमेन-विशिष्ट ज्ञान&lt;/td&gt;
&lt;td&gt;डेटाबेस माइग्रेशन पैटर्न, ऑथेंटिकेशन वैलिडेशन&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K3&lt;/td&gt;
&lt;td&gt;Stacks&lt;/td&gt;
&lt;td&gt;टेक्नोलॉजी-विशिष्ट&lt;/td&gt;
&lt;td&gt;Cloudflare डिप्लॉयमेंट, Supabase ऑपरेशन&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K4&lt;/td&gt;
&lt;td&gt;Project&lt;/td&gt;
&lt;td&gt;सिर्फ़ यह कोडबेस&lt;/td&gt;
&lt;td&gt;प्रोजेक्ट-विशिष्ट वर्कफ़्लो और परंपराएं&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;स्किल लेज़ी-लोडेड होती हैं। एक एजेंट स्टार्टअप पर स्किल के नाम और विवरण देखता है, लेकिन पूरा स्किल कॉन्टेंट तभी लोड होता है जब वह ट्रिगर हो। यह सैकड़ों स्किल को खोजने योग्य बनाते हुए कॉन्टेक्स्ट को हल्का रखता है।&lt;/p&gt;
&lt;p&gt;हर स्किल में शामिल है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;स्पष्ट ट्रिगर शर्तें (“डेटाबेस स्कीमा माइग्रेट करते समय उपयोग करें”)&lt;/li&gt;
&lt;li&gt;चरण-दर-चरण मार्गदर्शन&lt;/li&gt;
&lt;li&gt;वर्कफ़्लो के लिए अनुमत टूल&lt;/li&gt;
&lt;li&gt;सफलता मानदंड और विफलता रिकवरी पथ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;हमारी रजिस्ट्री में मौजूद 466 स्किल git worktree पृथक्करण से लेकर वेब रिसर्च वर्कफ़्लो से लेकर डिप्लॉयमेंट हेल्थ वैलिडेशन तक सब कुछ कवर करती हैं।&lt;/p&gt;
&lt;h2 id=&quot;ऑर्केस्ट्रेशन-क्यों-मायने-रखता-है&quot;&gt;ऑर्केस्ट्रेशन क्यों मायने रखता है&lt;/h2&gt;
&lt;p&gt;सिंगल-एजेंट आर्किटेक्चर जल्दी दीवारों से टकरा जाते हैं:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;कॉन्टेक्स्ट डायल्यूशन।&lt;/strong&gt; 200k टोकन का कॉन्टेक्स्ट विंडो तब तक बड़ा लगता है जब तक आप डेटाबेस स्कीमा, API डॉक्स, टेस्ट फ़िक्स्चर, और डोमेन ज्ञान लोड नहीं करते। स्पेशलिस्ट टार्गेटेड कॉन्टेक्स्ट के साथ काम कर सकते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;निर्देश टकराव।&lt;/strong&gt; किसी एजेंट को “बारीकी से काम करो, लेकिन तेज़ी से” और “सब कुछ वेरिफ़ाई करो लेकिन ओवर-इंजीनियर मत करो” कहना तनाव पैदा करता है। स्पेशलिस्ट स्पष्ट स्कोप रखकर इन्हें सुलझाते हैं।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;विशेषज्ञता की गहराई।&lt;/strong&gt; एक जनरलिस्ट एजेंट हर चीज़ के बारे में थोड़ा-थोड़ा जानता है। सही identity और skills के साथ बना एक स्पेशलिस्ट एजेंट अपने डोमेन को गहराई से जानता है।&lt;/p&gt;
&lt;p&gt;Orkestra फ़्लैट ऑर्केस्ट्रेशन लागू करता है: एक ऑर्केस्ट्रेटर कई स्पेशलिस्ट को समन्वित करता है। स्पेशलिस्ट सब-स्पेशलिस्ट स्पॉन नहीं कर सकते। यह समानांतर काम को सक्षम करते हुए जटिलता के विस्फोट को रोकता है।&lt;/p&gt;
&lt;p&gt;ऑर्केस्ट्रेटर के पास प्रभावी क्षमता के 2.2 मिलियन टोकन तक पहुंच है: इसकी अपनी 200k विंडो, साथ ही 10 समवर्ती सबएजेंट, हर एक के पास 200k। जो काम एक अकेले एजेंट को थका देता, वह पूरे फ़्लीट में आराम से चल जाता है।&lt;/p&gt;
&lt;h2 id=&quot;रेंडरिंग-पाइपलाइन&quot;&gt;रेंडरिंग पाइपलाइन&lt;/h2&gt;
&lt;p&gt;एजेंट परिभाषाएं YAML में रहती हैं। Claude Code मार्कडाउन पढ़ता है। Orkestra एक डिटरमिनिस्टिक रेंडरिंग पाइपलाइन के साथ इस अंतर को पाटता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;YAML Registries → Jinja Templates → .claude/agents/*.md&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ऑपरेटर YAML सोर्स एडिट करते हैं। &lt;code&gt;orkestra sync&lt;/code&gt; चलाएं। रेंडर्ड मार्कडाउन &lt;code&gt;.claude/agents/&lt;/code&gt; में दिखाई देता है। Claude Code बदलाव उठा लेता है।&lt;/p&gt;
&lt;p&gt;यह अलगाव अलग-अलग ऑडियंस के काम आता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;YAML सोर्स&lt;/strong&gt; में टूलिंग के लिए लाइफ़साइकल मेटाडेटा, टैग, वैलिडेशन नियम, और डेप्रीकेशन नोट शामिल होते हैं&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;रेंडर्ड मार्कडाउन&lt;/strong&gt; में सिर्फ़ वही शामिल होता है जिसकी मॉडल को ज़रूरत है: विवरण, टूल, स्किल, और व्यवहार संबंधी मार्गदर्शन&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;पाइपलाइन identity, mindset, style, और skills को एक ही सुसंगत प्रॉम्प्ट में मिला देती है। एक architect-analytical-concise एजेंट को एक debugger-skeptical-technical एजेंट से बिल्कुल अलग सिस्टम प्रॉम्प्ट मिलता है, भले ही वे कुछ अंतर्निहित स्किल साझा करते हों।&lt;/p&gt;
&lt;h2 id=&quot;डोमेन-नॉलेज-चार-फ़ाइल-पैटर्न&quot;&gt;डोमेन नॉलेज: चार-फ़ाइल पैटर्न&lt;/h2&gt;
&lt;p&gt;हर नॉलेज डोमेन एक सुसंगत संरचना का पालन करता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;domain-name/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  decisions.md      # Key choices, rationale, consequences&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  patterns.md       # Step-by-step guidance and examples&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  anti-patterns.md  # Failure modes and remediation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  evolution.md      # Dated log of changes&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;यह संरचना एजेंट कॉन्टेक्स्ट लोडिंग के काम आती है। ऑथेंटिकेशन पर काम करने वाला कोई एजेंट मार्गदर्शन के लिए &lt;code&gt;authentication/patterns.md&lt;/code&gt; और जाने-पहचाने ख़तरों से बचने के लिए &lt;code&gt;authentication/anti-patterns.md&lt;/code&gt; लोड करता है। फ़ाइलें कुशल कॉन्टेक्स्ट लोडिंग के लिए आकार में रखी गई हैं: उपयोगी होने लायक़ फ़ोकस्ड, आधिकारिक होने लायक़ व्यापक।&lt;/p&gt;
&lt;p&gt;हम एनालिटिक्स, ऑथेंटिकेशन, डेटा साइंस, इन्फ़्रास्ट्रक्चर, मशीन लर्निंग, परफ़ॉर्मेंस, सिक्योरिटी, और अन्य सहित 21 टॉप-लेवल डोमेन बनाए रखते हैं। हर डोमेन में महीन ग्रैन्यूलैरिटी के लिए सब-डोमेन हो सकते हैं।&lt;/p&gt;
&lt;h2 id=&quot;values-ऑपरेटिंग-सिस्टम&quot;&gt;Values: ऑपरेटिंग सिस्टम&lt;/h2&gt;
&lt;p&gt;सभी एजेंट वैल्यू की एक बेस लेयर साझा करते हैं जो तय करती है कि वे कैसे ऑपरेट करते हैं:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;सादगी पहले।&lt;/strong&gt; ऐसा सबसे सरल समाधान उपयोग करें जो काम करे। जटिलता तभी जोड़ें जब वह जायज़ हो।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;मूल कारण ठीक करें।&lt;/strong&gt; विफलताओं के इर्द-गिर्द कभी पैच न लगाएं। अगर कोई पाइपलाइन फ़ेल होती है, तो पाइपलाइन डीबग करें। अगर कोई टेस्ट फ़ेल होता है, तो कोड या टेस्ट ठीक करें।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;साक्ष्य-आधारित।&lt;/strong&gt; दावों को “verified” (बेंचमार्क के साथ) या “अनुमानित” (धारणाओं के साथ) लेबल करें। पैटर्न मिलना समस्या की पुष्टि होने के बराबर नहीं है।&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;कॉन्टेक्स्ट इकोनॉमिक्स।&lt;/strong&gt; MCP टूल कॉन्टेक्स्ट का 0.1% ख़र्च करते हैं। फ़ाइल रीड हर एक 2% ख़र्च करती हैं। कोड एक्सप्लोर करने से पहले डोमेन विशेषज्ञता लागू करें।&lt;/p&gt;
&lt;p&gt;ये वैल्यू रेंडरिंग पाइपलाइन के ज़रिए हर स्पेशलिस्ट तक फैलती हैं। कोई एजेंट कम्पोज़िशन के ज़रिए इन्हें बायपास नहीं कर सकता।&lt;/p&gt;
&lt;h2 id=&quot;cli-कंट्रोल-प्लेन&quot;&gt;CLI: कंट्रोल प्लेन&lt;/h2&gt;
&lt;p&gt;Orkestra एजेंट इकोसिस्टम को मैनेज करने के लिए एक CLI के साथ आता है:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Discovery&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; database-architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Validation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --show-warnings&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Rendering&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --dry-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; schema-migration-workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Decisions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;authentication&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;CLI इस बात का सच्चाई का स्रोत है कि कौन-से एजेंट मौजूद हैं, उनके पास कौन-सी स्किल हैं, और सिस्टम स्वस्थ है या नहीं। यह समस्याओं को जल्दी पकड़ने के लिए सिंक से पहले वैलिडेशन चलाता है।&lt;/p&gt;
&lt;h2 id=&quot;ओपन-सोर्स-पर-विचार&quot;&gt;ओपन सोर्स पर विचार&lt;/h2&gt;
&lt;p&gt;हमने Orkestra अपनी ही समस्या हल करने के लिए बनाया: एक जटिल कोडबेस के लिए बड़े पैमाने पर AI एजेंट को समन्वित करना। जो पैटर्न हमने खोजे, वे हमारे डोमेन तक सीमित नहीं हैं।&lt;/p&gt;
&lt;p&gt;कैरेक्टर कम्पोज़िशन सिस्टम (identity + mindset + style) किसी भी टीम पर लागू होता है जो एजेंट व्यक्तित्व परिभाषित करती है।&lt;/p&gt;
&lt;p&gt;स्किल टियर सिस्टम (K0-K4) स्कोप के हिसाब से पुनः उपयोग योग्य क्षमताओं को व्यवस्थित करने के लिए एक मानसिक मॉडल देता है।&lt;/p&gt;
&lt;p&gt;रेंडरिंग पाइपलाइन पैटर्न (YAML सोर्स + टेम्पलेट + जनरेट किए गए आर्टिफ़ैक्ट) टूलिंग और मॉडल कंज़म्पशन के बीच सरोकार अलग करता है।&lt;/p&gt;
&lt;p&gt;फ़्लैट ऑर्केस्ट्रेशन मॉडल (एक कोऑर्डिनेटर, कई स्पेशलिस्ट) समानांतरता को सक्षम करते हुए जटिलता से बचता है।&lt;/p&gt;
&lt;p&gt;क्या Orkestra ओपन सोर्स बनता है, यह इस पर निर्भर करता है कि क्या इन पैटर्न का Claude Code के साथ बना रहे दूसरों के लिए कोई मूल्य है। अगर आप उन्हीं दीवारों से टकरा रहे हैं जिनका हमने वर्णन किया, तो यह आर्किटेक्चर मदद कर सकता है।&lt;/p&gt;
&lt;h2 id=&quot;हमने-क्या-सीखा&quot;&gt;हमने क्या सीखा&lt;/h2&gt;
&lt;p&gt;Orkestra बनाने ने हमें सिखाया कि ऑर्केस्ट्रेशन एजेंट को ज़्यादा समझदार बनाने के बारे में नहीं है। यह उन्हें ज़्यादा केंद्रित बनाने के बारे में है।&lt;/p&gt;
&lt;p&gt;परफ़ेक्ट निर्देशों वाला एक अकेला एजेंट भी कॉन्टेक्स्ट ख़त्म कर बैठता है। सारी स्किल वाला एक अकेला एजेंट भी उलझ जाता है कि कौन-सी लागू करे। हर चीज़ बनने की कोशिश करने वाला एक अकेला एजेंट हर जगह औसत दर्जे के नतीजे देता है।&lt;/p&gt;
&lt;p&gt;चालीस स्पेशलिस्ट, हर एक अपने डोमेन में उत्कृष्ट, एक ऐसे ऑर्केस्ट्रेटर से समन्वित जो जानता है कि कब डेलिगेट करना है: यही वह तरीक़ा है जिससे हम शिप करते हैं।&lt;/p&gt;
&lt;p&gt;आर्किटेक्चर से कम मायने आंकड़े रखते हैं। आपको पांच एजेंट चाहिए हो सकते हैं, या पचास। सिद्धांत वही रहता है: क्षमता के बजाय कम्पोज़िशन, हर क्षेत्र में थोड़ा-थोड़ा जानने के बजाय विशेषज्ञता, व्यक्तिगत वीरता के बजाय समन्वय।&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Orkestra हमारे कोड इंटेलिजेंस प्लेटफ़ॉर्म, Maguyva के पीछे मौजूद एजेंट इकोसिस्टम को चलाता है। और जानना चाहते हैं? टीम से संपर्क करें।&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Open Source</category></item></channel></rss>