> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# تدقيق الجلسات السابقة (تجريبي)

> عد عدد المرات التي فعل فيها الوكيل أشياء مهدرة أو محفوفة بالمخاطر عبر النصوص السابقة

<Note>
  **ميزة تجريبية.** يشحن التدقيق كإصدار تجريبي بينما نجمع التعليقات المبكرة.
  قد يتغير كتالوج الكاشف وتنسيق التقرير قبل الإصدار المستقر التالي. يرجى فتح مشكلة إذا بدا شيء غير صحيح.
</Note>

يعيد التدقيق تشغيل نصوص عامل CLI السابقة عبر محرك السياسة الخاص بـ failproofai ويعرض تقريراً مشاركاً وبصرياً على **صفحة لوحة التحكم `/audit`** — نموذج الوكيل الأصلي، نقطة من 0–100، وبالضبط أي سياسات كان يمكن أن تلتقط ماذا.

## قم بتشغيله

ثلاث طرق للدخول — جميعها تصل إلى نفس تقرير `/audit`.

<CodeGroup>
  ```bash npx (بدون تثبيت) theme={null}
  npx -y failproofai audit
  ```

  ```bash failproofai audit theme={null}
  failproofai audit
  ```

  ```bash failproofai (لوحة التحكم) theme={null}
  failproofai
  ```
</CodeGroup>

<CardGroup cols={3}>
  <Card title="بدون تثبيت" icon="bolt">
    `npx -y failproofai audit` يجلب failproofai، ويقوم بتشغيل الفحص، ويفتح لوحة التحكم لك — لا حاجة لتثبيت شيء مسبقاً.
  </Card>

  <Card title="من واجهة سطر الأوامر" icon="terminal">
    `failproofai audit` يقوم بتشغيل الفحص في محطتك، ثم يفتح `localhost:8020/audit` تلقائياً عند انتهائه.
  </Card>

  <Card title="من لوحة التحكم" icon="gauge">
    قم بتشغيل `failproofai` وانقر على **Audit** في شريط التنقل (بين Policies و Projects)، أو افتح `/audit` مباشرة.
  </Card>
</CardGroup>

<Tip>
  قم بتشغيل `failproofai audit -h` (أو `--help`) لرؤية الاستخدام. يعمل التدقيق **بالكامل بدون اتصال** — لا تحتاج إلى حساب أو شبكة — ولوحة التحكم تستمر في الخدمة حتى توقفها بـ `Ctrl+C`.
</Tip>

تقوم لوحة التحكم بفحص نصوص وكيل CLI السابقة على هذا الجهاز (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi) وتقرر كم مرة فعل الوكيل أشياء تم بناء failproofai لإيقافها — فحوصات متغيرات البيئة، الدفعات القسرية، البادئات `cd <cwd>` الزائدة، حلقات الانتظار بالنوم، إعادة قراءة الملفات التي تم تحريرها للتو، وغير ذلك.

لكل نص، يتم إعادة تشغيل كل حدث استخدام أداة عبر السياسات المدمجة البالغ عددها 39 **و** عبر 8 كواشف خاصة بالتدقيق فقط التي تلتقط الأنماط التي لم تغطها السياسات الوقتية بعد. يتم تجميع الأعداد لكل سياسة / كاشف عبر جميع الجلسات.

## ما ستحصل عليه

صفحة `/audit` عبارة عن **ملصق** واحد على شاشة واحدة وقابل للمشاركة متبوعاً بأربعة أقسام أسفل الصفحة:

1. **الملصق** — هوية الوكيل للوهلة الأولى: **نموذجه الأصلي** (أحد 8 — `optimist`، `cowboy`، `explorer`، `goldfish`، `paranoid architect`، `precision builder`، `hammer`، `ghost`)، كلماته الأساسية في الشخصية، مدى ندرة هذا النموذج الأصلي، و **نقطة من 0–100** مع فئة (`S` وحتى `bottom tier`). تم بناؤه للمشاركة — انشر على X أو LinkedIn، أو نزّله كملف PNG.
2. **`// strengths`** — ما يفعله الوكيل جيداً بالفعل، كأرقام حقيقية من الفحص (مثل clean-tool-call %، `0` محاولات push-to-main)، موضحة فقط حيث تحتوي السياسة ذات الصلة على سجل نظيف.
3. **`// quirks`** — ما انزلق: جدول مرتب من السلوكيات التي كان يمكن لـ failproofai اكتشافها — *متى* حدثت آخر مرة، *ما انزلق* (والمدمج الذي كان سيحجبه)، *شدتها*، وكم مرة تمت رؤيتها (`new` / `recurring` / `N× seen`).
4. **`// how to improve`** — قائمة الإصلاح الموصوف: صف واحد لكل سياسة مع نسخ لصق `failproofai policy add <slug>`، بالإضافة إلى زر **install all** يفعّل كل توصية مرة واحدة ويظهر **المجموع المتوقع** الخاص بك إذا فعلت ذلك.
5. **`// come back better`** — بناء العادة: عيّن تذكير إعادة تدقيق بالبريد الإلكتروني **reminder** (`3d` / `7d` / `14d` / `30d`) أو أعد التدقيق الآن، و **ادعُ صديقاً** لتشغيل التدقيق الخاص به (مرسل من failproof.ai، مع نسخة موجهة إليك). تتطلب التذكيرات والدعوات تسجيل الدخول — انظر [`failproofai auth`](/ar/cli/auth).

## كواشف التدقيق فقط

هذه تكتشف أنماط السلوك الحمقاء غير المطبقة (بعد) في الوقت الفعلي. تعمل فقط أثناء التدقيق ولا تحجب أبداً استدعاء أداة مباشرة.

| الكاشف                      | ما يحسبه                                                                           |
| --------------------------- | ---------------------------------------------------------------------------------- |
| `redundant-cd-cwd`          | أوامر Bash التي تبدأ بـ `cd <cwd> && …` حتى وإن كانت الأوامر تعمل بالفعل في `cwd`. |
| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` على ملف مصدر واحد — استخدم أداة `Read`.          |
| `prefer-edit-over-sed-awk`  | تحريرات في الموضع `sed -i` / `awk … > file` — استخدم أداة `Edit`.                  |
| `prefer-write-over-heredoc` | Heredoc / كتابة الملفات بـ `echo > file` متعدد الأسطر — استخدم أداة `Write`.       |
| `sleep-polling-loop`        | حلقات الانتظار `sleep N` الطويلة (≥ 30s) أو `while …; sleep …; done`.              |
| `find-from-root`            | `find /`, `find /home`, `find /usr`، إلخ. — حدد النطاق إلى `cwd` بدلاً من ذلك.     |
| `git-commit-no-verify`      | `git commit … --no-verify` / `-n`، يتخطى الخطافات.                                 |
| `reread-after-edit`         | `Read` لملف تم `Edit`/`Write` للتو في نفس الجلسة.                                  |

## الذاكرات المؤقتة

* **ذاكرة مؤقتة لكل نص** في `~/.failproofai/cache/audit/<sha1>.json` مفهرسة حسب `(mtime, size, engineVersion, detectorVersion)` — تُلغى تلقائياً عند تغيير النص أو رمز السياسة/الكاشف. يخزن كل إدخال أيضاً طابع زمني `cachedAt` كـ **بيانات وصفية TTL** (ليست جزءاً من مفتاح الذاكرة المؤقتة)؛ الإدخالات الأقدم من **7 أيام** يتم رفضها عند القراءة حتى لا تتجاوز النتائج طويلة الأجل القصد المتطور للكاشف.
* **ذاكرة مؤقتة للنتيجة الكاملة** في `~/.failproofai/audit-dashboard.json` (mode 0600). تسمح لوحة التحكم بالعرض الفوري عند التنقل دون إعادة التشغيل. يتم رفضها أيضاً عند القراءة بعد **TTL لمدة 7 أيام** — ثم `/audit` تسقط إلى حالتها الفارغة وتطالب بتشغيل جديد. انقر على `[ re-audit now ]` بالقرب من أسفل التقرير للتحديث — تعيد التدقيق ترسل `noCache: true`، لذا فهي تتجاوز ذاكرة التخزين المؤقت لكل نص وتعيد فحص كل نص بدلاً من إرجاع النتيجة المخزنة مؤقتاً؛ التشغيل يتدفق التقدم عبر شريط لاصق في الأعلى ويبدل النتيجة في المكان عند النجاح (لا إعادة تحميل للصفحة؛ فشل إعادة التدقيق يحافظ على التقرير السابق).

## ملاحظات

* **لا طفرة.** يعاد التدقيق في وضع القراءة فقط. يتم تخطي `warn-repeated-tool-calls` لأن الملف الجانبي لكل جلسة قد يتم تعديله بخلاف ذلك.
* **سياسات سير العمل المتخطاة.** سياسات `require-*-before-stop` تنطلق فقط عند أحداث `Stop` و `execSync` مقابل حالة git المباشرة — ليس لديها تفسير ذي مغزى من نوع "ما كان سيحدث في 2025"، لذا لا تظهر في أعداد التدقيق.
* **السياسات المخصصة المتخطاة.** الخطافات المخصصة التي يوفرها المستخدم لا يتم إعادة تشغيلها (قد تكون قد تغيرت منذ الجلسة الأصلية).
