इस प्रोजेक्ट के बारे में
Bug Manager ब्राउज़र-आधारित, पूरी तरह सिम्युलेटेड एजेंटिक बग प्रबंधन प्रदर्शन है, जिसे एक केस स्टडी के सार्वजनिक सहयोगी डेमो के रूप में प्रकाशित किया गया है। इस डेमो में कुछ भी वास्तविक कोड स्कैन नहीं करता, किसी भाषा मॉडल को कॉल नहीं करता या नेटवर्क अनुरोध नहीं करता: हर रिपॉज़िटरी, फाइंडिंग, पुल रिक्वेस्ट और टिकट ब्राउज़र में जनरेट होता है, और एक नियत सीड से हमेशा वही 156 फाइंडिंग्स बनती हैं।
डेमो क्या दिखाता है
- एजेंट बारह काल्पनिक रिपॉज़िटरी स्कैन करते हैं और जो खोजते हैं उसे रैंक करते हैं।
- एजेंट जिस भी फाइंडिंग को ठीक कर सकता है, उसके लिए वह प्रस्तावित सुधार के साथ एक पुल रिक्वेस्ट खोलता है और एक टिकट लॉग करता है।
- इसके बाद एक टीम एक ही स्प्रिंट में रैंक की गई सूची पर काम करके उसे कम करती है।
इसे चलाना
प्रोजेक्ट एक छोटा स्टैटिक सर्वर देता है, जिसमें कोई इंस्टॉल चरण या निर्भरता नहीं है:
python3 serve.py # http://0.0.0.0:8430/
python3 serve.py --port 9000 # दूसरा पोर्ट
केवल public/ डायरेक्टरी सर्व की जाती है, डायरेक्टरी लिस्टिंग अक्षम होती है, और सर्वर एक सख्त Content-Security-Policy भेजता है। इसे चालू रखने के लिए एक systemd यूज़र यूनिट शामिल है, जिसमें लिंगरिंग सक्षम होने से सेवा बूट पर प्रारंभ होती है। चूंकि सर्वर किसी भी Host हेडर को स्वीकार करता है, रिवर्स प्रॉक्सी किसी डोमेन नाम को सीधे उससे मैप कर सकता है। सभी एसेट URL सापेक्ष हैं, इसलिए public/ को किसी स्टैटिक होस्ट के किसी भी फोल्डर में भी रखा जा सकता है।
संरचना
- public/index.html — ऐप शेल (टॉप बार, स्टेटस बार, कार्ड, वर्कस्पेस, ड्रॉअर, About डायलॉग)
- public/assets/app.js — डेटा जनरेटर, स्कैन, रैंकिंग, फ़िल्टर, ड्रॉअर, बर्न-डाउन स्प्रिंट
- public/assets/app.css — सभी स्टाइल, लाइट और डार्क थीम, कोई बाहरी फ़ॉन्ट नहीं
- public/assets/theme-init.js — पहले पेंट से पहले सहेजी गई या सिस्टम थीम लागू करता है
- serve.py — सख्त Content-Security-Policy वाला स्टैटिक सर्वर
- bug-manager.service — systemd यूज़र यूनिट
ऐप आत्मनिर्भर है: यह किसी दूसरे ओरिजिन से कोई फ़ॉन्ट, स्क्रिप्ट या इमेज लोड नहीं करता, और CSP (default-src 'self', connect-src 'none', कोई इनलाइन स्टाइल नहीं) इसे लागू करता है।
उपयोग
- ऐप एक पूर्ण स्कैन के साथ खुलता है; "Run scan" स्कैन को शुरू से फिर से चलाता है।
- किसी रिपॉज़िटरी पर क्लिक करने से फाइंडिंग्स फ़िल्टर होती हैं; किसी फाइंडिंग पर क्लिक करने से कोड, रीज़निंग, पुल रिक्वेस्ट, टिकट और रैंकिंग स्पष्टीकरण वाला विवरण ड्रॉअर खुलता है।
- "Play sprint" दस दिनों में सर्वोच्च रैंक वाली फाइंडिंग्स बंद करता है, और "Burn-down" टैब उसकी तुलना उतनी ही फाइंडिंग्स को बिना किसी विशेष क्रम में बंद करने से करता है।
- About बताता है कि क्या सिम्युलेटेड है और केस स्टडी से लिंक करता है।
सिमुलेशन कैसे काम करता है
- फाइंडिंग्स: 12 काल्पनिक रिपॉज़िटरी में डेटा कंसिस्टेंसी, विफलता जोखिम, सुरक्षा और कोड स्मेल को कवर करने वाले टेम्पलेट्स से एक नियत रैंडम सीड का उपयोग करके 156 फाइंडिंग्स जनरेट होती हैं।
- रैंकिंग: केवल उदाहरणात्मक है — जोखिम स्कोर = गंभीरता वेट × (1 + रिपॉज़िटरी का क्लाइंट एक्सपोज़र) × एजेंट का कॉन्फ़िडेंस।
- पुल रिक्वेस्ट: किसी फाइंडिंग के लिए सिम्युलेटेड पुल रिक्वेस्ट तब मिलती है, जब तक एजेंट का कॉन्फ़िडेंस कम न हो या सुधार के लिए डिज़ाइन निर्णय की आवश्यकता न हो; ऐसे मामले में इसे इंजीनियर के लिए फ़्लैग किया जाता है।
- बर्न-डाउन: दस दिन का स्प्रिंट पहले सर्वोच्च रैंक वाली फाइंडिंग्स बंद करता है, और चार्ट उसकी तुलना उतनी ही फाइंडिंग्स को बिना किसी विशेष क्रम में बंद करने से करता है।
केस स्टडी के पीछे का वास्तविक सिस्टम वास्तविक रिपॉज़िटरी पर Claude एजेंट चलाता था, और उसकी फाइंडिंग्स गोपनीय हैं; यह डेमो अंतर्निहित विश्लेषण के बजाय वर्कफ़्लो और प्रस्तुति को फिर से बनाता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.