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

NovaFabric AI और HPC रनों को पुनरुत्पादित (reproducible), तुलनीय और ऑडिट योग्य बनाने के लिए एक सेल्फ-होस्टेड कमांड-लाइन टूल है। इसकी वैल्यू यूनिट एक 'कैप्सूल' है: ~/.novafabric/capsules/ के तहत लिखा गया एक ULID-नामित डायरेक्टरी, जो किसी होस्टेड डेटाबेस में ट्रेस रो के बजाय एक निष्पादन के अवलोकन योग्य तथ्यों को रखता है। इसे `pip install novafabric` (Python 3.12+) के साथ इंस्टॉल करें; वैकल्पिक एक्सट्रा डैशबोर्ड, क्वेरी, सर्वर, अनुपालन और Sigstore सपोर्ट जोड़ते हैं, और `nova doctor --check-extras` रिपोर्ट करता है कि क्या गायब है। कैप्चर: `nova capture python my_agent.py --dataset data.csv` किसी भी कमांड के साथ काम करता है और इसमें किसी एप्लिकेशन परिवर्तन की आवश्यकता नहीं होती है। यह PYTHONPATH के माध्यम से एक sitecustomize.py लोडर इंजेक्ट करता है और OpenAI, Anthropic और MCP SDKs के लिए मंकी-पैच इंस्टॉल करता है, साथ ही httpx, requests, aiohttp और urllib3 पर वायर-लेवल हुक्स लगाता है, जिसमें एक लेयरिंग गार्ड होता है ताकि नेस्टेड कॉल एक ही रिकॉर्ड दें। OpenTelemetry GenAI सिमेंटिक-कन्वेंशन फ़ील्ड्स (temperature, top_p, max_tokens, seed, finish reasons और अधिक) निकाले जाते हैं। Claude Code, Cursor या Node/Go एजेंट जैसे गैर-पायथन क्लाइंट्स के लिए, दो पारदर्शी प्रॉक्सी — `nova api-proxy` और `nova mcp-proxy` — क्लाइंट को छुए बिना LLM और MCP ट्रैफ़िक को कैप्चर करते हैं। कैप्सूल सफलता और विफलता दोनों पर लिखे जाते हैं, इसलिए क्रैश को स्टेटस, एग्जिट कोड और एरर ब्लॉक के साथ रिकॉर्डेड एविडेंस के रूप में रखा जाता है। कैप्सूल सामग्री: capsule.yaml मेनिफेस्ट, trace.jsonl स्पैन, model-calls.jsonl, tool-calls.jsonl, env.lock, replay.yaml, इनपुट और आउटपुट (stdout/stderr), और redaction-proof.json। फाइनलाइजेशन से पहले हर आर्टिफैक्ट के खिलाफ सीक्रेट स्कैनिंग चलती है; बिना रिडक्शन प्रूफ वाला कैप्सूल `nova validate` के लिए अमान्य है और इसे एक्सपोर्ट नहीं किया जा सकता। रिप्ले और डिफ: `nova replay` चार मोड प्रदान करता है — फॉरेंसिक (केवल पढ़ने के लिए निरीक्षण, कोई नेटवर्क या सबप्रोसेस नहीं), मॉक्ड (कैप्सूल कैश से मॉडल और टूल कॉल के साथ कमांड को फिर से चलाना), सिमेंटिक (टोकन के बजाय अर्थ का निर्णय, 0.0–1.0 समानता) और एग्जैक्ट (बाइट-एग्जैक्ट पात्रता जिसके लिए एक नियतात्मक वातावरण और प्रति-कॉल सीड की आवश्यकता होती है)। README स्पष्ट रूप से रिमोट LLM कॉल्स के सटीक रिप्ले का दावा नहीं करता है। `nova diff` दो रनों की तुलना करता है, और `nova diff --assert-no-regressions` व्यवहारिक परिवर्तन पर नॉन-जीरो एग्जिट करता है, जिसे उन एजेंटों के लिए CI गेट के रूप में रखा गया है जो कल काम कर रहे थे और आज विफल हो रहे हैं। गवर्नेंस और लीनेज: एक स्थानीय SQLite एसेट रजिस्ट्री सात प्रकार के वर्जन वाले एसेट्स (model, agent, prompt, tool, dataset, evaluation, deployment) को स्टोर करती है, जिन्हें name@version के रूप में संबोधित किया जाता है और इनका लाइफसाइकिल डेवलपमेंट से आर्काइव तक चलता है; प्रमोशन केवल गवर्नेंस मेटाडेटा है और कुछ भी डिप्लॉय नहीं करता है। लीनेज लेयर प्रेक्षित बनाम अनुमानित कॉन्फिडेंस के साथ mechanical consumed, produced_by और replayed_from एजेस उत्सर्जित करती है, प्रोवेनेंस, ब्लास्ट-रेडियस और रिप्ले-चेन क्वेरीज़ का समर्थन करती है, और OpenLineage इवेंट्स के साथ W3C PROV-N एक्सपोर्ट उत्सर्जित कर सकती है। बड़े ग्राफ के लिए प्रयोगात्मक वैकल्पिक बैकएंड मौजूद हैं। `nova export-evidence` एक हस्ताक्षरित ZIP बनाता है जिसमें कैप्सूल, एक लीनेज सबग्राफ, in-toto DSSE एटेस्टेशन और ed25519 सिग्नेचर होते हैं, जिन्हें NovaFabric रनटाइम के बिना sha256sum और ed25519 वेरीफायर के साथ सत्यापित किया जा सकता है। उपयोगिता: प्रोजेक्ट बताता है कि यह कोई ऑर्केस्ट्रेटर, मॉडल ट्रेनर, इन्फरेंस सर्वर, वेक्टर DB, LLM गेटवे या CI रनर नहीं है, और यह कि जब रियल-टाइम डैशबोर्ड, अलर्टिंग और मल्टी-यूज़र एनालिटिक्स लक्ष्य हों, तो एक मैनेज्ड SaaS ऑब्जर्वेबिलिटी प्लेटफॉर्म कम मेहनत वाला होगा। सर्वर मोड और लाइव डैशबोर्ड को प्रयोगात्मक चिह्नित किया गया है, कैप्सूल एक नियोजित v1.0 स्कीमा फ्रीज तक फ्रोजन नहीं हैं, और टूल ऐसे साक्ष्य (evidence) उत्पन्न करता है जो अनुपालन वर्कफ़्लो का समर्थन करते हैं, न कि उन्हें प्रमाणित करते हैं। README में नामित लक्षित दर्शकों में ML/प्लेटफॉर्म इंजीनियर, HPC और रिसर्च टीमें, अनुपालन अधिकारी, इंसिडेंट रिस्पॉन्डर्स और एजेंट-फ्रेमवर्क लेखक शामिल हैं।