आर्किटेक्चर अवलोकन
DispatchAtlas पाँच केंद्रित वितरण पैकेजों का एक कार्यक्षेत्र है जो dispatchatlas
Python नामस्थान साझा करते हैं, साथ में एक मूल समुच्चय पैकेज। आर्किटेक्चर डोमेन अनुबंधों
को केंद्र में रखता है और बेंचमार्क जनन, समाधान, कैंपेन निष्पादन, विश्लेषण, दस्तावेज़ीकरण,
और रिलीज़ स्वचालन को बाहर की ओर ले जाता है। प्रत्येक निर्भरता भीतर की ओर,
dispatchatlas.core की ओर इंगित करती है — कभी समकक्ष पैकेजों के बीच बग़ल में नहीं और कभी
उपकरणों की ओर बाहर नहीं।
🧭 निर्भरता दिशा
dispatchatlas.lab
/ | \
v | v
dispatchatlas.bench | dispatchatlas.solve
\ | /
v v v
dispatchatlas.core
^
|
dispatchatlas.analytica
(स्थिर कैंपेन मैनिफ़ेस्ट को डेटा के रूप में भी पढ़ता है)प्रत्येक तीर का अर्थ है "आयात करता है"। सभी तीर dispatchatlas.core की ओर इंगित करते
हैं; कोई तीर बाहर या बग़ल में इंगित नहीं करता। dispatchatlas.analytica जानबूझकर
dispatchatlas.lab की ओर कोई तीर नहीं रखता: यह उन JSON मैनिफ़ेस्टों का उपभोग करता है
जिन्हें एक पूर्ण कैंपेन डिस्क पर छोड़ता है, न कि कैंपेन रनटाइम का स्वयं।
पैकेज मैनिफ़ेस्टों (packages/*/pyproject.toml) और प्रत्येक पैकेज के src/ वृक्ष में
आयात कथनों से व्युत्पन्न; 2026-06-10 को सत्यापित।
| परत | पैकेज | उत्तरदायित्व | आयात कर सकता है | आयात नहीं करना चाहिए |
|---|---|---|---|---|
| डोमेन | dispatchatlas.core | शेड्यूलिंग अनुबंध, मान्यता, उद्गम, बीज, क्रमबद्धन, प्रोटोकॉल। | केवल मानक पुस्तकालय और अनुमोदित हल्की निर्भरताएँ। | कोई अन्य DispatchAtlas पैकेज। |
| बेंचमार्क | dispatchatlas.bench | बेंचमार्क वर्गिकी, जनरेटर, कैटलॉग, साकारीकरण, उद्धरण प्रमाण। | dispatchatlas.core। | सॉल्वर, कैंपेन, विश्लेषण, या साइट रनटाइम कोड। |
| सॉल्वर | dispatchatlas.solve | सॉल्वर मेटाडेटा, रजिस्ट्री, आधाररेखाएँ, मेटाह्यूरिस्टिक्स, संकारक, वैकल्पिक अडैप्टर। | dispatchatlas.core। | बेंचमार्क जनरेटर, कैंपेन निष्पादक, विश्लेषण निर्यात, या साइट रनटाइम कोड। |
| कैंपेन | dispatchatlas.lab | पुनरुत्पाद्य कैंपेन विन्यास, बजट, चेकपॉइंट, पुनर्प्रयास, निष्पादन। | dispatchatlas.core, dispatchatlas.bench, dispatchatlas.solve। | विश्लेषण पैकेज या साइट रनटाइम आंतरिक। |
| विश्लेषण | dispatchatlas.analytica | सांख्यिकी, प्रकटीकरण फ़िल्टरिंग, प्रमाण बंडल, पोर्टल डेटासेट, CLI। | dispatchatlas.core, साथ ही JSON डेटा के रूप में पढ़े गए स्थिर कैंपेन मैनिफ़ेस्ट। | सजीव कैंपेन निष्पादन या साइट रनटाइम आंतरिक। |
| समुच्चय | dispatchatlas | मूल वितरण; संस्करण सतह उजागर करता है और अपने all extra के माध्यम से पाँच पैकेजों को फ़िक्स करता है। | रनटाइम पर कुछ नहीं; संयोजन extras के माध्यम से होता है। | — |
📦 पैकेज भूमिकाएँ
dispatchatlas.coreभीतरी सीमा है। यह साझा शेड्यूलिंग शब्दावली (ProblemSpec,Schedule, उद्देश्य, अवरोध), मान्यता, उद्गम और बीज वंशावली, प्रामाणिक क्रमबद्धन, और प्रोटोकॉल (BenchmarkProvider,Solver,ExperimentRunner,ResultRepository,DisclosurePolicy,AnalysisExporter) परिभाषित करता है जिन्हें प्रत्येक बाहरी पैकेज कार्यान्वित करता है। इसका मैनिफ़ेस्ट शून्य निर्भरताएँ घोषित करता है, अतः डोमेन हर जगह आयात-योग्य बना रहता है।dispatchatlas.benchडोमेन शब्दावली को बेंचमार्क प्रमाण में बदलता है: जनरेटर परिवार, डोमेन प्रोफ़ाइल, स्मोक व पूर्ण कैटलॉग, अभिलक्षण मीट्रिक, और एक उद्धरण मैट्रिक्स जो दर्ज करता है कि प्रत्येक परिवार की धारणाएँ कहाँ से आती हैं।dispatchatlas.solveशेड्यूल उत्पन्न करने वाली हर चीज़ का स्वामी है: सॉल्वर मेटाडेटा और क्षमता विवरणक, सॉल्वर रजिस्ट्री, रचनात्मक आधाररेखाएँ, क्रमचय मेटाह्यूरिस्टिक्स, NDSO परिवार, शेड्यूलिंग संकारक, और extras के पीछे रखे गए वैकल्पिक सटीक-सॉल्वर अडैप्टर।dispatchatlas.labबेंचमार्क और सॉल्वरों को चेकपॉइंट-युक्त, बजट-युक्त, परिवेश-मुद्रित कैंपेनों में नियतात्मक रन पहचानकर्ताओं के साथ संयोजित करता है, और प्रत्येक परिवार को प्रत्येक सॉल्वर से मिलाने वाली प्रयोज्यता मैट्रिक्स का स्वामी है। वही मैट्रिक्स कारण है कि यह core, bench, और solve को एक साथ देखने के लिए अनुमत एकमात्र पैकेज है: उन्हें जोड़ना ही वह काम है जिसके लिए यह मौजूद है।dispatchatlas.analyticaएक पूर्ण कैंपेन निर्देशिका —checkpoint.json,plan.json,environment.json, और परिणाम पंक्तियाँ — पढ़ता है और सांख्यिकीय सारांश, प्रमाण बंडल, रिपोर्ट ढाँचे, और पोर्टल डेटासेट उत्पन्न करता है। मैनिफ़ेस्ट-आधारित इनपुट विश्लेषण को केवल दर्ज किए गए कलाकृतियों से पुनरुत्पाद्य रखता है।dispatchatlas(मूल) पाँच पैकेजों को एक-कमांड स्थापना के लिए समुच्चित करता है और सार्वजनिक संस्करण सतह वहन करता है।
🔒 दिशा क्यों प्रवर्तित है
केवल-भीतर दिशा एक परीक्षित अनुबंध है, परिपाटी नहीं:
- परीक्षण-योग्यता। core बिना किसी सॉल्वर, कैंपेन, या विश्लेषण मशीनरी स्थापित किए समस्याओं और शेड्यूलों को मान्य करता है, अतः डोमेन परीक्षण केवल-मानक-पुस्तकालय आयातों के साथ चलते हैं। bench और solve एक-दूसरे को घसीटे बिना core अनुबंधों के विरुद्ध परीक्षण करते हैं।
- पुनरुत्पाद्यता। चूँकि
dispatchatlas.analyticaसजीव कैंपेन रनटाइम के बजाय दर्ज मैनिफ़ेस्टों का उपभोग करता है, कोई भी पूर्ण कैंपेन अपने कलाकृतियों से बाइट-दर-बाइट पुनः-विश्लेषित किया जा सकता है। - स्वतंत्र रिलीज़। प्रत्येक पैकेज अलग से निर्मित होता है और अपना संस्करण फ़िक्स करता है; एक सॉल्वर परिवर्तन चुपचाप बेंचमार्क या विश्लेषण व्यवहार नहीं बदल सकता।
आयात-सीमा परीक्षण tests/architecture/ में रहते हैं: test_import_boundaries.py
ast मॉड्यूल से प्रत्येक पैकेज स्रोत फ़ाइल को पार करता है और ऊपर की निषिद्ध-आयात तालिका
को पार करने वाले किसी भी आयात पर विफल होता है, और test_workspace_privacy.py निजी
अनुसंधान कलाकृतियों की रक्षा करता है। मूल AGENTS.md (§ Package Boundary Summary) उस
दिशा को प्रामाणिक रूप से बताता है और CONTRIBUTING.md उसे योगदानकर्ताओं तक पहुँचाता
है; यह पृष्ठ उन्हीं पर आधारित गहन विवरण है, और प्रत्येक pull request की समीक्षा इसी के
विरुद्ध होती है।
🌐 सार्वजनिक सतहें
site/ के अंतर्गत दस्तावेज़ साइट अनुमोदित निर्यातित डेटा का उपभोग करती है —
प्रकटीकरण-फ़िल्टर किए गए पोर्टल बंडल और प्रमाण सारांश। यह सजीव कैंपेन निष्पादित नहीं करती
और न ही प्रकटीकरण नीति को दरकिनार करती है।
🛠️ शासन सतहें
tools/ और CI सभी पैकेज कोड, बिल्ड कलाकृतियों, और रिपोर्टों का निरीक्षण कर सकते हैं। वे
बाहर से गुणवत्ता को गेट करते हैं और उत्पाद पैकेजों की रनटाइम निर्भरताएँ कभी नहीं होते।