इस प्रोजेक्ट के बारे में

Adrastea एक MIT-लाइसेंसित पायथन प्रोजेक्ट (3.10+) है जो स्वतंत्र कार्य निर्वाह के लिए एक "सहजीवी द्वि-इंजन" वास्तुकला का प्रस्ताव रखता है। इसका केंद्रीय विचार कार्य को एक भविष्यनिर्णायक निष्पादन परत और एक तर्क परत में बांटना है, जो केवल तब हस्तक्षेप करती है जब कुछ गलत हो जाए। **सिस्टम अल्फा — निर्धारक निष्पादन इंजन** अल्फा को होस्ट प्रक्रिया के रूप में वर्णित किया गया है जो पहले शुरू होती है। यह जीवनचक्र और बूटस्ट्रैप संभालती है, फिर बीटा को स्पाउन करने से पहले अपने पर्यावरण की पुष्टि और स्थिरीकरण करती है। इसके दायित्वों में एक कार्य शेड्यूलर शामिल है जो स्थानीय स्क्रिप्ट्स, बाइनरी और कार्य परिभाषाओं को डिस्पैच करता है, साथ ही एक स्थानीय प्रोग्राम रनर जो मानक I/O, त्रुटि लॉगिंग और प्रक्रिया आयु का प्रबंधन करता है, जिसमें पुनरुत्पादक निष्पादन पर जोर दिया गया है। एक RL प्लानर लेटेंसी, एक्सिट कोड, संसाधन उपयोग और आउटपुट वैधता जैसे परिणामों से जुड़े स्कोरिंग फ़ंक्शनों का उपयोग करके कार्य अनुक्रमों को गाइड करता है, और ऐतिहासिक एवं ट्यून्ड वजन के आधार पर निष्पादन शाखाएँ चुनने के लिए पथनफ़ाइंड हीयुरिस्टिक्स का उपयोग करता है। अल्फा ऑफ़लाइन, कम-ओवरहेड कार्यों जैसे पार्सिंग, प्रारूप एक्सट्रैक्शन और बेसलाइन टेस्ट एनालिसिस के लिए `http://127.0.0.1:11434` पर स्थानीय इनफ़रेंस रनटाइम (Ollama) से भी जुड़ता है। **सिस्टम बीटा — प्रायिक निर्णय और तर्क इंजन** बीटा अल्फा द्वारा स्थिरीकरण के बाद स्पाउन होता है और गैर-निर्धारक समस्याओं के लिए निर्णय परत के रूप में कार्य करता है। यह अल्फा के टेलीमेट्री, स्वास्थ्य मेट्रिक्स और कार्य प्रगति की निगरानी करता है, और अल्फा अप्रबंधित अपवादों, पर्यावरण ड्रिफ्ट, बारंबार विफलता अवस्थाओं या निष्पादन लूप से जूझता है तो हस्तक्षेप करता है। बीटा अल्फा के RL प्लानर द्वारा उपयोग किए जाने वाले पुरस्कार और पेनल्टी वजन को ट्यून् करने के लिए भी उत्तरदायी है, जिससे निष्पादन को अधिक उत्पादनक्षम मार्गों की ओर मोड़ा जा सकता है। बीटा एक स्वतंत्र लूप चलाता है जिसके चार निर्दिष्ट मोड हैं:idle/observe (निष्क्रिय निगरानी), triage & unstick (अवरोधक परिस्थितियों का रोगण), optimize (पूर्ण निष्पादन पथों से अनावश्यकताएँ निकालना), और discover & innovate (नए कार्य अनुक्रम और उद्देश्यों की परिकल्पना करना)। यह बाह्य उपकरणों और लाइव संदर्भ के लिए MCP सर्वर्स से एकीकृत है, और गहन तर्क, रणनीतिक निर्णय, कोड जनरेशन तथा त्रुटिनिवारण के लिए Frontier या बाह्य LLMs से भी परामर्श ले सकता है। **प्रक्रिया-अंतर संचार** अल्फा और बीटा समकालिक प्रक्रियाओं के रूप में काम करते हैं जो डोमेन सॉकेट्स, नेम्ड पाइप्स या मैसेज बस जैसे निम्न-लेटेंसी द्विदिशीय चैनल के माध्यम से संचार करते हैं, जिसमें संरचित JSON या Protocol Buffer एन्वेलप्स होते हैं। दस्तावेज़ीकृत नियंत्रण संकेतों में `SIG_SPAWN`, `SIG_HEARTBEAT`, `SIG_SLEEP`, `SIG_WAKE`, `SIG_TELEMETRY`, `SIG_STUCK`, `SIG_INTERRUPT`, `SIG_DISPATCH`, `SIG_MUTATE` और `SIG_TUNE_WEIGHTS` शामिल हैं। ये मिलकर प्रक्रिया बूटस्ट्रैपिंग, लाइवनेस पिंग्स, नींद/जागृत संक्रमण, परिणाम रिपोर्टिंग, फँसी-अवस्था सूचना, कार्य निरस्तकरण, कतार इंजेक्शन, अस्थिर पैरामीटर बदलाव और RL वजन अद्यतन को कवर करते हैं। **कीप-अलाइव और लंबी-नींद मोड** एक `KeepAliveProcess` समन्वयक सिस्टम को लंबे समय तक सोने देता है ताकि CPU, मेमोरी और टोकन उपयोग कम किया जा सके, जबकि अल्फा का IPC TCP सर्वर `127.0.0.1:8765` पर, क्लाइंट चैनल और `DIRECTIVES.txt` वॉचर्स सक्रिय रहते हैं। हार्टबीट, जागृति, नींद और डिस्पैच के लिए संकेत रूटिंग तेज़ी से प्रतिक्रिया करने के लिए बनाई गई है; पृष्ठभूमि बीटा सबप्रोसेस और कार्य रनरों की पर्यवेक्षण रहती है और वे अप्रत्याशित रूप से समाप्त होने पर पुनर्जीवित हो जाते हैं; आने वाले दिशा-निर्देश या डिस्पैच संकेत नींद टाइमर का इंतज़ार किए बिना तुरंत सिस्टम को जगा देते हैं। **CLI** README में `python -m adrastea.cli keepalive --sleep-interval 300`, `ping`, `sleep --duration 600` और `wake` जैसे कमांड दस्तावेज़ित हैं। निर्दिष्ट पूर्व-shर्तएँ हैं: स्थानीय Ollama सर्वर (जिसमें `qwen3-coder:30b` या हल्के निर्देश मॉडल जैसे मॉडल शामिल हैं), MCP क्लाइंट कॉन्फ़िगरेशन, PowerShell, Bash, Python या Node जैसे स्थानीय निष्पादन रनटाइम, और एक असिंक क्रॉस-प्रोसेस ट्रांसपोर्ट। ध्यान दें कि README वास्तुकला उद्देश्य का वर्णन करता है और "मूल" कीप-अलाइव भाषा शामिल है; कोई बेंचमार्क या प्रदर्शन आंकड़े प्रदान नहीं किए गए हैं, इसलिए वर्णित व्यवहार को प्रोजेक्ट के डिज़ाइन लक्ष्यों के रूप में देखा जाना चाहिए, मापे गए परिणामों के रूप में नहीं। `main` के खिलाफ फ़ॉर्क, फ़ीचर ब्रांच और पुल रिक्वेस्ट के माध्यम से योगदान स्वागत योग्य हैं।