منصوبے کے بارے میں
ripr اسٹیٹک میوٹیشن-ایکسپوزر اینالیسس کرتا ہے تاکہ ان خلاؤں (gaps) کی نشاندہی کی جا سکے جہاں ٹیسٹ تبدیل شدہ رویے تک تو پہنچتے ہیں لیکن ان میں خرابی کو پکڑنے کے لیے مرکوز assertions کی کمی ہوتی ہے۔ یہ PR diffs کو پڑھتا ہے اور ٹیسٹ-صرف مرمتات کو انسانوں یا کوڈنگ ایجنٹس کے لیے بھیجتا ہے۔
کلیدی صلاحیتیں:
- خلاؤں کی نشاندہی: ایسا تبدیل شدہ رویہ جس کے ٹیسٹ خرابی کو محسوس کرنے کے لیے بہت کمزور ہیں، ہر ایک کے ساتھ ایک مستحکم canonical ID ہوتی ہے
- ریپیئر کارڈز کی تیاری: کیا assert کرنا ہے، کہاں، اور موجودہ ثبوت کیوں کمزور ہے
- باؤنڈڈ پیکٹس کی تیاری: ٹیسٹ-صرف ورک آرڈرز جو اجازت یافتہ فائلوں، ممنوعہ فائلوں اور سٹاپ کنڈیشنز کی وضاحت کرتے ہیں
- مرمت کی جانچ کے لیے verify کمانڈز (مثلاً cargo test, pytest) فراہم کرتا ہے
- اس بات کو ثابت کرنے کے لیے before/after رسیدیں ریکارڈ کرتا ہے کہ آیا خلا واقعی ختم ہوئے
یہ ٹول gap → fix → verify ایجنٹ لوپ کے ذریعے کام کرتا ہے۔ بنیادی کمانڈ `ripr check` تبدیلیوں کا تجزیہ کرتی ہے اور منتخب کردہ خلاؤں اور ثبوت کے اشاروں کے ساتھ ایک باؤنڈڈ اسٹارٹنگ روٹ واپس کرتی ہے۔ ایک دو مرحلہ وار ریپیئر ٹرانزیکشن (`ripr agent repair --phase before/after`) ثبوتوں کے انتظام کو سنبھالتی ہے جبکہ انسان یا بیرونی ایجنٹ ٹیسٹ ایڈٹ کا مالک ہوتا ہے۔
ripr اپنی پوزیشن کوریج (کیا لائنیں رن ہوئیں؟) اور میوٹیشن ٹیسٹنگ (کیا اصل میوٹنٹس کے ساتھ ٹیسٹ ناکام ہوئے؟) کے درمیان رکھتا ہے۔ یہ اسٹیٹک اور مشورتی ہے—یہ میوٹنٹس نہیں چلاتا، killed/survived نتائج کی رپورٹ نہیں کرتا، کوریج کی جگہ نہیں لیتا، یا ٹیسٹ کی کفایت کا دعویٰ نہیں کرتا۔
زبان کی سپورٹ: Rust/Cargo gap-repair قابل استعمال alpha ہے۔ Python pytest/unittest repair-routing قابل استعمال alpha ہے۔ TypeScript opt-in preview ہے۔ Perl preview/advisory ہے۔
تقسیم کے ذرائع: CLI (cargo install)، VS Code extension، Open VSX، اور `ripr init --ci github` کے ذریعے CI انٹیگریشن۔ اس کے لیے Rust ≥1.95 اور Git کی ضرورت ہے، اور اسے Git ریپوزٹری کے اندر چلایا جائے۔ لائسنس MIT OR Apache-2.0 ہے۔
یہ ریپوزٹری (ripr-swarm) قابل اعتماد ایجنٹ اور مینٹینر PRs کے لیے ڈویلپمنٹ ٹرنک ہے؛ EffortlessMetrics/ripr ریپوزٹری ریلیز اور تقسیم کی اتھارٹی ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.