প্রকল্প সম্পর্কে

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 SDK-এর জন্য মাঙ্কি-প্যাচ ইনস্টল করে, সাথে 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` চারটি মোড অফার করে—ফরেনসিক (শুধুমাত্র রিড-অনলি পরিদর্শন, কোনো নেটওয়ার্ক বা সাবপ্রসেস নেই), মকড (ক্যাপসুল ক্যাশ থেকে মডেল এবং টুল কল ব্যবহার করে কমান্ডটি পুনরায় চালানো), সেমান্টিক (টোকেনের পরিবর্তে অর্থের বিচার করে, ০.০–১.০ সিমিলারিটি) এবং এক্স্যাক্ট (বাইট-এক্স্যাক্ট যোগ্যতা যার জন্য একটি ডিটারমিনিস্টিক এনভায়রনমেন্ট এবং প্রতি কলের জন্য সিড প্রয়োজন)। README স্পষ্টভাবে দাবি করে না যে এটি রিমোট LLM কলের এক্স্যাক্ট রিপ্লে করতে পারে। `nova diff` দুটি রানের তুলনা করে এবং `nova diff --assert-no-regressions` আচরণগত পরিবর্তনের ক্ষেত্রে নন-জিরো এক্সিট দেয়, যা সেই এজেন্টদের জন্য একটি CI গেট হিসেবে কাজ করে যারা গতকাল কাজ করলেও আজ ব্যর্থ হচ্ছে। গভর্ন্যান্স এবং লিনেজ: একটি লোকাল SQLite Asset Registry সাত ধরণের ভার্সনযুক্ত অ্যাসেট (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 স্কিমা ফ্রিজ পর্যন্ত ক্যাপসুলগুলো ফ্রোজেন নয়, এবং টুলটি কমপ্লায়েন্স ওয়ার্কফ্লো সমর্থন করে এমন প্রমাণ তৈরি করে, তবে সেগুলো সার্টিফাই করে না। README-তে উল্লিখিত লক্ষ্যিত দর্শকদের মধ্যে রয়েছে ML/প্ল্যাটফর্ম ইঞ্জিনিয়ার, HPC এবং রিসার্চ টিম, কমপ্লায়েন্স অফিসার, ইনসিডেন্ট রেসপন্ডার এবং এজেন্ট-ফ্রেমওয়ার্ক লেখক।