diff --git a/docs/ar/cli/audit.mdx b/docs/ar/cli/audit.mdx
index f3330beec..7a338c22f 100644
--- a/docs/ar/cli/audit.mdx
+++ b/docs/ar/cli/audit.mdx
@@ -1,57 +1,88 @@
---
---
title: تدقيق الجلسات السابقة (نسخة تجريبية)
-description: "عد عدد المرات التي قام بها الوكيل بأشياء مهدرة أو محفوفة بالمخاطر عبر النصوص السابقة"
+description: "عد عدد مرات قيام الوكيل بأشياء مهدرة أو محفوفة بالمخاطر عبر النصوص السابقة"
---
- **ميزة تجريبية.** يتم شحن التدقيق كنسخة تجريبية أثناء جمع التعليقات المبكرة.
- قد يتغير كتالوج الكاشف وتنسيق التقرير قبل الإصدار المستقر التالي. يرجى فتح مشكلة إذا بدا أي شيء غير صحيح.
+ **ميزة تجريبية.** يتم شحن التدقيق كنسخة تجريبية أثناء جمعنا للملاحظات المبكرة.
+ قد يتغير كتالوج الكاشف وتنسيق التقرير قبل الإصدار المستقر التالي. يرجى فتح مشكلة إذا بدا شيء ما غير صحيح.
-التدقيق الآن معروض كصفحة **/لوحة تحكم التدقيق**، وليس كأمر فرعي في سطر الأوامر. افتحه من شريط التنقل في لوحة التحكم (بين السياسات والمشاريع)، أو قم بزيارة `http://localhost:8020/audit` مباشرة عند تشغيل `failproofai` محليًا.
+يعيد التدقيق تشغيل نصوص وكيل CLI السابقة لديك من خلال محرك سياسة failproofai ويعرض تقرير بصري قابل للمشاركة على **صفحة لوحة المعلومات `/audit`** — نمط وكيلك، درجة من 0 إلى 100، وبالضبط أي السياسات كان يمكن أن تحتفظ بما.
-```bash
-failproofai # open the dashboard, then click "Audit"
+## تشغيله
+
+ثلاث طرق للدخول — كلها تؤدي إلى نفس تقرير `/audit`.
+
+
+
+```bash npx (no install)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-تقوم لوحة التحكم بمسح نصوص CLI للوكيل السابقة على هذه الآلة (Claude Code وCodex وCopilot وCursor وOpenCode وPi وGemini) وتقرير عدد المرات التي قام بها الوكيل بأشياء تم بناء failproofai لإيقافها — فحوصات متغيرات البيئة والدفع القسري والبادئات `cd ` الزائدة ودورات sleep-polling وإعادة قراءة الملفات المحررة للتو والمزيد.
+```bash failproofai (dashboard)
+failproofai
+```
+
+
+
+
+
+ يجلب `npx -y failproofai audit` failproofai، ويشغل الفحص، ويفتح لوحة المعلومات لك — بدون تثبيت أولاً.
+
+
+ يشغل `failproofai audit` الفحص في المحطة الطرفية لديك، ثم يفتح `localhost:8020/audit` تلقائياً عند الانتهاء.
+
+
+ شغّل `failproofai` وانقر على **Audit** في شريط التنقل (بين Policies و Projects)، أو افتح `/audit` مباشرة.
+
+
+
+
+ شغّل `failproofai audit -h` (أو `--help`) لرؤية الاستخدام. يعمل التدقيق **بالكامل في وضع عدم الاتصال** — لا حساب أو شبكة مطلوبة — ولوحة المعلومات تستمر في الخدمة حتى تيقفها بـ `Ctrl+C`.
+
+
+تفحص لوحة المعلومات نصوص وكيل CLI السابقة على هذا الجهاز (Claude Code وCodex وCopilot وCursor وOpenCode وPi وGemini) وتبلغ عن عدد مرات قيام الوكيل بأشياء بنيت failproofai لإيقافها — فحوصات متغيرات البيئة والدفع القسري والبادئات الزائدة `cd ` وحلقات sleep-polling وإعادة قراءة الملفات المحررة للتو والمزيد.
-لكل نص، يتم إعادة تشغيل كل حدث استخدام أداة عبر 39 سياسة مدمجة **و** عبر 8 كواشف خاصة بالتدقيق فقط تلتقط الأنماط التي لم تغطها السياسات في وقت التشغيل بعد. يتم تجميع الأعداد لكل سياسة / كاشف عبر جميع الجلسات.
+لكل نص، يتم إعادة تشغيل كل حدث استخدام أداة من خلال 39 سياسة مدمجة **و** من خلال 8 كاشفات خاصة بالتدقيق فقط تحتفظ بالأنماط غير المغطاة حتى الآن بسياسات وقت التشغيل. يتم تجميع الأعداد لكل سياسة / كاشف عبر جميع الجلسات.
## ما تحصل عليه
-تتكون صفحة `/audit` من ستة أقسام:
+صفحة `/audit` هي **ملصق** على شاشة واحدة وقابل للمشاركة متبوعاً بأربع أقسام أسفل الطية:
-1. **الهوية** — يتم تصنيف وكيلك في إحدى النماذج الأصلية الثمانية (`optimist` و `cowboy` و `explorer` و `goldfish` و `paranoid architect` و `precision builder` و `hammer` و `ghost`) بناءً على الإشارة المرجحة عبر كل نص تم تدقيقه.
-2. **نقاط القوة** — أرقام حقيقية مشتقة من المسح (نسبة المكالمات النظيفة ومستند "0 credential leaks" وما إلى ذلك) محدودة بسياسات التعقيم ذات الصلة التي تعمل فعليًا.
-3. **النقاط** — من 0 إلى 100 مع فئات S/A/B/C/D/F والارتفاع المتوقع إذا تم تفعيل كل سياسة موصى بها.
-4. **النتائج** — بطاقات لكل سياسة توضح ما حدث والتكلفة والأدلة المرصودة والأمر `failproofai policy add ` الدقيق لتفعيل المدمج في وقت التشغيل الذي كان سيتقاطه.
-5. **السياسات الموصى بها** — قائمة التثبيت المجمعة مع أمر `failproofai policies --install` أحادي الضربة.
-6. **تذكير إعادة التدقيق** — "عد أفضل." قم بتعيين تذكير بريد إلكتروني لمدة 7 أيام عبر خادم API (يتطلب تسجيل الدخول؛ انظر [`failproofai auth`](/ar/cli/auth)).
+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 ` قابلة للنسخ واللصق، بالإضافة إلى زر **تثبيت الكل** الذي يمكّن كل توصية في نفس الوقت ويظهر **درجتك المتوقعة** إذا فعلت ذلك.
+5. **`// come back better`** — بناء العادة: اضبط **تذكير** إعادة التدقيق عبر البريد الإلكتروني (`3d` / `7d` / `14d` / `30d`) أو أعد التدقيق الآن، و**ادعُ صديقاً** لتشغيل التدقيق الخاص به (مرسل من failproof.ai مع نسخة لك). التذكيرات والدعوات تتطلب تسجيل الدخول — انظر [`failproofai auth`](/ar/cli/auth).
## كواشف خاصة بالتدقيق فقط
-تكتشف أنماط "السلوك الغبي" التي لم يتم (حتى الآن) فرضها في الوقت الفعلي. يتم تشغيلها فقط أثناء التدقيق ولا تحجب أبدًا استدعاء أداة مباشر.
+تكتشف أنماط السلوك الأحمق غير المفروضة (حتى الآن) في الوقت الفعلي. يتم تشغيلها فقط أثناء التدقيق ولا تحجب أبداً استدعاء أداة مباشرة.
| الكاشف | ما يعده |
|---|---|
-| `redundant-cd-cwd` | أوامر Bash تبدأ بـ `cd && …` على الرغم من أن الأوامر تعمل بالفعل في `cwd`. |
+| `redundant-cd-cwd` | أوامر Bash تبدأ بـ `cd && …` حتى عندما تعمل الأوامر بالفعل في `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` لملف تم تحريره للتو / `Write` في نفس الجلسة. |
+| `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/.json` مفهرسة بـ `(mtime, size, engineVersion, detectorVersion)` — تُلغى تلقائيًا عند تغيير النص أو رمز السياسة/الكاشف. تخزن كل مدخلة أيضًا طابع زمني `cachedAt` كـ **بيانات وصفية TTL** (وليس جزءًا من مفتاح الذاكرة المؤقتة)؛ يتم رفض الإدخالات الأقدم من **7 أيام** عند القراءة حتى لا تتجاوز النتائج طويلة الأمد النية المتطورة للكاشف.
-- **ذاكرة مؤقتة للنتيجة الكاملة** في `~/.failproofai/audit-dashboard.json` (الوضع 0600). يتيح لوحة التحكم العرض الفوري عند التنقل دون إعادة التشغيل. يتم رفضها أيضًا عند القراءة بعد **TTL لمدة 7 أيام** — `/audit` تندرج بعد ذلك إلى حالتها الفارغة وتطالب بتشغيل جديد. انقر على `[ re-audit now ]` بالقرب من أسفل التقرير للتحديث — يرسل إعادة التدقيق `noCache: true`، لذا فهو يتجاوز ذاكرة النص المؤقتة ويعيد مسح كل نص بدلاً من إرجاع النتيجة المخزنة مؤقتًا؛ يبث التشغيل التقدم عبر شريط لاصق علوي ويستبدل النتيجة في موضعها عند النجاح (لا إعادة تحميل الصفحة؛ تحتفظ إعادة التدقيق الفاشلة بالتقرير السابق).
+- **ذاكرة مؤقتة لكل نص** في `~/.failproofai/cache/audit/.json` مفهرسة حسب `(mtime, size, engineVersion, detectorVersion)` — تبطل تلقائياً عندما يتغير النص أو كود السياسة/الكاشف. يخزن كل إدخال أيضاً طابع زمني `cachedAt` كـ **بيانات وصفية TTL** (ليس جزءاً من مفتاح الذاكرة المؤقتة)؛ الإدخالات الأقدم من **7 أيام** يتم رفضها عند القراءة حتى لا تتجاوز النتائج طويلة العمر نية الكاشف المتطورة.
+- **ذاكرة مؤقتة للنتيجة الكاملة** في `~/.failproofai/audit-dashboard.json` (الوضع 0600). تسمح لوحة المعلومات بالعرض الفوري عند التنقل دون إعادة التشغيل. يتم رفضها أيضاً عند القراءة بعد **7 أيام TTL** — ثم `/audit` تسقط في حالتها الفارغة وتطلب تشغيل جديد. انقر على `[ re-audit now ]` بالقرب من أسفل التقرير للتحديث — إعادة التدقيق ترسل `noCache: true`، لذا تتجاوز ذاكرة التخزين المؤقت لكل نص وتعيد مسح كل نص بدلاً من إرجاع النتيجة المخزنة مؤقتاً؛ يعرض التشغيل تقدم التقدم عبر شريط لاصق في الأعلى ويستبدل النتيجة في مكانها عند النجاح (بدون إعادة تحميل الصفحة؛ فشل إعادة التدقيق يحتفظ بالتقرير السابق).
## ملاحظات
-- **لا طفرات.** يعاد التدقيق في الوضع الذي يقرأ فقط. يتم تخطي `warn-repeated-tool-calls` لأن الملف الجانبي الخاص بالجلسة سيتم تعديله وإلا.
-- **سياسات سير العمل المتخطاة.** سياسات `require-*-before-stop` تنطلق فقط عند أحداث `Stop` و `execSync` مقابل حالة git المباشرة — ليس لديها تفسير "ماذا كان سيحدث في 2025" ذي مغزى، لذلك لا تظهر في أعداد التدقيق.
-- **السياسات المخصصة المتخطاة.** الخطافات المخصصة المسماة من قبل المستخدم لا تتم إعادة تشغيلها (قد تكون قد تغيرت منذ الجلسة الأصلية).
\ No newline at end of file
+- **بدون تحوير.** يعيد التدقيق التشغيل في الوضع للقراءة فقط. يتم تخطي `warn-repeated-tool-calls` لأن ملف جانبي لكل جلسة سيتم تعديله بخلاف ذلك.
+- **سياسات سير العمل المتجاهلة.** تشغل سياسات `require-*-before-stop` فقط على أحداث `Stop` و `execSync` ضد حالة git المباشرة — ليس لديها تفسير معنوي "ماذا كان سيحدث في 2025"، لذا لا تظهر في أعداد التدقيق.
+- **السياسات المخصصة المتجاهلة.** لا يتم إعادة تشغيل الخطافات المخصصة التي يوفرها المستخدم (قد تكون تغيرت منذ الجلسة الأصلية).
\ No newline at end of file
diff --git a/docs/ar/dashboard.mdx b/docs/ar/dashboard.mdx
index 71cc5b996..2082cff29 100644
--- a/docs/ar/dashboard.mdx
+++ b/docs/ar/dashboard.mdx
@@ -1,11 +1,11 @@
---
---
title: لوحة المعلومات
-description: "مراقبة جلسات الوكيل، ومراجعة استدعاءات الأدوات، وإدارة السياسات"
+description: "مراقبة جلسات الوكيل، مراجعة استدعاءات الأدوات، وإدارة السياسات"
icon: chart-line
---
-لوحة معلومات failproofai هي تطبيق ويب محلي لمراقبة جلسات وكيل الذكاء الاصطناعي الخاص بك وإدارة السياسات. انظر ماذا فعل وكلاؤك بينما كنت بعيداً.
+لوحة معلومات failproofai هي تطبيق ويب محلي لمراقبة جلسات وكيل الذكاء الاصطناعي الخاص بك وإدارة السياسات. انظر إلى ما فعله وكلاؤك بينما كنت بعيداً.
---
@@ -25,75 +25,75 @@ failproofai
### المشاريع
-يسرد جميع مشاريع Claude Code و OpenAI Codex و GitHub Copilot CLI _(beta)_ و Cursor Agent _(beta)_ و OpenCode _(beta)_ و Pi _(beta)_ و Gemini CLI _(beta)_ الموجودة على جهازك. يتم اكتشاف مشاريع Claude من `~/.claude/projects/` (أو المسار المحدد بواسطة `CLAUDE_PROJECTS_PATH`)؛ يتم اكتشاف مشاريع Codex من خلال مسح كل نص تحت `~/.codex/sessions////*.jsonl` وتجميعها حسب `cwd` المسجل في السجل الأول من جلسة كل واحد؛ يتم اكتشاف مشاريع Copilot CLI من خلال مسح كل `~/.copilot/session-state//workspace.yaml` (قابل للتكوين عبر `COPILOT_HOME`) وتجميعها حسب حقل `cwd` الخاص به؛ يتم اكتشاف مشاريع Cursor Agent من خلال مسح البيانات الوصفية لكل جلسة تحت `~/.cursor/agent-sessions//` (قابل للتكوين عبر `CURSOR_HOME`، مع اختبار `conversations/` و `sessions/` كخيارات بديلة) بحثاً عن `cwd` قياسي في `meta.json` / `session.json` / `workspace.yaml`؛ يتم اكتشاف مشاريع OpenCode من خلال الاستعلام عن قاعدة بيانات SQLite الخاصة بها في `~/.local/share/opencode/opencode.db` عبر `opencode db --format json` (نقرأ جداول `session` و `project` ونجمعها حسب `project_id`)؛ يتم اكتشاف مشاريع Pi من خلال مسح نصوص JSONL لكل جلسة تحت `~/.pi/agent/sessions//_.jsonl` (قابل للتكوين عبر `PI_SESSIONS_DIR`) وسحب `cwd` من السجل الأول لكل جلسة؛ يتم اكتشاف مشاريع Gemini CLI من خلال مسح `~/.gemini/tmp//chats/session--.jsonl` (قابل للتكوين عبر `GEMINI_SESSIONS_DIR`) واسترجاع cwd القانوني من علامة نص الأخت `.project_root`. يتم عرض المشروع الذي تم استخدامه بواسطة عدة واجهات سطر أوامر كصف واحد بجميع الشارات المطابقة. استخدم القائمة المنسدلة **CLI** أعلى الجدول للتصفية حسب واجهة سطر أوامر وكيل معينة؛ يحافظ عنوان URL على اختيارك كـ `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
+تسرد جميع مشاريع Claude Code و OpenAI Codex و GitHub Copilot CLI _(beta)_ و Cursor Agent _(beta)_ و OpenCode _(beta)_ و Pi _(beta)_ و Gemini CLI _(beta)_ الموجودة على جهازك. يتم اكتشاف مشاريع Claude من `~/.claude/projects/` (أو المسار المحدد بواسطة `CLAUDE_PROJECTS_PATH`); يتم اكتشاف مشاريع Codex بفحص كل نسخة احتياطية تحت `~/.codex/sessions////*.jsonl` وتجميعها حسب `cwd` المسجل في السجل الأول لكل جلسة; يتم اكتشاف مشاريع Copilot CLI بفحص كل `~/.copilot/session-state//workspace.yaml` (قابل للتكوين عبر `COPILOT_HOME`) وتجميعها حسب حقل `cwd`; يتم اكتشاف مشاريع Cursor Agent بفحص البيانات الوصفية لكل جلسة تحت `~/.cursor/agent-sessions//` (قابل للتكوين عبر `CURSOR_HOME`، مع استكشاف `conversations/` و `sessions/` كخيارات بديلة) عن عددي `cwd` في `meta.json` / `session.json` / `workspace.yaml`; يتم اكتشاف مشاريع OpenCode بالاستعلام من قاعدة بيانات SQLite الخاصة بها في `~/.local/share/opencode/opencode.db` عبر `opencode db --format json` (نقرأ جداول `session` و `project` ونجمعها حسب `project_id`); يتم اكتشاف مشاريع Pi بفحص نسخ احتياطية JSONL لكل جلسة تحت `~/.pi/agent/sessions//_.jsonl` (قابل للتكوين عبر `PI_SESSIONS_DIR`) واستخلاص `cwd` من السجل الأول لكل جلسة; يتم اكتشاف مشاريع Gemini CLI بفحص `~/.gemini/tmp//chats/session--.jsonl` (قابل للتكوين عبر `GEMINI_SESSIONS_DIR`) واسترجاع cwd الأساسي من علامة نصية `.project_root` المجاورة. يتم عرض المشروع الذي تم استخدامه بواسطة عدة CLIs كصف واحد مع جميع الشارات المطابقة. استخدم القائمة المنسدلة **CLI** أعلى الجدول للتصفية حسب CLI وكيل معين; يحافظ الرابط على اختيارك كـ `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
يعرض كل مشروع:
-- اسم المشروع (مشتق من مسار المجلد)
-- شارة CLI — `Claude Code` (برتقالي)، `OpenAI Codex` (بنفسجي)، `GitHub Copilot` (أزرق)، `Cursor Agent` (زمردي)، `OpenCode` (كهرماني)، `Pi` (وردي)، و/أو `Gemini CLI` (سماوي)
-- تاريخ أحدث نشاط جلسة
+- اسم المشروع (المشتق من مسار المجلد)
+- شارة CLI — `Claude Code` (برتقالي)، `OpenAI Codex` (بنفسجي)، `GitHub Copilot` (أزرق)، `Cursor Agent` (أخضر، `OpenCode` (كهرماني)، `Pi` (وردي)، و/أو `Gemini CLI` (سماوي)
+- تاريخ نشاط الجلسة الأخيرة
-انقر على مشروع لرؤية جلساته.
+انقر فوق مشروع لرؤية جلساته.
### الجلسات
-يسرد جميع الجلسات داخل مشروع. تعرض كل جلسة:
-- معرّف الجلسة
-- طوابع زمنية البداية والنهاية
+تسرد جميع الجلسات ضمن مشروع. تعرض كل جلسة:
+- معرف الجلسة
+- الطوابع الزمنية للبداية والنهاية
- عدد استدعاءات الأدوات
-- عدد نشاط الخطاف (السياسات التي تم تطبيقها)
+- عدد نشاط hook (السياسات التي تم تفعيلها)
-استخدم مرشح نطاق التاريخ والبحث عن معرّف الجلسة لتضييق القائمة. يتم تقسيم الجلسات إلى صفحات.
+استخدم مرشح نطاق التاريخ والبحث عن معرف الجلسة لتضييق القائمة. يتم تقسيم الجلسات إلى صفحات.
-انقر على جلسة لفتح عارض الجلسة.
+انقر فوق جلسة لفتح عارض الجلسة.
### عارض الجلسة
-يجيب عارض الجلسة على السؤال الرئيسي للوكلاء المستقلين: ماذا فعل الوكيل، وهل ظل على المسار الصحيح؟ تشير شارة CLI بجانب الرأس إلى ما إذا كانت الجلسة نص Claude Code أو OpenAI Codex أو GitHub Copilot CLI أو Cursor Agent أو OpenCode أو Pi أو Gemini CLI. يعرض خطاً زمنياً لكل ما حدث في جلسة:
+يجيب عارض الجلسة على السؤال الأساسي للوكلاء المستقلين: ماذا فعل الوكيل، وهل ظل على المسار الصحيح؟ تشير شارة CLI بجانب الرأس إلى ما إذا كانت الجلسة نسخة Claude Code أو OpenAI Codex أو GitHub Copilot CLI أو Cursor Agent أو OpenCode أو Pi أو Gemini CLI. يعرض خطة زمنية لكل ما حدث في جلسة:
-- **الرسائل** - استجابات Claude النصية وطلبات المستخدم
-- **استدعاءات الأدوات** - كل أداة استدعاها Claude، مع مدخلاتها ومخرجاتها
-- **نشاط السياسة** - لكل استدعاء أداة، السياسات التي تم تطبيقها والقرار الذي أرجعته
+- **الرسائل** - الردود النصية من Claude ومحفوزات المستخدم
+- **استدعاءات الأدوات** - كل أداة استدعاها Claude، مع إدخالاتها ومخرجاتها
+- **نشاط السياسة** - لكل استدعاء أداة، السياسات التي تم تفعيلها والقرار الذي أرجعته
-يعرض شريط الإحصائيات في الأعلى مدة الجلسة وإجمالي استدعاءات الأدوات وملخص قرارات الخطاف (عدد السماح / الرفض / التعليمات).
+يعرض شريط الإحصائيات في الأعلى مدة الجلسة، إجمالي استدعاءات الأدوات، وملخص قرارات hook (عدادات السماح / الرفض / الإرشاد).
-انقر على زر **تنزيل السجلات** لتصدير الجلسة. بالنسبة لجلسات Claude Code و Codex و Copilot و Cursor و Pi و Gemini، ستحصل على نص JSONL الأصلي على القرص بالبايت الدقيق؛ بالنسبة لـ OpenCode (التي تعيش جلساتها في SQLite وليس على القرص) ستحصل على وثيقة JSON تعكس جداول `session` / `messages` / `parts` الأساسية.
+انقر على زر **تنزيل السجلات** لتصدير الجلسة. بالنسبة لجلسات Claude Code و Codex و Copilot و Cursor و Pi و Gemini، تحصل على نسخة النص الأصلية على القرص بالكامل; بالنسبة لـ OpenCode (التي تكون جلساتها في SQLite، وليس على القرص) تحصل على وثيقة JSON تعكس جداول `session` / `messages` / `parts` الأساسية.
### التدقيق
-تقرير مدفوع بالشخصية عن كيفية تصرف الوكيل الفعلي عبر الجلسات السابقة. يشغل نفس الفحص الذي يقوم به `failproofai audit` CLI ولكن يعرضه كملصق شاشة واحدة قابل للمشاركة + أربعة أقسام أسفل الطية:
+تقرير بطابع شخصي عن كيفية تصرف وكيلك فعلياً عبر الجلسات الماضية. يقوم بنفس المسح الذي يقوم به CLI `failproofai audit` لكن يعرضه كملصق واحد على الشاشة قابل للمشاركة + أربعة أقسام تحت الطية:
-1. **الملصق** — يملأ viewport الأول. منطقة ملتقطة من PNG مكتفية ذاتياً مع كلمة failproof_ai + تسمية التدقيق · فهرس الأنماط (`№ NN of 08`) + تاريخ التدقيق · درجة رقمية (0–100) + حبة تصنيف مئوي (`top 15%`) · اسم النمط (أحدها `the optimist` أو `the cowboy` أو `the explorer` أو `the goldfish` أو `the paranoid architect` أو `the precision builder` أو `the hammer` أو `the ghost`) + شريط 3 كلمات · `// only N% of agents are this archetype` سطر الندرة · بلاط sigil 8×8 بكسل · `audit yours → failproof.ai` تذييل. ثلاثة أزرار مشاركة تجلس خارج صندوق الالتقاط مباشرة: `post your archetype` (نية X)، `share on linkedin`، `download poster`. يتم تشغيل الالتقاط من خلال `html-to-image` بحيث يطابق PNG العرض على الشاشة بكسل لكل بكسل (حدود متقطعة، قناع شعار SVG، تدرجات، مقاييس الخط — كل شيء محفوظ).
-2. **نقاط القوة** — قائمة صف هادئة من السلوكيات التي يقوم بها الوكيل بالفعل بشكل صحيح، مشتقة من بيانات التدقيق المباشرة (معدل استدعاء أداة نظيف، متوسط طول الجلسة، صفر تسرب بيانات اعتماد، صفر عواصف إعادة محاولة، إلخ).
-3. **الغرائب** — جدول ما تسلل، مرتبة حسب التأثير: `time · what slipped + policy that would've caught it · severity pill · recurrence` (جديد / Nx هذا الأسبوع / متكرر).
-4. **كيفية التحسن** — قائمة صف هادئة، واحدة لكل سياسة موصى بها: اسم السياسة باللون الأبيض، وصف سطر واحد، أمر التثبيت + زر النسخ على الجانب الأيمن. يقوم زر `[install all]` في رأس القسم بنسخ أمر `failproofai policy add a b c …` المدمج لكل سياسة موصى بها.
-5. **العودة أفضل** — بطاقتان جنباً إلى جنب. اليسار: ضع تذكيراً (`3d` / `7d` / `14d` / `30d` منتقي الإيقاع؛ يستمر عبر `/api/auth/reminder` بعد المصادقة). اليمين: فتح مزايا failproof — `invite a friend` يفتح وسيط يأخذ قائمة بريد إلكتروني للصديق مفصولة بفاصلات/مسافات/أسطر جديدة (بحد أقصى 10 لكل إرسال)، يرسل POST إلى `/api/audit/invite`، والذي ينقل إلى `POST /v0/invite` الخاص بخادم api. يرسل خادم api بريداً إلكترونياً واحداً لكل مستقبل من `invite@failproof.ai` مع نسخة Cc للمرسل و `Reply-To` مضبوطة، بحيث يرى المستقبل من دعاه والمرسل ينسخ في صندوق الوارد الخاص به. يتم توجيه المستخدمين المجهولين عبر `AuthDialog` أولاً بحيث يُعرف البريد الإلكتروني للمرسل قبل إرسال الدعوات. الاستحقاق / تحقيق المزايا متابعة لاحقة.
+1. **الملصق** — يملأ منفذ العرض الأول. منطقة التقاط PNG مكتفية ذاتياً مع علامة failproof_ai · تسمية التدقيق · فهرس النمط الأصلي (`№ NN من 08`) + تاريخ التدقيق · نقطة عددية (0–100) + حبة تصنيف مئوي (`أفضل 15%`) · اسم النمط الأصلي (أحد `المتفائل` أو `الرعديد` أو `المستكشف` أو `سمك الذهب` أو `المهندس المريب` أو `بناء الدقة` أو `المطرقة` أو `الشبح`) + شريط الكلمات الثلاث · `// فقط N% من الوكلاء لديهم هذا النمط الأصلي` سطر الندرة · بلاط sigil 8×8 بكسل · `تدقيق لك → failproof.ai` تذييل. ثلاثة أزرار مشاركة خارج مربع الالتقاط: `انشر نمطك الأصلي` (X intent)، `مشاركة على linkedin`، `تنزيل الملصق`. يتم تشغيل الالتقاط عبر `html-to-image` بحيث يطابق PNG العرض على الشاشة بكسل تلو الآخر (حدود مسسحة، قناع شعار SVG، تدرجات، مقاييس الخط — كل شيء محفوظ).
+2. **نقاط القوة** — قائمة صفوف هادئة من السلوكيات التي يقوم بها وكيلك بالفعل بشكل صحيح، مستمدة من بيانات التدقيق المباشر (معدل استدعاء أداة نظيف، بدون دفع مباشر إلى main، تسريب بيانات اعتماد صفري، عدم حدوث عواصف إعادة محاولة) — يتم عرض كل منها فقط عندما تكون السياسة ذات الصلة نظيفة عبر نافذة التدقيق.
+3. **المميزات الغريبة** — جدول ما تسرب، مرتب حسب الشدة: `عندما · ما تسرب + السياسة التي كانت ستلتقطه · حبة الشدة · رؤية`، حيث تقرأ التكرار `جديد` (مرة واحدة)، `N× رؤية` (2–9 مرات)، أو `متكرر` (10+).
+4. **كيفية التحسن** — قائمة صفوف هادئة، واحد لكل سياسة موصى بها: اسم السياسة بالأبيض، وصف سطر واحد، أمر التثبيت + زر النسخ على الجانب الأيمن. يقرأ رأس القسم `تفعيل الكل N → مشروع · ` (النقطة التي ستصل إليها مع تطبيق كل إصلاح)، وزر `[تثبيت الكل]` الخاص به ينسخ أمر `failproofai policy add a b c …` المدمج لكل سياسة موصى بها.
+5. **عودة بشكل أفضل** — بطاقتان جنباً إلى جنب. اليسار: ضبط تذكير (`3d` / `7d` / `14d` / `30d` منتقي الإيقاع; يستمر عبر `/api/auth/reminder` بعد المصادقة). اليمين: فتح مزايا failproof — `دعوة صديق` يفتح نافذة حوار تأخذ قائمة برسائل البريد الإلكتروني للأصدقاء المفصولة بفواصل/مسافات/أسطر جديدة (الحد الأقصى 10 لكل إرسال)، POSTs إلى `/api/audit/invite`، والتي تنقل إلى `POST /v0/invite` في خادم api. يرسل خادم api بريداً إلكترونياً واحداً لكل مستقبل من `invite@failproof.ai` مع إضافة المرسل بـ Cc وتعيين `Reply-To`، بحيث يرى المستقبل من دعاهم والمرسل يحصل على نسخة في صندوق البريد الخاص به. يتم توجيه المستخدمين المجهولين عبر `AuthDialog` أولاً بحيث تكون رسالة البريد الإلكتروني للمرسل معروفة قبل إرسال الدعوات. تحقيق الأحقية / الامتيازات هو المتابعة.
-مدفوع بوقت التشغيل `failproofai audit` — انظر [Audit CLI](/ar/cli/audit) لمحرك الفحص الأساسي والعلامات المدعومة وثوابت التخزين المؤقت لكل النص. تخزن لوحة المعلومات النتيجة الأخيرة في `~/.failproofai/audit-dashboard.json` (mode `0600`، فتحة واحدة، تحل التشغيلات الجديدة محل الموجودة) بحيث تكون إعادة الزيارات فورية؛ **يتم رفض كل من التخزين المؤقت لكل نص والنتيجة الكاملة عند القراءة بمجرد أن تكون أقدم من 7 أيام** بحيث لا تقدم لوحة المعلومات بصمت نتيجة قديمة بأسبوع — بعد TTL `/audit` يسقط في الحالة الفارغة ويطالب بتشغيل جديد. ينقر على `[ re-audit now ]` بالقرب من أسفل التقرير على `/api/audit/run` مع `noCache: true` — يتجاوز إعادة التدقيق التخزين المؤقت لكل نص وينجز فحص كل نص من البداية بدلاً من إرجاع الحل المخزن مؤقتاً بصمت — وتستقصي لوحة المعلومات `/api/audit/status` بسرعة 1Hz حتى ينتهي التشغيل؛ شريط تقدم وردي لاصق يثبت في الجزء العلوي من viewport أثناء التشغيل مع مؤقت مضى الوقت، وتحل النتيجة الجديدة مكانها عند النجاح (لا إعادة تحميل كاملة الصفحة؛ يترك التدقيق المفشل التقرير السابق سليماً). عند الفشل يتحول الشريط إلى الأحمر مع copy مفتاحه `RerunError.kind` (`timeout` / `network` / `post_failed`). يتم توسيط الحالة الفارغة (بلا ذاكرة تخزين مؤقت أو انتهت الصلاحية) وحالة الجلسات الصفرية (التخزين المؤقت موجود لكن الفحص لم يجد نصوص) بشكل منفصل.
+مدفوع بـ `failproofai audit` runtime — انظر [Audit CLI](/ar/cli/audit) لمحرك المسح الأساسي والأعلام المدعومة وثوابت الذاكرة المؤقتة لكل نسخة. تخزن لوحة المعلومات مؤقتاً أحدث نتيجة في `~/.failproofai/audit-dashboard.json` (الوضع `0600`، فتحة واحدة، تستبدل التشغيلات الجديدة) بحيث تكون الزيارات اللاحقة فورية; **يتم رفض كل من ذاكرة التخزين المؤقت لكل نسخة ونتيجة كاملة عند القراءة بمجرد أن تصبح أقدم من 7 أيام** بحيث لا تخدم لوحة المعلومات أبداً بصمت نتيجة بعمر أسبوع — بعد انتهاء الصلاحية `/audit` يسقط إلى حالته الفارغة ويطالب بتشغيل جديد. النقر على `[ إعادة تدقيق الآن ]` بالقرب من أسفل التقرير POSTs `/api/audit/run` مع `noCache: true` — إعادة التدقيق تجاوز ذاكرة التخزين المؤقت لكل نسخة وتعيد مسح كل نسخة من البداية بدلاً من إرجاع النتيجة المخزنة بصمت — ولوحة المعلومات تستطلع `/api/audit/status` عند 1Hz حتى انتهاء التشغيل; شريط تقدم وردي لزج يدبس إلى أعلى viewport أثناء التشغيل مع مؤقت انقضى، وتبديل النتيجة الطازجة في المكان عند النجاح (بدون إعادة تحميل كاملة للصفحة; إعادة تدقيق فاشلة تترك التقرير السابق سليماً). عند الفشل، يتحول الشريط إلى اللون الأحمر مع نسخ مفتاح من `RerunError.kind` (`timeout` / `network` / `post_failed`). تتم سطح الحالة الفارغة (بدون ذاكرة تخزين مؤقت أو منتهية الصلاحية) والحالة الخالية من الجلسات (توجد ذاكرة تخزين مؤقت ولكن لم يجد المسح نسخ) بشكل منفصل.
### السياسات
-صفحة ذات علامتي تبويب لإدارة السياسات ومراجعة النشاط.
+صفحة بلسانين لإدارة السياسات ومراجعة النشاط.
-
- - تحديد متعدد لواجهات سطر أوامر الوكيل التي تحمي failproofai من لوحة واحدة — Claude Code و OpenAI Codex و GitHub Copilot و Cursor Agent و OpenCode و Pi و Gemini CLI كل منها لديه صف مع حالة التثبيت (`Active` / `Detected` / `Inactive`)، مسار إعدادات نطاق المستخدم، وضغط يحمل علامة تجارية. تحقق أو قم بإلغاء تحديد واجهات سطر الأوامر التي تريدها وانقر فوق `Apply changes` لتثبيت/إلغاء تثبيت الفرق في خطوة واحدة. يتم فحص واجهات سطر الأوامر التي يتم اكتشاف ثنائيتها على PATH مسبقاً.
- - بدّل السياسات الفردية على أو بيقاف مع نقرة واحدة (يكتب إلى `~/.failproofai/policies-config.json` — مشاركة في جميع واجهات سطر الأوامر المثبتة)
- - قم بتوسيع السياسة لتكوين معاملات (للسياسات التي تدعم `policyParams`)
- - اضبط مسار ملف السياسات المخصص
+
+ - حدد متعدد مع CLIs التي يحمي failproofai من لوحة واحدة — Claude Code و OpenAI Codex و GitHub Copilot و Cursor Agent و OpenCode و Pi و Gemini CLI كلها لها صف يحتوي على حالة التثبيت (`Active` / `Detected` / `Inactive`)، مسار إعدادات نطاق المستخدم، وضفة مميزة بعلامة تجارية. تحقق من مربعات CLIs التي تريدها أو ألغ تحديد مربع الاختيار وانقر فوق `تطبيق التغييرات` لتثبيت/إلغاء تثبيت الفارق في خطوة واحدة. CLIs التي يتم الكشف عن ملف تنفيذي الخاص بها على PATH يتم فحصه مسبقاً.
+ - بدّل السياسات الفردية على أو إيقاف بنقرة واحدة (يكتب إلى `~/.failproofai/policies-config.json` — مشترك في كل CLI مثبت)
+ - توسيع سياسة لتكوين معاملات (للسياسات التي تدعم `policyParams`)
+ - تعيين مسار ملف سياسات مخصص
- - السجل الموحى به الكامل لكل حدث خطاف نظر عبر جميع الجلسات
- - تصفية حسب القرار أو نوع الحدث أو CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_) أو اسم السياسة أو معرّف الجلسة
- - يعرض كل صف: الطابع الزمني، اسم السياسة، القرار، شارة CLI (برتقالي = Claude Code، بنفسجي = OpenAI Codex، أزرق = GitHub Copilot، زمردي = Cursor Agent، كهرماني = OpenCode، وردي = Pi، سماوي = Gemini CLI)، اسم الأداة، معرّف الجلسة، والسبب وراء قرارات الرفض/التعليمات
- - انقر على معرّف جلسة لفتح النص — يكتشف العارض تلقائياً واجهة سطر الأوامر التي أطلقت الخطاف (Claude `~/.claude/projects/…`، Codex `~/.codex/sessions/…`، Copilot CLI `~/.copilot/session-state//events.jsonl`، Cursor Agent `~/.cursor/agent-sessions//events.jsonl`، OpenCode `~/.local/share/opencode/opencode.db`، Pi `~/.pi/agent/sessions//.jsonl`، Gemini CLI `~/.gemini/tmp//chats/.jsonl`) ويعرض شارة CLI المطابقة في الرأس
+ - سجل مخزن بالكامل في صفحات لكل حدث hook تم تشغيله عبر جميع الجلسات
+ - تصفية حسب القرار ونوع الحدث و CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_) واسم السياسة أو معرف الجلسة
+ - يعرض كل صف: الطابع الزمني، اسم السياسة، القرار، شارة CLI (برتقالي = Claude Code، بنفسجي = OpenAI Codex، أزرق = GitHub Copilot، أخضر = Cursor Agent، كهرماني = OpenCode، وردي = Pi، سماوي = Gemini CLI)، اسم الأداة، معرف الجلسة، والسبب لقرارات الرفض/الإرشاد
+ - انقر فوق معرف الجلسة لفتح نسختها — يكتشف العارض تلقائياً أي CLI أطلق hook (Claude `~/.claude/projects/…`، Codex `~/.codex/sessions/…`، Copilot CLI `~/.copilot/session-state//events.jsonl`، Cursor Agent `~/.cursor/agent-sessions//events.jsonl`، OpenCode `~/.local/share/opencode/opencode.db`، Pi `~/.pi/agent/sessions//.jsonl`، Gemini CLI `~/.gemini/tmp//chats/.jsonl`) ويعرض شارة CLI المطابقة في الرأس
---
-## التحديث التلقائي
+## الإنعاش التلقائي
-تحتوي لوحة المعلومات على تبديل التحديث التلقائي في التنقل العلوي. عند تفعيله، يتم تحديث الصفحة الحالية بشكل دوري لإظهار جلسات جديدة ونشاط سياسة عند ظهورها. ضروري لمراقبة جلسات الوكيل المستقل طويلة الأجل.
+تحتوي لوحة المعلومات على مبدل إنعاش تلقائي في التنقل العلوي. عند تفعيله، تنعش الصفحة الحالية بشكل دوري لعرض جلسات جديدة ونشاط سياسة جديدة عند ظهورها. ضروري لمراقبة جلسات وكيل مستقلة طويلة التشغيل.
---
@@ -105,13 +105,13 @@ failproofai
FAILPROOFAI_DISABLE_PAGES=policies failproofai
```
-القيم الصحيحة: `policies` و `projects` و `audit`.
+القيم الصحيحة: `policies`، `projects`، `audit`.
---
## تكوين مسار المشاريع
-بشكل افتراضي، تقرأ لوحة المعلومات من مجلد مشاريع Claude Code القياسي. قم بتجاوزها للإعدادات المخصصة:
+بشكل افتراضي، تقرأ لوحة المعلومات من دليل مشاريع Claude Code القياسي. استبدله للإعدادات المخصصة:
```bash
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
@@ -119,21 +119,21 @@ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
---
-## الوصول من مضيف بخلاف localhost
+## الوصول من مضيف غير محلي
-عند تشغيل لوحة المعلومات في **وضع dev** (`npm run dev`) والوصول إليها من اسم مضيف بخلاف `localhost` - على سبيل المثال، مجال مخصص أو عنوان IP بعيد أو عنوان URL مقسى - قد ترى تحذيراً مثل:
+عند تشغيل لوحة المعلومات في **وضع dev** (`npm run dev`) والوصول إليها من اسم مضيف بخلاف `localhost` - على سبيل المثال، مجال مخصص أو IP بعيدة أو URL موصولة — قد تظهر تحذير مثل:
```text
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```
-هذا هو Next.js يحظر الوصول عبر الأصول إلى websocket HMR (hot module reload)، وهي ميزة dev فقط. للسماح بمضيفك، استخدم العلم `--allowed-origins`:
+هذا هو Next.js يمنع الوصول عبر الأصول إلى مورد HMR dev الخاص به (إعادة تحميل الوحدة الساخنة)، وهي ميزة dev فقط. للسماح لمضيفك، استخدم العلم `--allowed-origins`:
```bash
npm run dev -- --allowed-origins dashboard.example.com
```
-لعدة مضيفين أو عناوين IP، مرر قائمة مفصولة بفواصل:
+لعدة مضيفات أو IPs، مرر قائمة مفصولة بفواصل:
```bash
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
diff --git a/docs/de/cli/audit.mdx b/docs/de/cli/audit.mdx
index a7074d3ee..db6a1fe2e 100644
--- a/docs/de/cli/audit.mdx
+++ b/docs/de/cli/audit.mdx
@@ -1,58 +1,95 @@
---
title: Vergangene Sitzungen prüfen (Beta)
-description: "Zählt, wie oft der Agent in vergangenen Transkripten verschwenderische oder riskante Aktionen durchgeführt hat"
+description: "Wie oft der Agent in vergangenen Transkripten verschwenderische oder riskante Aktionen ausgeführt hat"
---
- **Beta-Funktion.** Die Prüfung wird als Beta veröffentlicht, während wir
- frühes Feedback sammeln. Der Detektor-Katalog und das Berichtsformat können
- sich vor dem nächsten stabilen Release ändern. Bitte öffne ein Issue, wenn
- etwas nicht stimmt.
+ **Beta-Funktion.** Das Audit wird als Beta ausgeliefert, während wir erstes Feedback sammeln.
+ Der Detektor-Katalog und das Berichtsformat können sich vor dem nächsten stabilen
+ Release ändern. Bitte öffne ein Issue, wenn etwas nicht stimmt.
-Die Prüfung ist jetzt als **/audit-Dashboard-Seite** verfügbar, nicht als CLI-Unterbefehl. Öffne sie über die Dashboard-Navigationsleiste (zwischen Policies und Projekten) oder besuche `http://localhost:8020/audit` direkt, wenn `failproofai` lokal läuft.
+Das Audit spielt vergangene Agent-CLI-Transkripte durch die Richtlinien-Engine von failproofai ab
+und erstellt einen teilbaren, visuellen Bericht auf der **`/audit`-Dashboard-Seite** —
+den Archetyp deines Agenten, einen Score von 0–100 und genau, welche Richtlinien was abgefangen hätten.
-```bash
-failproofai # open the dashboard, then click "Audit"
+## Ausführen
+
+Drei Einstiegswege — alle landen im gleichen `/audit`-Bericht.
+
+
+
+```bash npx (keine Installation)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-Das Dashboard scannt vergangene Agent-CLI-Transkripte auf diesem Gerät (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) und meldet, wie oft der Agent Dinge getan hat, die failproofai verhindern soll — Umgebungsvariablen-Prüfungen, Force-Pushes, redundante `cd `-Präfixe, Sleep-Polling-Schleifen, erneutes Lesen gerade bearbeiteter Dateien und mehr.
+```bash failproofai (Dashboard)
+failproofai
+```
+
+
+
+
+
+ `npx -y failproofai audit` lädt failproofai herunter, führt den Scan durch und öffnet das
+ Dashboard — ohne vorherige Installation.
+
+
+ `failproofai audit` führt den Scan im Terminal aus und öffnet anschließend
+ automatisch `localhost:8020/audit`.
+
+
+ Starte `failproofai` und klicke in der Navigationsleiste auf **Audit** (zwischen Policies und
+ Projects), oder öffne `/audit` direkt.
+
+
+
+
+ Führe `failproofai audit -h` (oder `--help`) aus, um die Nutzungshinweise anzuzeigen. Das Audit läuft **vollständig
+ offline** — kein Konto und keine Netzwerkverbindung erforderlich — und das Dashboard bleibt aktiv,
+ bis du es mit `Ctrl+C` beendest.
+
+
+Das Dashboard scannt vergangene Agent-CLI-Transkripte auf diesem Rechner (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) und zeigt, wie oft der Agent Dinge getan hat, die failproofai verhindern soll — Umgebungsvariablen-Prüfungen, Force-Pushes, redundante `cd `-Präfixe, Sleep-Polling-Schleifen, erneutes Lesen gerade bearbeiteter Dateien und mehr.
-Für jedes Transkript wird jedes Tool-Use-Ereignis durch die 39 integrierten Policies **und** durch 8 nur für die Prüfung vorgesehene Detektoren wiedergegeben, die Muster erkennen, die noch nicht durch Laufzeit-Policies abgedeckt sind. Zählungen werden pro Policy / Detektor über alle Sitzungen aggregiert.
+Für jedes Transkript wird jedes Tool-Use-Ereignis durch die 39 eingebauten Richtlinien **und** durch 8 Audit-exklusive Detektoren abgespielt, die Muster erkennen, die noch nicht durch Laufzeitrichtlinien abgedeckt sind. Die Zählungen werden pro Richtlinie / Detektor über alle Sitzungen hinweg aggregiert.
## Was du erhältst
-Die `/audit`-Seite besteht aus sechs Abschnitten:
+Die `/audit`-Seite ist ein einseitiges, teilbares **Poster**, gefolgt von vier Abschnitten unterhalb des sichtbaren Bereichs:
-1. **Identität** — dein Agent wird anhand des gewichteten Signals über alle geprüften Transkripte in einen von 8 Archetypen eingeordnet (`optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`).
-2. **Stärken** — echte Zahlen aus dem Scan (Anteil sauberer Aufrufe in %, „0 Credential-Leaks" usw.), die davon abhängen, dass die relevanten Sanitize-Policies tatsächlich ausgelöst haben.
-3. **Score** — 0–100 mit den Bandbreiten S/A/B/C/D/F und einem prognostizierten Anstieg, wenn alle empfohlenen Policies aktiviert wären.
-4. **Befunde** — Policy-Karten mit Beschreibung des Vorgefallenen, Kosten, gesammelten Belegen und dem genauen `failproofai policy add `-Befehl, um das integrierte Live-Feature zu aktivieren, das den Vorfall abgefangen hätte.
-5. **Empfohlene Policies** — aggregierte Installationsliste mit einem einzigen `failproofai policies --install`-Befehl.
-6. **Erinnerung zur erneuten Prüfung** — „komm besser zurück." Richte eine 7-tägige E-Mail-Erinnerung über den API-Server ein (erfordert Anmeldung; siehe [`failproofai auth`](/de/cli/auth)).
+1. **Poster** — die Identität deines Agenten auf einen Blick: sein **Archetyp** (einer von 8 — `optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`), seine Persona-Schlüsselwörter, wie selten dieser Archetyp ist, und ein **Score von 0–100** mit einem Stufenband (`S` bis `bottom tier`). Zum Teilen gedacht — poste es auf X oder LinkedIn oder lade es als PNG herunter.
+2. **`// strengths`** — was dein Agent bereits gut macht, als echte Zahlen aus dem Scan (z. B. Clean-Tool-Call-%, `0` Push-to-Main-Versuche), nur angezeigt, wenn die entsprechende Richtlinie eine saubere Bilanz hat.
+3. **`// quirks`** — was durchgeglitten ist: eine nach Rang sortierte Tabelle der Verhaltensweisen, die failproofai abgefangen hätte — *wann* es zuletzt vorkam, *was durchgeglitten ist* (und das eingebaute Tool, das es blockiert hätte), dessen *Schweregrad* und wie oft es *gesehen* wurde (`new` / `recurring` / `N× seen`).
+4. **`// how to improve`** — die vorgeschriebene Verbesserungsliste: eine Zeile pro Richtlinie mit einem kopierfertigen `failproofai policy add `, plus einem **Alle installieren**-Button, der alle Empfehlungen auf einmal aktiviert und deinen **prognostizierten Score** anzeigt.
+5. **`// come back better`** — die Gewohnheit aufbauen: eine E-Mail-**Erinnerung** für ein erneutes Audit setzen (`3d` / `7d` / `14d` / `30d`) oder jetzt erneut prüfen, und **einen Freund einladen**, sein eigenes Audit durchzuführen (gesendet von failproof.ai, Cc an dich). Erinnerungen und Einladungen erfordern eine Anmeldung — siehe [`failproofai auth`](/de/cli/auth).
-## Nur für die Prüfung vorgesehene Detektoren
+## Audit-exklusive Detektoren
-Diese erkennen Muster für „unintelligentes Verhalten", die (noch) nicht in Echtzeit durchgesetzt werden. Sie laufen nur während der Prüfung und blockieren niemals einen Live-Tool-Aufruf.
+Diese erkennen Muster für dummes Verhalten, die (noch) nicht in Echtzeit durchgesetzt werden. Sie laufen nur während des Audits und blockieren nie einen Live-Tool-Aufruf.
-| Detektor | Was gezählt wird |
+| Detektor | Was er zählt |
|---|---|
| `redundant-cd-cwd` | Bash-Befehle, die mit `cd && …` beginnen, obwohl Befehle bereits in `cwd` ausgeführt werden. |
-| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` auf eine einzelne Quelldatei — verwende stattdessen das `Read`-Tool. |
-| `prefer-edit-over-sed-awk` | `sed -i` / `awk … > file`-In-Place-Bearbeitungen — verwende stattdessen das `Edit`-Tool. |
-| `prefer-write-over-heredoc` | Heredoc / mehrzeiliges `echo > file` zum Schreiben von Dateien — verwende stattdessen das `Write`-Tool. |
-| `sleep-polling-loop` | Lange `sleep N`-Aufrufe (≥ 30 s) oder `while …; sleep …; done`-Polling-Schleifen. |
-| `find-from-root` | `find /`, `find /home`, `find /usr` usw. — schränke auf `cwd` ein. |
+| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` auf einer einzelnen Quelldatei — verwende stattdessen das `Read`-Tool. |
+| `prefer-edit-over-sed-awk` | `sed -i` / `awk … > file` direkte Bearbeitungen — verwende stattdessen das `Edit`-Tool. |
+| `prefer-write-over-heredoc` | Heredoc / mehrzeilige `echo > file`-Dateioperationen — verwende stattdessen das `Write`-Tool. |
+| `sleep-polling-loop` | Lange `sleep N`-Befehle (≥ 30s) oder `while …; sleep …; done`-Polling-Schleifen. |
+| `find-from-root` | `find /`, `find /home`, `find /usr` usw. — auf `cwd` eingrenzen. |
| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, wodurch Hooks übersprungen werden. |
-| `reread-after-edit` | `Read` einer Datei, die gerade mit `Edit`/`Write` in derselben Sitzung bearbeitet wurde. |
+| `reread-after-edit` | `Read` einer Datei, die in derselben Sitzung gerade per `Edit`/`Write` bearbeitet wurde. |
## Caches
-- **Transkript-spezifischer Cache** unter `~/.failproofai/cache/audit/.json`, indexiert nach `(mtime, size, engineVersion, detectorVersion)` — wird automatisch ungültig, wenn das Transkript oder der Policy-/Detektor-Code sich ändert. Jeder Eintrag speichert außerdem einen `cachedAt`-Zeitstempel als **TTL-Metadaten** (kein Teil des Cache-Schlüssels); Einträge, die älter als **7 Tage** sind, werden beim Lesen abgelehnt, damit langlebige Ergebnisse nicht die Weiterentwicklung der Detektoren überdauern.
-- **Gesamtergebnis-Cache** unter `~/.failproofai/audit-dashboard.json` (Modus 0600). Ermöglicht dem Dashboard eine sofortige Darstellung beim Navigieren, ohne erneut ausgeführt zu werden. Ebenfalls nach Ablauf des **7-Tage-TTL** beim Lesen abgelehnt — `/audit` fällt dann in seinen leeren Zustand zurück und fordert einen neuen Durchlauf an. Klicke auf `[ re-audit now ]` unten im Bericht, um zu aktualisieren — eine erneute Prüfung sendet `noCache: true`, umgeht damit den transkriptspezifischen Cache und scannt alle Transkripte neu, anstatt das gecachte Ergebnis zurückzugeben; der Durchlauf streamt den Fortschritt über einen fixierten oberen Streifen und tauscht das Ergebnis bei Erfolg direkt aus (kein Seitenneuladen; eine fehlgeschlagene erneute Prüfung behält den vorherigen Bericht).
+- **Transkript-spezifischer Cache** unter `~/.failproofai/cache/audit/.json`, indiziert nach `(mtime, size, engineVersion, detectorVersion)` — wird automatisch invalidiert, wenn das Transkript oder der Richtlinien-/Detektor-Code sich ändert. Jeder Eintrag speichert auch einen `cachedAt`-Zeitstempel als **TTL-Metadaten** (nicht Teil des Cache-Schlüssels); Einträge, die älter als **7 Tage** sind, werden beim Lesen abgelehnt, damit langlebige Ergebnisse nicht die Weiterentwicklung der Detektoren überdauern.
+- **Gesamtergebnis-Cache** unter `~/.failproofai/audit-dashboard.json` (Modus 0600). Ermöglicht sofortiges Rendern des Dashboards bei der Navigation ohne erneuten Scan. Ebenfalls nach dem **7-Tage-TTL** abgelehnt — `/audit` fällt dann in seinen leeren Zustand zurück und fordert einen neuen Scan an. Klicke auf `[ re-audit now ]` unten im Bericht zum Aktualisieren — Re-Audit sendet `noCache: true`, umgeht damit den transkriptspezifischen Cache und scannt alle Transkripte neu, anstatt das gecachte Ergebnis zurückzugeben; der Lauf streamt den Fortschritt über einen festen oberen Streifen und tauscht das Ergebnis bei Erfolg an Ort und Stelle aus (kein Seitenneulade; ein fehlgeschlagenes Re-Audit behält den vorherigen Bericht).
## Hinweise
-- **Keine Änderungen.** Die Prüfung läuft im reinen Lesemodus. `warn-repeated-tool-calls` wird übersprungen, da sein sitzungsspezifischer Begleiter sonst verändert würde.
-- **Workflow-Policies werden übersprungen.** `require-*-before-stop`-Policies werden nur bei `Stop`-Ereignissen ausgelöst und führen `execSync` gegen den Live-Git-Zustand aus — sie haben keine sinnvolle Interpretation im Sinne von „Was wäre 2025 passiert", daher erscheinen sie nicht in den Prüfzählungen.
-- **Benutzerdefinierte Policies werden übersprungen.** Benutzerdefinierte Hooks werden nicht wiedergegeben (sie können sich seit der ursprünglichen Sitzung geändert haben).
\ No newline at end of file
+- **Keine Mutation.** Das Audit wird im Nur-Lese-Modus abgespielt. `warn-repeated-tool-calls` wird übersprungen, da dessen sitzungsspezifische Hilfsdatei andernfalls geändert würde.
+- **Workflow-Richtlinien übersprungen.** `require-*-before-stop`-Richtlinien werden nur bei `Stop`-Ereignissen ausgelöst und führen `execSync` gegen den Live-Git-Status aus — sie haben keine sinnvolle Interpretation im Sinne von 2025, daher erscheinen sie nicht in den Audit-Zählungen.
+- **Benutzerdefinierte Richtlinien übersprungen.** Vom Benutzer bereitgestellte benutzerdefinierte Hooks werden nicht abgespielt (sie können sich seit der ursprünglichen Sitzung geändert haben).
\ No newline at end of file
diff --git a/docs/de/dashboard.mdx b/docs/de/dashboard.mdx
index 9b9028c85..14509310a 100644
--- a/docs/de/dashboard.mdx
+++ b/docs/de/dashboard.mdx
@@ -1,10 +1,10 @@
---
title: Dashboard
-description: "Agent-Sitzungen überwachen, Tool-Aufrufe prüfen und Policies verwalten"
+description: "Agent-Sitzungen überwachen, Tool-Aufrufe einsehen und Richtlinien verwalten"
icon: chart-line
---
-Das failproofai Dashboard ist eine lokale Webanwendung zur Überwachung deiner KI-Agent-Sitzungen und zur Verwaltung von Policies. Sieh nach, was deine Agents während deiner Abwesenheit getan haben.
+Das failproofai-Dashboard ist eine lokale Webanwendung zur Überwachung Ihrer KI-Agent-Sitzungen und zur Verwaltung von Richtlinien. Sehen Sie, was Ihre Agenten in Ihrer Abwesenheit getan haben.
---
@@ -16,7 +16,7 @@ failproofai
Öffnet sich unter `http://localhost:8020`.
-Das Dashboard liest direkt aus dem Dateisystem – aus deinen Claude Code Projektordnern und den failproofai Konfigurationsdateien. Es werden keine Daten an einen externen Dienst übertragen.
+Das Dashboard liest direkt aus dem Dateisystem – aus Ihren Claude Code-Projektordnern und den failproofai-Konfigurationsdateien. Es werden keine Daten an einen Remote-Dienst übertragen.
---
@@ -24,67 +24,67 @@ Das Dashboard liest direkt aus dem Dateisystem – aus deinen Claude Code Projek
### Projekte
-Zeigt alle Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_ und Gemini CLI _(beta)_ Projekte, die auf deinem Rechner gefunden wurden. Claude-Projekte werden aus `~/.claude/projects/` (oder dem über `CLAUDE_PROJECTS_PATH` festgelegten Pfad) erkannt; Codex-Projekte werden durch das Durchsuchen aller Transkripte unter `~/.codex/sessions////*.jsonl` und Gruppierung nach dem im ersten Eintrag jeder Sitzung enthaltenen `cwd` ermittelt; Copilot CLI-Projekte werden durch das Scannen jeder `~/.copilot/session-state//workspace.yaml` (konfigurierbar über `COPILOT_HOME`) und Gruppierung nach dem darin enthaltenen `cwd`-Feld erkannt; Cursor Agent-Projekte werden durch das Scannen sitzungsbezogener Metadaten unter `~/.cursor/agent-sessions//` (konfigurierbar über `CURSOR_HOME`, mit `conversations/` und `sessions/` als Fallback) nach einem `cwd`-Skalar in `meta.json` / `session.json` / `workspace.yaml` erkannt; OpenCode-Projekte werden durch Abfrage seiner SQLite-DB unter `~/.local/share/opencode/opencode.db` via `opencode db --format json` ermittelt (es werden die Tabellen `session` und `project` gelesen und nach `project_id` gruppiert); Pi-Projekte werden durch das Scannen sitzungsbezogener JSONL-Transkripte unter `~/.pi/agent/sessions//_.jsonl` (konfigurierbar über `PI_SESSIONS_DIR`) und Auslesen des `cwd` aus dem ersten Eintrag jeder Sitzung erkannt; Gemini CLI-Projekte werden durch das Scannen von `~/.gemini/tmp//chats/session--.jsonl` (konfigurierbar über `GEMINI_SESSIONS_DIR`) und Ermittlung des kanonischen cwd aus dem benachbarten `.project_root`-Textmarker erkannt. Ein Projekt, das von mehreren CLIs verwendet wurde, erscheint als einzelne Zeile mit allen passenden Badges. Verwende das **CLI**-Dropdown oberhalb der Tabelle, um nach einer bestimmten Agent-CLI zu filtern; die Auswahl wird in der URL als `?cli=claude|codex|copilot|cursor|opencode|pi|gemini` gespeichert.
+Listet alle Claude Code-, OpenAI Codex-, GitHub Copilot CLI- _(Beta)_, Cursor Agent- _(Beta)_, OpenCode- _(Beta)_, Pi- _(Beta)_ und Gemini CLI- _(Beta)_ Projekte auf, die auf Ihrem Computer gefunden wurden. Claude-Projekte werden aus `~/.claude/projects/` ermittelt (oder dem Pfad, der über `CLAUDE_PROJECTS_PATH` gesetzt wurde); Codex-Projekte werden durch Durchsuchen aller Transkripte unter `~/.codex/sessions////*.jsonl` und Gruppierung nach dem `cwd`-Feld im ersten Datensatz jeder Sitzung erkannt; Copilot CLI-Projekte werden durch Durchsuchen von `~/.copilot/session-state//workspace.yaml` (konfigurierbar über `COPILOT_HOME`) und Gruppierung nach dem `cwd`-Feld gefunden; Cursor Agent-Projekte werden durch Durchsuchen der sitzungsspezifischen Metadaten unter `~/.cursor/agent-sessions//` (konfigurierbar über `CURSOR_HOME`, mit `conversations/` und `sessions/` als Fallbacks) nach einem `cwd`-Skalar in `meta.json` / `session.json` / `workspace.yaml` erkannt; OpenCode-Projekte werden durch Abfrage der SQLite-Datenbank unter `~/.local/share/opencode/opencode.db` via `opencode db --format json` ermittelt (es werden die Tabellen `session` und `project` gelesen und nach `project_id` gruppiert); Pi-Projekte werden durch Durchsuchen der sitzungsspezifischen JSONL-Transkripte unter `~/.pi/agent/sessions//_.jsonl` (konfigurierbar über `PI_SESSIONS_DIR`) und Auslesen des `cwd`-Werts aus dem ersten Datensatz jeder Sitzung erkannt; Gemini CLI-Projekte werden durch Durchsuchen von `~/.gemini/tmp//chats/session--.jsonl` (konfigurierbar über `GEMINI_SESSIONS_DIR`) und Wiederherstellung des kanonischen cwd aus dem benachbarten `.project_root`-Textmarker gefunden. Ein Projekt, das von mehreren CLIs verwendet wurde, wird als einzelne Zeile mit allen zugehörigen Badges dargestellt. Verwenden Sie das **CLI**-Dropdown über der Tabelle, um nach einer bestimmten Agent-CLI zu filtern; die URL speichert Ihre Auswahl als `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
Jedes Projekt zeigt:
- Projektname (abgeleitet vom Ordnerpfad)
-- Ein CLI-Badge — `Claude Code` (orange), `OpenAI Codex` (lila), `GitHub Copilot` (blau), `Cursor Agent` (smaragd), `OpenCode` (bernstein), `Pi` (pink) und/oder `Gemini CLI` (himmelblau)
+- Ein CLI-Badge — `Claude Code` (orange), `OpenAI Codex` (lila), `GitHub Copilot` (blau), `Cursor Agent` (smaragdgrün), `OpenCode` (bernstein), `Pi` (pink) und/oder `Gemini CLI` (himmelblau)
- Datum der letzten Sitzungsaktivität
-Klicke auf ein Projekt, um seine Sitzungen anzuzeigen.
+Klicken Sie auf ein Projekt, um dessen Sitzungen anzuzeigen.
### Sitzungen
-Zeigt alle Sitzungen innerhalb eines Projekts. Jede Sitzung enthält:
+Listet alle Sitzungen innerhalb eines Projekts auf. Jede Sitzung zeigt:
- Sitzungs-ID
-- Start- und Endzeitpunkt
+- Start- und Endzeitstempel
- Anzahl der Tool-Aufrufe
-- Anzahl der Hook-Aktivitäten (ausgelöste Policies)
+- Anzahl der Hook-Aktivitäten (ausgelöste Richtlinien)
-Verwende den Datumsbereichsfilter und die Sitzungs-ID-Suche, um die Liste einzugrenzen. Sitzungen werden seitenweise angezeigt.
+Verwenden Sie den Datumsbereichsfilter und die Sitzungs-ID-Suche, um die Liste einzuschränken. Sitzungen werden seitenweise angezeigt.
-Klicke auf eine Sitzung, um den Sitzungsbetrachter zu öffnen.
+Klicken Sie auf eine Sitzung, um den Sitzungs-Viewer zu öffnen.
-### Sitzungsbetrachter
+### Sitzungs-Viewer
-Der Sitzungsbetrachter beantwortet die zentrale Frage bei autonomen Agents: Was hat der Agent getan, und ist er auf Kurs geblieben? Ein CLI-Badge neben der Überschrift zeigt an, ob es sich um ein Claude Code-, OpenAI Codex-, GitHub Copilot CLI-, Cursor Agent-, OpenCode-, Pi- oder Gemini CLI-Transkript handelt. Er zeigt eine Zeitleiste aller Ereignisse in einer Sitzung:
+Der Sitzungs-Viewer beantwortet die entscheidende Frage bei autonomen Agenten: Was hat der Agent getan, und hat er sich auf Kurs gehalten? Ein CLI-Badge neben der Überschrift zeigt an, ob es sich um ein Claude Code-, OpenAI Codex-, GitHub Copilot CLI-, Cursor Agent-, OpenCode-, Pi- oder Gemini CLI-Transkript handelt. Er zeigt eine Zeitachse aller Ereignisse einer Sitzung:
-- **Nachrichten** – Claudes Textantworten und Benutzeranfragen
+- **Nachrichten** – Claudes Textantworten und Benutzereingaben
- **Tool-Aufrufe** – Jeder von Claude aufgerufene Tool mit Eingabe und Ausgabe
-- **Policy-Aktivität** – Für jeden Tool-Aufruf: welche Policies ausgelöst wurden und welche Entscheidung sie getroffen haben
+- **Richtlinienaktivität** – Für jeden Tool-Aufruf, welche Richtlinien ausgelöst wurden und welche Entscheidung sie zurückgegeben haben
-Die Statusleiste oben zeigt Sitzungsdauer, Gesamtzahl der Tool-Aufrufe und eine Zusammenfassung der Hook-Entscheidungen (allow / deny / instruct Anzahl).
+Die Statusleiste oben zeigt Sitzungsdauer, Gesamtanzahl der Tool-Aufrufe und eine Zusammenfassung der Hook-Entscheidungen (Anzahl allow / deny / instruct).
-Klicke auf den Button **Logs herunterladen**, um die Sitzung zu exportieren. Für Claude Code-, Codex-, Copilot-, Cursor-, Pi- und Gemini-Sitzungen erhältst du das originale JSONL-Transkript byte-für-byte vom Datenträger; für OpenCode (dessen Sitzungen in SQLite und nicht auf dem Datenträger gespeichert sind) erhältst du ein JSON-Dokument, das die zugrunde liegenden Tabellen `session` / `messages` / `parts` widerspiegelt.
+Klicken Sie auf die Schaltfläche **Logs herunterladen**, um die Sitzung zu exportieren. Bei Claude Code-, Codex-, Copilot-, Cursor-, Pi- und Gemini-Sitzungen erhalten Sie das originale JSONL-Transkript vom Datenträger Byte für Byte; bei OpenCode (dessen Sitzungen in SQLite statt auf dem Datenträger gespeichert sind) erhalten Sie ein JSON-Dokument, das die zugrunde liegenden Tabellen `session` / `messages` / `parts` abbildet.
### Audit
-Ein charaktergetriebener Bericht darüber, wie sich dein Agent tatsächlich in vergangenen Sitzungen verhalten hat. Führt denselben Scan wie das `failproofai audit` CLI aus, stellt ihn aber als einseitiges, teilbares Poster dar – ergänzt durch vier nachfolgende Abschnitte:
+Ein persönlichkeitsbasierter Bericht darüber, wie sich Ihr Agent tatsächlich über vergangene Sitzungen hinweg verhalten hat. Führt denselben Scan wie das `failproofai audit`-CLI aus, stellt das Ergebnis jedoch als einzeln anzeigbares, teilbares Poster dar – ergänzt durch vier Abschnitte unterhalb des sichtbaren Bereichs:
-1. **Poster** — füllt den ersten Viewport. Ein in sich geschlossener PNG-Erfassungsbereich mit dem failproof_ai-Wortmarkenlogo + Audit-Label · Archetyp-Index (`№ NN of 08`) + Audit-Datum · numerischer Score (0–100) + Perzentil-Rangpille (`top 15%`) · der Archetyp-Name (einer von `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + 3-Schlüsselwort-Streifen · `// only N% of agents are this archetype`-Seltenheitszeile · 8×8 Pixel Sigel-Kachel · `audit yours → failproof.ai`-Fußzeile. Drei Share-Buttons befinden sich knapp außerhalb des Erfassungsbereichs: `post your archetype` (X-Intent), `share on linkedin`, `download poster`. Die Erfassung erfolgt über `html-to-image`, sodass das PNG pixelgenau dem Bildschirm-Rendering entspricht (gestrichelte Rahmen, SVG-Logo-Maske, Farbverläufe, Schriftmetriken – alles erhalten).
-2. **Stärken** — ruhige ✓-Zeilenliste der Verhaltensweisen, die dein Agent bereits richtig macht, abgeleitet aus den Live-Audit-Daten (saubere Tool-Aufruf-Rate, durchschnittliche Sitzungslänge, keine Credential-Lecks, keine Retry-Stürme usw.).
-3. **Eigenheiten** — Tabelle der Dinge, die durchgerutscht sind, nach Auswirkung gerankt: `Zeitpunkt · was durchgerutscht ist + Policy, die es abgefangen hätte · Schweregrad-Pille · Wiederkehr` (neu / Nx diese Woche / wiederkehrend).
-4. **So geht es besser** — ruhige Zeilenliste, eine pro empfohlener Policy: Policy-Name in weiß, einzeilige Beschreibung, Installationsbefehl + Kopierschaltfläche rechts. Ein `[install all]`-Button am Abschnitts-Header kopiert den kombinierten `failproofai policy add a b c …`-Befehl für jede empfohlene Policy.
-5. **Komm besser zurück** — zwei nebeneinander liegende Karten. Links: Erinnerung setzen (`3d` / `7d` / `14d` / `30d` Kadenz-Auswahl; wird nach Authentifizierung über `/api/auth/reminder` gespeichert). Rechts: failproof-Vergünstigungen freischalten — `invite a friend` öffnet ein Modal, das eine durch Komma/Leerzeichen/Zeilenumbruch getrennte Liste von Freundes-E-Mail-Adressen entgegennimmt (max. 10 pro Versendung), POSTet diese an `/api/audit/invite`, was an den `/v0/invite` des api-servers weitergeleitet wird. Der api-server sendet pro Empfänger eine E-Mail von `invite@failproof.ai`, wobei der Absender im Cc ist und `Reply-To` gesetzt ist, sodass der Empfänger sieht, wer ihn eingeladen hat, und der Absender eine Kopie in seinem Posteingang erhält. Anonyme Benutzer werden zuerst durch den `AuthDialog` geleitet, damit die E-Mail-Adresse des Absenders vor dem Versenden der Einladungen bekannt ist. Berechtigung / Vergünstigungserfüllung folgt zu einem späteren Zeitpunkt.
+1. **Poster** — füllt den ersten Viewport. Eigenständiger PNG-Erfassungsbereich mit dem failproof_ai-Schriftzug + Audit-Label · Archetyp-Index (`№ NN von 08`) + Audit-Datum · numerischer Score (0–100) + Perzentilrang-Pille (`top 15%`) · der Archetyp-Name (eines von: `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + 3-Keyword-Streifen · `// only N% of agents are this archetype`-Seltenheitszeile · 8×8-Pixel-Siegel-Kachel · `audit yours → failproof.ai`-Fußzeile. Drei Teilen-Schaltflächen befinden sich knapp außerhalb des Erfassungsbereichs: `post your archetype` (X-Intent), `share on linkedin`, `download poster`. Die Erfassung erfolgt über `html-to-image`, sodass das PNG pixelgenau der Bildschirmdarstellung entspricht (gestrichelte Rahmen, SVG-Logo-Maske, Verläufe, Schriftmetriken – alles erhalten).
+2. **Stärken** — ruhige ✓-Zeilenliste der Verhaltensweisen, die Ihr Agent bereits richtig macht, abgeleitet aus den Live-Audit-Daten (saubere Tool-Aufruf-Rate, keine direkten Pushes an main, keine Credential-Leaks, keine Retry-Stürme) — jede Zeile erscheint nur, wenn die relevante Richtlinie über das gesamte Audit-Fenster hinweg ein sauberes Protokoll aufweist.
+3. **Eigenheiten** — Tabelle der durchgerutschten Probleme, nach Schweregrad gerankt: `Zeitpunkt · was durchrutschte + die Richtlinie, die es abgefangen hätte · Schweregrad-Pille · gesehen`, wobei die Häufigkeit als `new` (einmal), `N× seen` (2–9 Mal) oder `recurring` (10+) angegeben wird.
+4. **So verbessern Sie sich** — ruhige Zeilenliste, eine pro empfohlener Richtlinie: Richtlinienname in Weiß, einzeilige Beschreibung, Installationsbefehl + Kopier-Schaltfläche auf der rechten Seite. Die Abschnittsüberschrift lautet `enable all N → projected · ` (der Score, den Sie mit allen Korrekturen erreichen würden), und die Schaltfläche `[install all]` kopiert den kombinierten `failproofai policy add a b c …`-Befehl für alle empfohlenen Richtlinien.
+5. **Kommen Sie besser zurück** — zwei nebeneinander angeordnete Karten. Links: Erinnerung setzen (`3d` / `7d` / `14d` / `30d` Intervall-Auswahl; wird über `/api/auth/reminder` nach Authentifizierung gespeichert). Rechts: failproof-Vorteile freischalten — `invite a friend` öffnet ein Modal, das eine komma-/leerzeichen-/zeilentrennte Liste von Freundes-E-Mail-Adressen entgegennimmt (max. 10 pro Versand), diese per POST an `/api/audit/invite` sendet, was an den api-server's `POST /v0/invite` weitergeleitet wird. Der api-server sendet eine E-Mail pro Empfänger von `invite@failproof.ai` mit dem Absender in Cc und gesetztem `Reply-To`, sodass der Empfänger sieht, wer ihn eingeladen hat, und der Absender eine Kopie im Posteingang erhält. Anonyme Benutzer werden zuerst durch den `AuthDialog` geleitet, damit die E-Mail-Adresse des Absenders bekannt ist, bevor Einladungen verschickt werden. Berechtigungs-/Vorteilsabwicklung folgt in einem späteren Schritt.
-Gesteuert von der `failproofai audit`-Laufzeit — siehe [Audit CLI](/de/cli/audit) für die zugrunde liegende Scan-Engine, unterstützte Flags und sitzungsspezifische Cache-Invarianten. Das Dashboard speichert das neueste Ergebnis unter `~/.failproofai/audit-dashboard.json` (Modus `0600`, einzelner Slot, neue Durchläufe überschreiben), sodass Besuche sofort laden; **sowohl der sitzungsbezogene als auch der gesamte Ergebnis-Cache werden beim Lesen verworfen, sobald sie älter als 7 Tage sind**, damit das Dashboard nie still ein über eine Woche altes Ergebnis ausliefert — nach Ablauf der TTL fällt `/audit` auf seinen leeren Zustand zurück und fordert einen neuen Durchlauf an. Ein Klick auf `[ re-audit now ]` am unteren Ende des Berichts sendet einen POST an `/api/audit/run` mit `noCache: true` — ein Re-Audit umgeht den sitzungsbezogenen Cache und scannt jedes Transkript von Grund auf neu, anstatt still das gecachte Ergebnis zurückzugeben — und das Dashboard fragt `/api/audit/status` mit 1 Hz ab, bis der Durchlauf abgeschlossen ist; ein pinker Fortschrittsstreifen heftet sich während des Durchlaufs mit einem Zeitmesser an den oberen Rand des Viewports, und das frische Ergebnis wird bei Erfolg an Ort und Stelle eingetauscht (kein vollständiger Seitenneustart; ein fehlgeschlagenes Re-Audit lässt den vorherigen Bericht unberührt). Bei einem Fehler wird der Streifen rot mit einem Text, der sich nach dem `RerunError.kind` richtet (`timeout` / `network` / `post_failed`). Leerzustand (kein Cache oder abgelaufen) und Null-Sitzungen-Zustand (Cache vorhanden, aber der Scan fand keine Transkripte) werden getrennt dargestellt.
+Betrieben durch die `failproofai audit`-Laufzeit — siehe [Audit CLI](/de/cli/audit) für die zugrunde liegende Scan-Engine, unterstützte Flags und sitzungsspezifische Cache-Invarianten. Das Dashboard speichert das neueste Ergebnis unter `~/.failproofai/audit-dashboard.json` (Modus `0600`, einzelner Slot, neue Läufe überschreiben) im Cache, sodass erneute Aufrufe sofort erfolgen; **sowohl der sitzungsspezifische als auch der gesamte Ergebnis-Cache werden beim Lesen verworfen, sobald sie älter als 7 Tage sind**, sodass das Dashboard nie stillschweigend ein wochenaltes Ergebnis liefert — nach Ablauf der TTL fällt `/audit` in seinen leeren Zustand zurück und fordert einen neuen Scan an. Ein Klick auf `[ re-audit now ]` am unteren Ende des Berichts sendet POST an `/api/audit/run` mit `noCache: true` — ein erneuter Audit umgeht den sitzungsspezifischen Cache und scannt jedes Transkript von Grund auf neu, anstatt stillschweigend das gecachte Ergebnis zurückzugeben — und das Dashboard fragt `/api/audit/status` mit 1 Hz ab, bis der Lauf abgeschlossen ist; ein pinker Fortschrittsstreifen wird während des Laufs mit einem Elapsed-Timer oben im Viewport angeheftet, und das neue Ergebnis wird nach Erfolg direkt eingetauscht (kein vollständiger Seitenneuladevorgang; ein fehlgeschlagener erneuter Audit lässt den vorherigen Bericht unverändert). Bei einem Fehler wird der Streifen rot mit einem auf `RerunError.kind` abgestimmten Text (`timeout` / `network` / `post_failed`). Leerer Zustand (kein Cache oder abgelaufen) und Nullsitzungszustand (Cache vorhanden, aber der Scan hat keine Transkripte gefunden) werden separat angezeigt.
-### Policies
+### Richtlinien
-Eine zweiseitige Seite zur Verwaltung von Policies und zur Überprüfung der Aktivitäten.
+Eine Seite mit zwei Tabs zur Verwaltung von Richtlinien und zur Überprüfung von Aktivitäten.
-
- - Wähle in einem einzigen Panel aus, welche Agent-CLIs failproofai schützt — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi und Gemini CLI haben jeweils eine Zeile mit Installationsstatus (`Active` / `Detected` / `Inactive`), dem benutzerbezogenen Einstellungspfad und einem markenspezifischen Akzent. Hake die gewünschten CLIs an oder ab und klicke auf `Apply changes`, um die Änderungen in einem Schritt zu installieren/deinstallieren. CLIs, deren Binary im PATH erkannt wird, sind vorausgewählt.
- - Einzelne Policies per Klick aktivieren oder deaktivieren (schreibt in `~/.failproofai/policies-config.json` — wird von jeder installierten CLI geteilt)
- - Eine Policy erweitern, um ihre Parameter zu konfigurieren (für Policies, die `policyParams` unterstützen)
- - Einen benutzerdefinierten Pfad für die Policies-Datei festlegen
+
+ - Wählen Sie in einem einzigen Panel aus, welche Agent-CLIs failproofai schützen soll — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi und Gemini CLI haben jeweils eine Zeile mit Installationsstatus (`Active` / `Detected` / `Inactive`), dem benutzerspezifischen Einstellungspfad und einem markenfarbenakzentuierten Akzent. Aktivieren oder deaktivieren Sie die gewünschten CLIs und klicken Sie auf `Apply changes`, um die Änderungen in einem Schritt zu installieren/deinstallieren. CLIs, deren Binary im PATH erkannt wird, sind vorab ausgewählt.
+ - Aktivieren oder deaktivieren Sie einzelne Richtlinien mit einem Klick (schreibt in `~/.failproofai/policies-config.json` — gilt für alle installierten CLIs)
+ - Erweitern Sie eine Richtlinie, um ihre Parameter zu konfigurieren (für Richtlinien, die `policyParams` unterstützen)
+ - Legen Sie einen benutzerdefinierten Pfad für die Richtliniendatei fest
-
- - Vollständige, seitenweise angezeigter Verlauf aller Hook-Ereignisse, die über alle Sitzungen hinweg ausgelöst wurden
- - Filtern nach Entscheidung, Ereignistyp, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), Policy-Name oder Sitzungs-ID
- - Jede Zeile zeigt: Zeitstempel, Policy-Name, Entscheidung, CLI-Badge (orange = Claude Code, lila = OpenAI Codex, blau = GitHub Copilot, smaragd = Cursor Agent, bernstein = OpenCode, pink = Pi, himmelblau = Gemini CLI), Tool-Name, Sitzungs-ID und den Grund für deny/instruct-Entscheidungen
- - Klicke auf eine Sitzungs-ID, um ihr Transkript zu öffnen — der Betrachter erkennt automatisch, welche CLI den Hook ausgelöst hat (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) und zeigt das passende CLI-Badge in der Kopfzeile an
+
+ - Vollständige seitenweise Historie aller Hook-Ereignisse, die über alle Sitzungen hinweg ausgelöst wurden
+ - Filtern nach Entscheidung, Ereignistyp, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(Beta)_ / Cursor Agent _(Beta)_ / OpenCode _(Beta)_ / Pi _(Beta)_ / Gemini CLI _(Beta)_), Richtlinienname oder Sitzungs-ID
+ - Jede Zeile zeigt: Zeitstempel, Richtlinienname, Entscheidung, CLI-Badge (orange = Claude Code, lila = OpenAI Codex, blau = GitHub Copilot, smaragdgrün = Cursor Agent, bernstein = OpenCode, pink = Pi, himmelblau = Gemini CLI), Tool-Name, Sitzungs-ID und den Grund für deny/instruct-Entscheidungen
+ - Klicken Sie auf eine Sitzungs-ID, um das Transkript zu öffnen — der Viewer erkennt automatisch, welche CLI den Hook ausgelöst hat (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) und zeigt das passende CLI-Badge in der Kopfzeile an
@@ -92,13 +92,13 @@ Eine zweiseitige Seite zur Verwaltung von Policies und zur Überprüfung der Akt
## Automatische Aktualisierung
-Das Dashboard verfügt über einen Auto-Refresh-Schalter in der oberen Navigation. Wenn aktiviert, aktualisiert sich die aktuelle Seite regelmäßig, um neue Sitzungen und Policy-Aktivitäten anzuzeigen, sobald sie auftreten. Unverzichtbar für die Überwachung langläufiger autonomer Agent-Sitzungen.
+Das Dashboard verfügt über eine Umschalttaste für die automatische Aktualisierung in der oberen Navigation. Wenn aktiviert, wird die aktuelle Seite regelmäßig aktualisiert, um neue Sitzungen und Richtlinienaktivitäten anzuzeigen, sobald sie erscheinen. Unverzichtbar für die Überwachung langläufiger autonomer Agent-Sitzungen.
---
## Seiten deaktivieren
-Wenn du nur bestimmte Teile des Dashboards benötigst, setze `FAILPROOFAI_DISABLE_PAGES` auf eine kommagetrennte Liste von Seitennamen:
+Wenn Sie nur bestimmte Teile des Dashboards benötigen, setzen Sie `FAILPROOFAI_DISABLE_PAGES` auf eine kommagetrennte Liste von Seitennamen:
```bash
FAILPROOFAI_DISABLE_PAGES=policies failproofai
@@ -110,7 +110,7 @@ Gültige Werte: `policies`, `projects`, `audit`.
## Projektpfad konfigurieren
-Standardmäßig liest das Dashboard aus dem Standard-Claude Code Projektverzeichnis. Überschreibe es für benutzerdefinierte Setups:
+Standardmäßig liest das Dashboard aus dem Standard-Claude Code-Projektverzeichnis. Überschreiben Sie es für benutzerdefinierte Setups:
```bash
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
@@ -120,30 +120,30 @@ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
## Zugriff von einem Nicht-localhost-Host
-Wenn das Dashboard im **Dev-Modus** (`npm run dev`) ausgeführt und von einem anderen Hostnamen als `localhost` aufgerufen wird — zum Beispiel einer benutzerdefinierten Domain, einer Remote-IP oder einer getunnelten URL — kann folgende Warnung erscheinen:
+Wenn Sie das Dashboard im **Dev-Modus** (`npm run dev`) ausführen und von einem anderen Hostnamen als `localhost` darauf zugreifen — zum Beispiel einer benutzerdefinierten Domain, einer Remote-IP oder einer getunnelten URL — wird möglicherweise eine Warnung angezeigt wie:
```text
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```
-Next.js blockiert damit Cross-Origin-Zugriffe auf seinen HMR-Websocket (Hot Module Reload), der nur im Dev-Modus verfügbar ist. Um deinen Host zuzulassen, verwende das `--allowed-origins`-Flag:
+Hierbei blockiert Next.js den ursprungsübergreifenden Zugriff auf seinen HMR-WebSocket (Hot Module Reload), der eine reine Entwicklungsfunktion ist. Um Ihren Host zuzulassen, verwenden Sie das Flag `--allowed-origins`:
```bash
npm run dev -- --allowed-origins dashboard.example.com
```
-Für mehrere Hosts oder IPs übergib eine kommagetrennte Liste:
+Für mehrere Hosts oder IPs übergeben Sie eine kommagetrennte Liste:
```bash
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
```
-Du kannst auch die Umgebungsvariable `FAILPROOFAI_ALLOWED_DEV_ORIGINS` verwenden:
+Sie können auch die Umgebungsvariable `FAILPROOFAI_ALLOWED_DEV_ORIGINS` setzen:
```bash
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
```
-Dies gilt nur für den Dev-Modus. Beim Ausführen von `failproofai` (Produktionsmodus) gibt es keinen HMR-Websocket und kein Cross-Origin-Dev-Ressourcen-Problem.
+Dies gilt nur für den Dev-Modus. Beim Ausführen von `failproofai` (Produktionsmodus) gibt es keinen HMR-WebSocket und keine ursprungsübergreifenden Dev-Ressourcenprobleme.
\ No newline at end of file
diff --git a/docs/es/cli/audit.mdx b/docs/es/cli/audit.mdx
index 95612961c..db80aa999 100644
--- a/docs/es/cli/audit.mdx
+++ b/docs/es/cli/audit.mdx
@@ -1,57 +1,97 @@
---
-title: Auditar sesiones pasadas (beta)
-description: "Cuenta con qué frecuencia el agente realizó acciones costosas o riesgosas en transcripciones anteriores"
+title: Auditar sesiones anteriores (beta)
+description: "Cuenta con qué frecuencia el agente realizó acciones innecesarias o arriesgadas en transcripciones pasadas"
---
- **Función beta.** La auditoría se lanza en beta mientras recopilamos retroalimentación temprana.
- El catálogo de detectores y el formato del informe pueden cambiar antes de la próxima versión estable.
- Por favor, abre un issue si algo no parece correcto.
+ **Función beta.** La auditoría se lanza como beta mientras recopilamos
+ comentarios iniciales. El catálogo de detectores y el formato del informe
+ pueden cambiar antes del próximo corte estable. Por favor, abre un issue si
+ algo no parece correcto.
-La auditoría está disponible como la **página del dashboard /audit**, no como un subcomando de CLI. Ábrela desde la barra de navegación del dashboard (entre Políticas y Proyectos), o visita `http://localhost:8020/audit` directamente cuando ejecutes `failproofai` localmente.
+La auditoría reproduce tus transcripciones pasadas del agente-CLI a través del
+motor de políticas de failproofai y genera un informe visual y compartible en
+la **página del panel `/audit`** — el arquetipo de tu agente, una puntuación
+de 0 a 100, y exactamente qué políticas habrían detectado qué.
-```bash
-failproofai # abre el dashboard, luego haz clic en "Audit"
+## Ejecución
+
+Tres formas de acceder — todas llevan al mismo informe `/audit`.
+
+
+
+```bash npx (no install)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-El dashboard escanea transcripciones pasadas del CLI del agente en esta máquina (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) e informa con qué frecuencia el agente hizo cosas que failproofai está diseñado para detener: comprobaciones de variables de entorno, force pushes, prefijos `cd ` redundantes, bucles de sleep-polling, relectura de archivos recién editados, y más.
+```bash failproofai (dashboard)
+failproofai
+```
+
+
+
+
+
+ `npx -y failproofai audit` descarga failproofai, ejecuta el análisis y abre
+ el panel por ti — no necesitas instalar nada antes.
+
+
+ `failproofai audit` ejecuta el análisis en tu terminal y luego abre
+ `localhost:8020/audit` automáticamente al finalizar.
+
+
+ Ejecuta `failproofai` y haz clic en **Audit** en la barra de navegación
+ (entre Policies y Projects), o abre `/audit` directamente.
+
+
+
+
+ Ejecuta `failproofai audit -h` (o `--help`) para ver el uso. La auditoría
+ funciona **completamente sin conexión** — no requiere cuenta ni red — y el
+ panel continúa sirviéndose hasta que lo detengas con `Ctrl+C`.
+
+
+El panel analiza las transcripciones pasadas del agente CLI en esta máquina (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) e informa con qué frecuencia el agente realizó acciones que failproofai está diseñado para detener — comprobaciones de variables de entorno, push forzados, prefijos redundantes `cd `, bucles de sondeo con sleep, re-lectura de archivos recién editados, y más.
-Por cada transcripción, cada evento de uso de herramientas se reproduce a través de las 39 políticas integradas **y** a través de 8 detectores exclusivos de auditoría que identifican patrones no cubiertos aún por las políticas en tiempo real. Los conteos se agregan por política/detector a través de todas las sesiones.
+Por cada transcripción, cada evento de uso de herramienta se reproduce a través de las 39 políticas integradas **y** a través de 8 detectores exclusivos de auditoría que identifican patrones que aún no están cubiertos por las políticas en tiempo de ejecución. Los recuentos se agregan por política / detector en todas las sesiones.
## Qué obtienes
-La página `/audit` está compuesta por seis secciones:
+La página `/audit` es un **póster** de una sola pantalla y compartible, seguido de cuatro secciones debajo del pliegue:
-1. **Identidad** — tu agente clasificado en uno de 8 arquetipos (`optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`) basado en la señal ponderada de todas las transcripciones auditadas.
-2. **Fortalezas** — números reales derivados del escaneo (% de llamadas limpias, "0 filtraciones de credenciales", etc.) condicionados a que las políticas de sanitización relevantes hayan disparado.
-3. **Puntuación** — de 0 a 100 con bandas S/A/B/C/D/F y una proyección de mejora si todas las políticas recomendadas estuvieran habilitadas.
-4. **Hallazgos** — tarjetas por política con lo que ocurrió, el costo, evidencia capturada y el comando exacto `failproofai policy add ` para habilitar el integrado en tiempo real que lo habría detectado.
-5. **Políticas recomendadas** — lista de instalación consolidada con un comando único `failproofai policies --install`.
-6. **Recordatorio de re-auditoría** — "vuelve mejor". Configura un recordatorio por correo electrónico de 7 días a través del servidor de API (requiere inicio de sesión; consulta [`failproofai auth`](/es/cli/auth)).
+1. **Póster** — la identidad de tu agente de un vistazo: su **arquetipo** (uno de 8 — `optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`), sus palabras clave de personalidad, qué tan raro es ese arquetipo, y una **puntuación de 0 a 100** con una banda de nivel (de `S` hasta `bottom tier`). Diseñado para compartir — publícalo en X o LinkedIn, o descárgalo como PNG.
+2. **`// strengths`** — lo que tu agente ya hace bien, con números reales del análisis (ej. porcentaje de llamadas a herramientas limpias, `0` intentos de push a main), mostrado solo cuando la política relevante tiene un historial limpio.
+3. **`// quirks`** — lo que se escapó: una tabla ordenada de comportamientos que failproofai habría detectado — *cuándo* ocurrió por última vez, *qué se escapó* (y la política integrada que lo habría bloqueado), su *gravedad*, y con qué frecuencia se *vio* (`new` / `recurring` / `N× seen`).
+4. **`// how to improve`** — la lista de correcciones recomendadas: una fila por política con un `failproofai policy add ` listo para copiar y pegar, más un botón **instalar todo** que habilita todas las recomendaciones a la vez y muestra tu **puntuación proyectada** si lo hicieras.
+5. **`// come back better`** — construye el hábito: establece un **recordatorio** de reauditoría por correo electrónico (`3d` / `7d` / `14d` / `30d`) o reaudita ahora, e **invita a un amigo** a ejecutar su propia auditoría (enviado desde failproof.ai, con copia a ti). Los recordatorios e invitaciones requieren inicio de sesión — ver [`failproofai auth`](/es/cli/auth).
## Detectores exclusivos de auditoría
-Estos detectan patrones de "comportamiento ineficiente" que no se aplican (aún) en tiempo real. Solo se ejecutan durante la auditoría y nunca bloquean una llamada de herramienta en vivo.
+Estos detectan patrones de comportamiento ineficiente que no están (todavía) aplicados en tiempo real. Solo se ejecutan durante la auditoría y nunca bloquean una llamada a herramienta en vivo.
| Detector | Qué cuenta |
|---|---|
-| `redundant-cd-cwd` | Comandos Bash que comienzan con `cd && …` aunque los comandos ya se ejecutan en `cwd`. |
-| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` sobre un único archivo fuente — usar la herramienta `Read` en su lugar. |
-| `prefer-edit-over-sed-awk` | Ediciones en sitio con `sed -i` / `awk … > file` — usar la herramienta `Edit` en su lugar. |
-| `prefer-write-over-heredoc` | Escritura de archivos con heredoc o `echo > file` multilínea — usar la herramienta `Write` en su lugar. |
-| `sleep-polling-loop` | `sleep N` prolongados (≥ 30s) o bucles de sondeo `while …; sleep …; done`. |
-| `find-from-root` | `find /`, `find /home`, `find /usr`, etc. — restringir al `cwd`. |
+| `redundant-cd-cwd` | Comandos Bash que comienzan con `cd && …` aunque los comandos ya se ejecuten en `cwd`. |
+| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` sobre un único archivo fuente — usa la herramienta `Read`. |
+| `prefer-edit-over-sed-awk` | Ediciones en sitio con `sed -i` / `awk … > file` — usa la herramienta `Edit`. |
+| `prefer-write-over-heredoc` | Escritura de archivos con heredoc / `echo > file` multilínea — usa la herramienta `Write`. |
+| `sleep-polling-loop` | `sleep N` largo (≥ 30s) o bucles de sondeo `while …; sleep …; done`. |
+| `find-from-root` | `find /`, `find /home`, `find /usr`, etc. — limita el alcance a `cwd`. |
| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, omitiendo los hooks. |
-| `reread-after-edit` | `Read` de un archivo que acababa de ser modificado con `Edit`/`Write` en la misma sesión. |
+| `reread-after-edit` | `Read` de un archivo que acaba de ser editado con `Edit`/`Write` en la misma sesión. |
## Cachés
-- **Caché por transcripción** en `~/.failproofai/cache/audit/.json`, con clave basada en `(mtime, size, engineVersion, detectorVersion)` — se invalida automáticamente cuando cambia la transcripción o el código de políticas/detectores. Cada entrada también almacena un timestamp `cachedAt` como **metadato TTL** (no forma parte de la clave de caché); las entradas con más de **7 días** de antigüedad se rechazan en la lectura para que los resultados de larga duración no sobrevivan a la evolución de los detectores.
-- **Caché del resultado completo** en `~/.failproofai/audit-dashboard.json` (modo 0600). Permite que el dashboard se muestre instantáneamente al navegar sin volver a ejecutar. También se rechaza en la lectura si supera el **TTL de 7 días** — `/audit` vuelve entonces a su estado vacío y solicita una nueva ejecución. Haz clic en `[ re-audit now ]` cerca de la parte inferior del informe para actualizar — la re-auditoría envía `noCache: true`, por lo que omite el caché por transcripción y vuelve a escanear todas las transcripciones en lugar de devolver el resultado en caché; la ejecución transmite el progreso mediante una franja fija en la parte superior y reemplaza el resultado en el lugar al completarse correctamente (sin recarga de página; si la re-auditoría falla, se conserva el informe anterior).
+- **Caché por transcripción** en `~/.failproofai/cache/audit/.json` con clave `(mtime, size, engineVersion, detectorVersion)` — se invalida automáticamente cuando la transcripción o el código de política/detector cambia. Cada entrada también almacena una marca de tiempo `cachedAt` como **metadatos TTL** (no forma parte de la clave de caché); las entradas con más de **7 días** de antigüedad se rechazan al leer para que los resultados de larga duración no sobrevivan a la evolución de la lógica de los detectores.
+- **Caché de resultado completo** en `~/.failproofai/audit-dashboard.json` (modo 0600). Permite que el panel se renderice instantáneamente al navegar sin volver a ejecutar el análisis. También se rechaza al leer pasado el **TTL de 7 días** — `/audit` entonces cae a su estado vacío y solicita una nueva ejecución. Haz clic en `[ re-audit now ]` cerca de la parte inferior del informe para actualizar — la reauditoría envía `noCache: true`, por lo que omite la caché por transcripción y vuelve a analizar cada transcripción en lugar de devolver el resultado en caché; la ejecución transmite el progreso mediante una barra adhesiva en la parte superior y reemplaza el resultado en su lugar al completarse correctamente (sin recarga de página; una reauditoría fallida conserva el informe anterior).
## Notas
-- **Sin mutaciones.** La auditoría se reproduce en modo de solo lectura. `warn-repeated-tool-calls` se omite porque de lo contrario su sidecar por sesión sería modificado.
-- **Políticas de flujo de trabajo omitidas.** Las políticas `require-*-before-stop` se activan solo en eventos `Stop` y ejecutan `execSync` contra el estado git en vivo — no tienen una interpretación significativa de "qué habría pasado en 2025", por lo que no aparecen en los conteos de auditoría.
+- **Sin mutación.** La auditoría se reproduce en modo de solo lectura. `warn-repeated-tool-calls` se omite porque su archivo auxiliar por sesión se modificaría de lo contrario.
+- **Políticas de flujo de trabajo omitidas.** Las políticas `require-*-before-stop` solo se activan en eventos `Stop` y ejecutan `execSync` contra el estado git activo — no tienen una interpretación significativa de tipo "qué habría pasado en 2025", por lo que no aparecen en los recuentos de auditoría.
- **Políticas personalizadas omitidas.** Los hooks personalizados proporcionados por el usuario no se reproducen (pueden haber cambiado desde la sesión original).
\ No newline at end of file
diff --git a/docs/es/dashboard.mdx b/docs/es/dashboard.mdx
index f27ff9d5c..48ef2be7a 100644
--- a/docs/es/dashboard.mdx
+++ b/docs/es/dashboard.mdx
@@ -16,7 +16,7 @@ failproofai
Se abre en `http://localhost:8020`.
-El dashboard lee directamente desde el sistema de archivos: las carpetas de proyectos de Claude Code y los archivos de configuración de failproofai. No se escribe nada en ningún servicio remoto.
+El dashboard lee directamente del sistema de archivos — tus carpetas de proyectos de Claude Code y los archivos de configuración de failproofai. No se escribe nada en un servicio remoto.
---
@@ -24,11 +24,11 @@ El dashboard lee directamente desde el sistema de archivos: las carpetas de proy
### Proyectos
-Lista todos los proyectos de Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_ y Gemini CLI _(beta)_ encontrados en tu máquina. Los proyectos de Claude se descubren desde `~/.claude/projects/` (o la ruta definida por `CLAUDE_PROJECTS_PATH`); los proyectos de Codex se descubren escaneando todas las transcripciones en `~/.codex/sessions////*.jsonl` y agrupando por el `cwd` registrado en el primer registro de cada sesión; los proyectos de Copilot CLI se descubren escaneando cada `~/.copilot/session-state//workspace.yaml` (configurable mediante `COPILOT_HOME`) y agrupando por su campo `cwd`; los proyectos de Cursor Agent se descubren escaneando metadatos por sesión en `~/.cursor/agent-sessions//` (configurable mediante `CURSOR_HOME`, con `conversations/` y `sessions/` como alternativas de búsqueda) para un escalar `cwd` en `meta.json` / `session.json` / `workspace.yaml`; los proyectos de OpenCode se descubren consultando su base de datos SQLite en `~/.local/share/opencode/opencode.db` mediante `opencode db --format json` (se leen las tablas `session` y `project` y se agrupan por `project_id`); los proyectos de Pi se descubren escaneando transcripciones JSONL por sesión en `~/.pi/agent/sessions//_.jsonl` (configurable mediante `PI_SESSIONS_DIR`) y extrayendo el `cwd` del primer registro de cada sesión; los proyectos de Gemini CLI se descubren escaneando `~/.gemini/tmp//chats/session--.jsonl` (configurable mediante `GEMINI_SESSIONS_DIR`) y recuperando el cwd canónico a partir del marcador de texto `.project_root` adyacente. Un proyecto que haya sido utilizado por múltiples CLIs se muestra como una sola fila con todas las insignias correspondientes. Usa el desplegable **CLI** sobre la tabla para filtrar por un agente CLI específico; la URL conserva tu selección como `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
+Lista todos los proyectos de Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_ y Gemini CLI _(beta)_ encontrados en tu máquina. Los proyectos de Claude se descubren desde `~/.claude/projects/` (o la ruta definida por `CLAUDE_PROJECTS_PATH`); los proyectos de Codex se descubren escaneando cada transcript en `~/.codex/sessions////*.jsonl` y agrupando por el `cwd` registrado en el primer registro de cada sesión; los proyectos de Copilot CLI se descubren escaneando cada `~/.copilot/session-state//workspace.yaml` (configurable mediante `COPILOT_HOME`) y agrupando por su campo `cwd`; los proyectos de Cursor Agent se descubren escaneando los metadatos por sesión en `~/.cursor/agent-sessions//` (configurable mediante `CURSOR_HOME`, con `conversations/` y `sessions/` como alternativas) buscando un valor escalar `cwd` en `meta.json` / `session.json` / `workspace.yaml`; los proyectos de OpenCode se descubren consultando su base de datos SQLite en `~/.local/share/opencode/opencode.db` mediante `opencode db --format json` (se leen las tablas `session` y `project` y se agrupan por `project_id`); los proyectos de Pi se descubren escaneando los transcripts JSONL por sesión en `~/.pi/agent/sessions//_.jsonl` (configurable mediante `PI_SESSIONS_DIR`) y extrayendo el `cwd` del primer registro de cada sesión; los proyectos de Gemini CLI se descubren escaneando `~/.gemini/tmp//chats/session--.jsonl` (configurable mediante `GEMINI_SESSIONS_DIR`) y recuperando el cwd canónico a partir del marcador de texto `.project_root` adyacente. Un proyecto que ha sido usado por múltiples CLIs se muestra como una sola fila con todos los badges correspondientes. Usa el menú desplegable **CLI** sobre la tabla para filtrar por un agente CLI específico; la URL conserva tu selección como `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
Cada proyecto muestra:
- Nombre del proyecto (derivado de la ruta de la carpeta)
-- Una insignia de CLI — `Claude Code` (naranja), `OpenAI Codex` (morado), `GitHub Copilot` (azul), `Cursor Agent` (esmeralda), `OpenCode` (ámbar), `Pi` (rosa) y/o `Gemini CLI` (celeste)
+- Un badge de CLI — `Claude Code` (naranja), `OpenAI Codex` (morado), `GitHub Copilot` (azul), `Cursor Agent` (esmeralda), `OpenCode` (ámbar), `Pi` (rosa) y/o `Gemini CLI` (celeste)
- Fecha de la actividad de sesión más reciente
Haz clic en un proyecto para ver sus sesiones.
@@ -47,44 +47,44 @@ Haz clic en una sesión para abrir el visor de sesión.
### Visor de sesión
-El visor de sesión responde la pregunta clave para agentes autónomos: ¿qué hizo el agente y se mantuvo en curso? Una insignia de CLI junto al encabezado indica si la sesión es una transcripción de Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi o Gemini CLI. Muestra una línea de tiempo de todo lo que ocurrió en una sesión:
+El visor de sesión responde la pregunta clave para agentes autónomos: ¿qué hizo el agente y se mantuvo en el camino correcto? Un badge de CLI junto al encabezado indica si la sesión es un transcript de Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi o Gemini CLI. Muestra una línea de tiempo de todo lo que ocurrió en una sesión:
-- **Mensajes** - Las respuestas de texto de Claude y los prompts del usuario
-- **Llamadas a herramientas** - Cada herramienta que Claude invocó, con su entrada y salida
-- **Actividad de políticas** - Para cada llamada a herramienta, qué políticas se activaron y qué decisión devolvieron
+- **Mensajes** — Las respuestas de texto de Claude y los prompts del usuario
+- **Llamadas a herramientas** — Cada herramienta que invocó Claude, con su entrada y salida
+- **Actividad de políticas** — Para cada llamada a herramienta, qué políticas se activaron y qué decisión devolvieron
-La barra de estadísticas en la parte superior muestra la duración de la sesión, el total de llamadas a herramientas y un resumen de las decisiones de los hooks (conteos de allow / deny / instruct).
+La barra de estadísticas en la parte superior muestra la duración de la sesión, el total de llamadas a herramientas y un resumen de las decisiones de los hooks (recuentos de allow / deny / instruct).
-Haz clic en el botón **Download Logs** para exportar la sesión. Para sesiones de Claude Code, Codex, Copilot, Cursor, Pi y Gemini obtienes la transcripción JSONL original en disco byte a byte; para OpenCode (cuyas sesiones residen en SQLite, no en disco) obtienes un documento JSON que refleja las tablas subyacentes `session` / `messages` / `parts`.
+Haz clic en el botón **Download Logs** para exportar la sesión. Para sesiones de Claude Code, Codex, Copilot, Cursor, Pi y Gemini obtienes el transcript JSONL original en disco byte a byte; para OpenCode (cuyas sesiones residen en SQLite, no en disco) obtienes un documento JSON que refleja las tablas subyacentes `session` / `messages` / `parts`.
### Audit
-Un informe con personalidad sobre cómo se ha comportado realmente tu agente a lo largo de sesiones pasadas. Ejecuta el mismo escaneo que el CLI `failproofai audit`, pero lo presenta como un póster compartible en pantalla completa más cuatro secciones debajo del pliegue:
+Un informe con personalidad propia sobre cómo se ha comportado realmente tu agente a lo largo de sesiones anteriores. Ejecuta el mismo análisis que el CLI `failproofai audit` pero lo presenta como un póster de pantalla completa compartible + cuatro secciones debajo del pliegue:
-1. **Póster** — ocupa el primer viewport. Región de captura PNG autónoma con el logotipo de failproof_ai + etiqueta de auditoría · índice de arquetipo (`№ NN of 08`) + fecha de auditoría · puntuación numérica (0–100) + píldora de rango percentil (`top 15%`) · el nombre del arquetipo (uno de `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + franja de 3 palabras clave · línea de rareza `// only N% of agents are this archetype` · mosaico de sigilo de 8×8 píxeles · pie de página `audit yours → failproof.ai`. Tres botones de compartir se sitúan justo fuera del área de captura: `post your archetype` (intento en X), `share on linkedin`, `download poster`. La captura se realiza mediante `html-to-image`, por lo que el PNG coincide píxel a píxel con el renderizado en pantalla (bordes discontinuos, máscara SVG del logo, degradados, métricas de fuente — todo preservado).
-2. **Strengths** — lista de filas ✓ tranquilas con los comportamientos que tu agente ya hace bien, derivados de los datos de auditoría en vivo (tasa de llamadas a herramientas limpias, duración media de sesión, cero filtraciones de credenciales, cero tormentas de reintentos, etc.).
-3. **Quirks** — tabla de lo que se coló, ordenado por impacto: `momento · qué se coló + política que lo habría detectado · píldora de gravedad · recurrencia` (nuevo / Nx esta semana / recurrente).
-4. **How to improve** — lista de filas tranquilas, una por política prescrita: nombre de política en blanco, descripción en una línea, comando de instalación + botón de copiar a la derecha. Un botón `[install all]` en el encabezado de la sección copia el comando combinado `failproofai policy add a b c …` para cada política prescrita.
-5. **Come back better** — dos tarjetas una al lado de la otra. Izquierda: establecer un recordatorio (selector de cadencia `3d` / `7d` / `14d` / `30d`; persiste mediante `/api/auth/reminder` una vez autenticado). Derecha: desbloquear ventajas de failproof — `invite a friend` abre un modal que acepta una lista de correos electrónicos de amigos separados por coma, espacio o salto de línea (máximo 10 por envío), hace POST a `/api/audit/invite`, que reenvía al servidor API `POST /v0/invite`. El servidor API envía un correo por destinatario desde `invite@failproof.ai` con el remitente en Cc y `Reply-To` configurado, de modo que el destinatario ve quién lo invitó y el remitente recibe una copia en su bandeja de entrada. Los usuarios anónimos son redirigidos primero a través del `AuthDialog` para que el correo del remitente sea conocido antes de enviar las invitaciones. El cumplimiento de derechos y ventajas es un seguimiento pendiente.
+1. **Póster** — ocupa el primer viewport. Región de captura PNG autónoma con el logotipo de failproof_ai + etiqueta de auditoría · índice de arquetipo (`№ NN of 08`) + fecha de auditoría · puntuación numérica (0–100) + pastilla de percentil (`top 15%`) · el nombre del arquetipo (uno de `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + tira de 3 palabras clave · línea de rareza `// only N% of agents are this archetype` · mosaico de símbolo de 8×8 píxeles · pie de página `audit yours → failproof.ai`. Tres botones de compartir se ubican justo fuera del área de captura: `post your archetype` (X intent), `share on linkedin`, `download poster`. La captura se ejecuta a través de `html-to-image`, por lo que el PNG coincide píxel a píxel con lo que se muestra en pantalla (bordes punteados, máscara de logo SVG, degradados, métricas de fuente — todo preservado).
+2. **Fortalezas** — lista en calma con marca ✓ de comportamientos que tu agente ya hace bien, derivados de los datos de auditoría en vivo (tasa limpia de llamadas a herramientas, sin push directos a main, cero filtraciones de credenciales, cero tormentas de reintentos) — cada uno se muestra solo cuando la política relevante tiene un historial limpio durante el período de auditoría.
+3. **Peculiaridades** — tabla de lo que se pasó por alto, ordenado por severidad: `cuándo · qué se pasó + la política que lo habría detectado · pastilla de severidad · visto`, donde la recurrencia se lee como `new` (una vez), `N× seen` (2–9 veces) o `recurring` (10+).
+4. **Cómo mejorar** — lista en calma, una entrada por política prescrita: nombre de la política en blanco, descripción de una línea, comando de instalación + botón de copiar en el lado derecho. El encabezado de la sección dice `enable all N → projected · ` (la puntuación que alcanzarías con todas las correcciones aplicadas), y su botón `[install all]` copia el comando combinado `failproofai policy add a b c …` para todas las políticas prescritas.
+5. **Vuelve mejorado** — dos tarjetas lado a lado. Izquierda: configura un recordatorio (selector de cadencia `3d` / `7d` / `14d` / `30d`; persiste a través de `/api/auth/reminder` una vez autenticado). Derecha: desbloquea ventajas de failproof — `invite a friend` abre un modal que acepta una lista de correos de amigos separados por comas, espacios o saltos de línea (máximo 10 por envío), los envía mediante POST a `/api/audit/invite`, que los reenvía al `POST /v0/invite` del api-server. El api-server envía un correo por destinatario desde `invite@failproof.ai` con el remitente en Cc y `Reply-To` configurado, de modo que el destinatario ve quién lo invitó y el remitente recibe una copia en su bandeja de entrada. Los usuarios anónimos son dirigidos primero a `AuthDialog` para que el correo del remitente sea conocido antes de enviar las invitaciones. La gestión de derechos y ventajas es un paso posterior.
-Impulsado por el runtime `failproofai audit` — consulta [Audit CLI](/es/cli/audit) para conocer el motor de escaneo subyacente, los indicadores admitidos y las invariantes de caché por transcripción. El dashboard almacena en caché el último resultado en `~/.failproofai/audit-dashboard.json` (modo `0600`, ranura única, las nuevas ejecuciones sobrescriben) para que las revisitas sean instantáneas; **tanto la caché por transcripción como la caché del resultado completo se rechazan al leerlas si tienen más de 7 días de antigüedad**, por lo que el dashboard nunca sirve silenciosamente un resultado de una semana atrás — pasado el TTL, `/audit` cae a su estado vacío y solicita una nueva ejecución. Hacer clic en `[ re-audit now ]` cerca de la parte inferior del informe envía un POST a `/api/audit/run` con `noCache: true` — la re-auditoría omite la caché por transcripción y vuelve a escanear cada transcripción desde cero en lugar de devolver silenciosamente el resultado en caché — y el dashboard sondea `/api/audit/status` a 1Hz hasta que la ejecución finaliza; una franja de progreso rosa fija se ancla en la parte superior del viewport durante la ejecución con un temporizador de tiempo transcurrido, y el resultado actualizado se reemplaza en su lugar al completarse (sin recarga completa de página; una re-auditoría fallida deja intacto el informe anterior). En caso de fallo, la franja se vuelve roja con texto asociado al `RerunError.kind` (`timeout` / `network` / `post_failed`). El estado vacío (sin caché o caducada) y el estado de cero sesiones (la caché existe pero el escaneo no encontró transcripciones) se presentan por separado.
+Impulsado por el runtime de `failproofai audit` — consulta [Audit CLI](/es/cli/audit) para el motor de análisis subyacente, flags compatibles e invariantes de caché por transcript. El dashboard almacena en caché el último resultado en `~/.failproofai/audit-dashboard.json` (modo `0600`, un solo slot, las nuevas ejecuciones sobreescriben) para que las revisitas sean instantáneas; **tanto la caché por transcript como la caché del resultado completo se rechazan al leerse si tienen más de 7 días**, por lo que el dashboard nunca sirve silenciosamente un resultado de hace una semana — pasado el TTL, `/audit` cae a su estado vacío y solicita una nueva ejecución. Al hacer clic en `[ re-audit now ]` cerca de la parte inferior del informe se envía un POST a `/api/audit/run` con `noCache: true` — la re-auditoría omite la caché por transcript y vuelve a analizar cada transcript desde cero en lugar de devolver silenciosamente el resultado en caché — y el dashboard consulta `/api/audit/status` a 1 Hz hasta que la ejecución finaliza; una banda de progreso rosa fija se ancla en la parte superior del viewport durante la ejecución con un temporizador transcurrido, y el resultado actualizado reemplaza el anterior en su lugar al completarse con éxito (sin recarga de página completa; una re-auditoría fallida deja el informe anterior intacto). En caso de fallo, la banda se vuelve roja con un mensaje según `RerunError.kind` (`timeout` / `network` / `post_failed`). El estado vacío (sin caché o expirado) y el estado de cero sesiones (la caché existe pero el análisis no encontró transcripts) se muestran por separado.
-### Policies
+### Políticas
-Una página con dos pestañas para gestionar políticas y revisar actividad.
+Una página con dos pestañas para gestionar políticas y revisar la actividad.
-
- - Selecciona múltiples CLIs de agentes que failproofai protege desde un único panel — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi y Gemini CLI tienen cada uno una fila con el estado de instalación (`Active` / `Detected` / `Inactive`), la ruta de configuración de ámbito de usuario y un acento de color de marca. Marca o desmarca los CLIs que desees y haz clic en `Apply changes` para instalar/desinstalar la diferencia en un solo paso. Los CLIs cuyo binario se detecta en PATH se marcan previamente.
+
+ - Selección múltiple de qué CLIs de agentes protege failproofai desde un único panel — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi y Gemini CLI tienen cada uno una fila con el estado de instalación (`Active` / `Detected` / `Inactive`), la ruta de configuración del scope de usuario y un acento de color de marca. Marca o desmarca los CLIs que deseas y haz clic en `Apply changes` para instalar/desinstalar la diferencia en un solo paso. Los CLIs cuyo binario se detecta en PATH se marcan previamente.
- Activa o desactiva políticas individuales con un solo clic (escribe en `~/.failproofai/policies-config.json` — compartido entre todos los CLIs instalados)
- Expande una política para configurar sus parámetros (para políticas que admiten `policyParams`)
- - Establece una ruta de archivo de políticas personalizada
+ - Establece una ruta de archivo de políticas personalizadas
-
+
- Historial completo paginado de cada evento de hook que se ha activado en todas las sesiones
- - Filtra por decisión, tipo de evento, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), nombre de política o ID de sesión
- - Cada fila muestra: marca de tiempo, nombre de política, decisión, insignia de CLI (naranja = Claude Code, morado = OpenAI Codex, azul = GitHub Copilot, esmeralda = Cursor Agent, ámbar = OpenCode, rosa = Pi, celeste = Gemini CLI), nombre de herramienta, ID de sesión y el motivo de las decisiones deny/instruct
- - Haz clic en un ID de sesión para abrir su transcripción — el visor detecta automáticamente qué CLI activó el hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) y muestra la insignia de CLI correspondiente en el encabezado
+ - Filtro por decisión, tipo de evento, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), nombre de política o ID de sesión
+ - Cada fila muestra: marca de tiempo, nombre de política, decisión, badge de CLI (naranja = Claude Code, morado = OpenAI Codex, azul = GitHub Copilot, esmeralda = Cursor Agent, ámbar = OpenCode, rosa = Pi, celeste = Gemini CLI), nombre de herramienta, ID de sesión y el motivo de las decisiones deny/instruct
+ - Haz clic en un ID de sesión para abrir su transcript — el visor detecta automáticamente qué CLI activó el hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) y muestra el badge de CLI correspondiente en el encabezado
@@ -92,13 +92,13 @@ Una página con dos pestañas para gestionar políticas y revisar actividad.
## Actualización automática
-El dashboard tiene un interruptor de actualización automática en la navegación superior. Cuando está habilitado, la página actual se actualiza periódicamente para mostrar nuevas sesiones y actividad de políticas a medida que aparecen. Es esencial para monitorear sesiones de agentes autónomos de larga duración.
+El dashboard tiene un botón de actualización automática en la navegación superior. Cuando está habilitado, la página actual se refresca periódicamente para mostrar nuevas sesiones y actividad de políticas a medida que aparecen. Es esencial para monitorear sesiones de agentes autónomos de larga duración.
---
## Deshabilitar páginas
-Si solo necesitas algunas partes del dashboard, establece `FAILPROOFAI_DISABLE_PAGES` con una lista separada por comas de nombres de páginas:
+Si solo necesitas algunas partes del dashboard, establece `FAILPROOFAI_DISABLE_PAGES` con una lista de nombres de páginas separados por comas:
```bash
FAILPROOFAI_DISABLE_PAGES=policies failproofai
@@ -110,7 +110,7 @@ Valores válidos: `policies`, `projects`, `audit`.
## Configurar la ruta de proyectos
-De forma predeterminada, el dashboard lee desde el directorio estándar de proyectos de Claude Code. Sobreescríbelo para configuraciones personalizadas:
+Por defecto, el dashboard lee del directorio estándar de proyectos de Claude Code. Puedes sobreescribirlo para configuraciones personalizadas:
```bash
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
@@ -120,13 +120,13 @@ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
## Acceder desde un host que no sea localhost
-Cuando se ejecuta el dashboard en **modo dev** (`npm run dev`) y se accede desde un nombre de host distinto a `localhost` — por ejemplo, un dominio personalizado, una IP remota o una URL tunelizada — es posible que veas una advertencia como:
+Cuando ejecutas el dashboard en **modo dev** (`npm run dev`) y accedes a él desde un hostname distinto de `localhost` — por ejemplo, un dominio personalizado, una IP remota o una URL tunelizada — puede aparecer una advertencia como:
```text
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```
-Esto ocurre porque Next.js bloquea el acceso de origen cruzado a su websocket de HMR (recarga en caliente de módulos), que es una característica exclusiva del modo de desarrollo. Para permitir tu host, usa el indicador `--allowed-origins`:
+Esto es Next.js bloqueando el acceso de origen cruzado a su websocket HMR (recarga en caliente de módulos), que es una función exclusiva del modo dev. Para permitir tu host, usa el flag `--allowed-origins`:
```bash
npm run dev -- --allowed-origins dashboard.example.com
@@ -145,5 +145,5 @@ FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
```
-Esto solo aplica al modo dev. Al ejecutar `failproofai` (modo producción), no hay websocket de HMR ni problema de recursos de desarrollo de origen cruzado.
+Esto solo aplica al modo dev. Al ejecutar `failproofai` (modo producción), no hay websocket HMR ni problema de recursos dev de origen cruzado.
\ No newline at end of file
diff --git a/docs/fr/cli/audit.mdx b/docs/fr/cli/audit.mdx
index 7e2b0c815..efb678b4c 100644
--- a/docs/fr/cli/audit.mdx
+++ b/docs/fr/cli/audit.mdx
@@ -1,57 +1,96 @@
---
title: Auditer les sessions passées (bêta)
-description: "Compter la fréquence à laquelle l'agent a effectué des opérations inutiles ou risquées dans les transcriptions passées"
+description: "Comptabiliser la fréquence des comportements inefficaces ou risqués dans les transcriptions passées"
---
- **Fonctionnalité bêta.** L'audit est disponible en bêta pendant la collecte des premiers retours.
- Le catalogue de détecteurs et le format du rapport peuvent évoluer avant la prochaine version stable.
- N'hésitez pas à ouvrir une issue si quelque chose vous semble incorrect.
+ **Fonctionnalité bêta.** L'audit est livré en bêta pendant que nous recueillons les premiers retours.
+ Le catalogue de détecteurs et le format des rapports sont susceptibles d'évoluer avant la prochaine version stable.
+ N'hésitez pas à ouvrir un ticket si quelque chose vous semble incorrect.
-L'audit est désormais accessible via la **page du tableau de bord /audit**, et non comme sous-commande CLI. Ouvrez-la depuis la barre de navigation du tableau de bord (entre Policies et Projects), ou accédez directement à `http://localhost:8020/audit` lorsque vous exécutez `failproofai` en local.
+L'audit rejoue vos transcriptions passées de l'agent CLI à travers le moteur de politiques de failproofai
+et génère un rapport visuel partageable sur la **page `/audit` du tableau de bord**
+— l'archétype de votre agent, un score de 0 à 100, et précisément quelles politiques
+auraient détecté quoi.
-```bash
-failproofai # open the dashboard, then click "Audit"
+## Lancer l'audit
+
+Trois façons de procéder — toutes aboutissent au même rapport `/audit`.
+
+
+
+```bash npx (no install)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-Le tableau de bord analyse les transcriptions passées de l'agent CLI sur cette machine (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) et indique la fréquence à laquelle l'agent a effectué des actions que failproofai est conçu pour bloquer — vérifications de variables d'environnement, force pushes, préfixes `cd ` redondants, boucles sleep-polling, re-lecture de fichiers récemment modifiés, et bien d'autres.
+```bash failproofai (dashboard)
+failproofai
+```
+
+
+
+
+
+ `npx -y failproofai audit` télécharge failproofai, lance l'analyse et ouvre le
+ tableau de bord pour vous — aucune installation préalable nécessaire.
+
+
+ `failproofai audit` exécute l'analyse dans votre terminal, puis ouvre
+ `localhost:8020/audit` automatiquement une fois terminé.
+
+
+ Lancez `failproofai` et cliquez sur **Audit** dans la barre de navigation (entre Politiques et
+ Projets), ou ouvrez `/audit` directement.
+
+
+
+
+ Exécutez `failproofai audit -h` (ou `--help`) pour afficher l'aide. L'audit fonctionne **entièrement
+ hors ligne** — aucun compte ni connexion réseau requis — et le tableau de bord reste actif
+ jusqu'à ce que vous l'arrêtiez avec `Ctrl+C`.
+
+
+Le tableau de bord analyse les transcriptions passées de l'agent CLI sur cette machine (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) et indique la fréquence à laquelle l'agent a effectué des actions que failproofai est conçu pour bloquer — vérifications de variables d'environnement, push forcés, préfixes `cd ` redondants, boucles de polling avec sleep, relecture de fichiers venant d'être modifiés, et bien d'autres.
-Pour chaque transcription, chaque événement d'utilisation d'outil est rejoué à travers les 39 politiques intégrées **et** à travers 8 détecteurs réservés à l'audit, qui repèrent des patterns non encore couverts par les politiques en temps réel. Les occurrences sont agrégées par politique / détecteur sur l'ensemble des sessions.
+Pour chaque transcription, chaque événement d'utilisation d'outil est rejoué à travers les 39 politiques intégrées **et** à travers 8 détecteurs réservés à l'audit, qui identifient des comportements non encore couverts par les politiques en temps réel. Les comptages sont agrégés par politique/détecteur sur l'ensemble des sessions.
## Ce que vous obtenez
-La page `/audit` se compose de six sections :
+La page `/audit` est une **affiche** sur un seul écran, partageable, suivie de quatre sections sous le pli :
-1. **Identité** — votre agent est classifié dans l'un des 8 archétypes (`optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`) en fonction du signal pondéré issu de toutes les transcriptions auditées.
-2. **Points forts** — chiffres concrets issus de l'analyse (pourcentage d'appels propres, « 0 fuite de credentials », etc.) conditionnés à l'activation effective des politiques sanitize concernées.
-3. **Score** — de 0 à 100 avec les niveaux S/A/B/C/D/F et une projection de l'amélioration si toutes les politiques recommandées étaient activées.
-4. **Résultats** — fiches par politique indiquant ce qui s'est passé, le coût, les preuves collectées, et la commande exacte `failproofai policy add ` pour activer le builtin en temps réel qui l'aurait intercepté.
-5. **Politiques prescrites** — liste d'installation agrégée avec une commande `failproofai policies --install` en une seule fois.
-6. **Rappel de ré-audit** — « revenez amélioré. » Programmez un rappel par e-mail dans 7 jours via l'api-server (connexion requise ; voir [`failproofai auth`](/fr/cli/auth)).
+1. **Affiche** — l'identité de votre agent en un coup d'œil : son **archétype** (parmi 8 — `optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`), ses mots-clés de persona, la rareté de cet archétype, et un **score de 0 à 100** avec une bande de niveau (`S` jusqu'à `bottom tier`). Conçu pour être partagé — publiez sur X ou LinkedIn, ou téléchargez en PNG.
+2. **`// strengths`** — ce que votre agent fait déjà bien, sous forme de données réelles issues de l'analyse (ex. : % d'appels d'outils propres, `0` tentatives de push sur main), affiché uniquement lorsque la politique concernée n'a enregistré aucun incident.
+3. **`// quirks`** — ce qui a échappé au contrôle : un tableau classé des comportements que failproofai aurait interceptés — *quand* c'est arrivé pour la dernière fois, *ce qui a glissé* (et le détecteur intégré qui l'aurait bloqué), sa *sévérité*, et la fréquence d'apparition (`new` / `recurring` / `N× seen`).
+4. **`// how to improve`** — la liste des correctifs recommandés : une ligne par politique avec une commande `failproofai policy add ` à copier-coller, plus un bouton **install all** qui active toutes les recommandations d'un coup et affiche votre **score projeté** si vous le faisiez.
+5. **`// come back better`** — ancrez la bonne habitude : configurez un **rappel** par e-mail pour relancer l'audit (`3d` / `7d` / `14d` / `30d`) ou relancez-le maintenant, et **invitez un ami** à effectuer le sien (envoyé depuis failproof.ai, en Cc pour vous). Les rappels et invitations nécessitent une connexion — voir [`failproofai auth`](/fr/cli/auth).
## Détecteurs réservés à l'audit
-Ces détecteurs repèrent des patterns de « comportement inutile » qui ne sont pas (encore) appliqués en temps réel. Ils ne s'exécutent que lors de l'audit et ne bloquent jamais un appel d'outil en direct.
+Ces détecteurs identifient des comportements «inutilement coûteux» qui ne sont pas (encore) appliqués en temps réel. Ils ne s'exécutent que lors de l'audit et ne bloquent jamais un appel d'outil en direct.
-| Détecteur | Ce qu'il compte |
+| Détecteur | Ce qu'il comptabilise |
|---|---|
| `redundant-cd-cwd` | Commandes Bash commençant par `cd && …` alors que les commandes s'exécutent déjà dans `cwd`. |
-| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` sur un seul fichier source — utilisez l'outil `Read`. |
-| `prefer-edit-over-sed-awk` | Modifications en place avec `sed -i` / `awk … > file` — utilisez l'outil `Edit`. |
-| `prefer-write-over-heredoc` | Écriture de fichiers via heredoc / `echo > file` multiligne — utilisez l'outil `Write`. |
-| `sleep-polling-loop` | `sleep N` de longue durée (≥ 30s) ou boucles de polling `while …; sleep …; done`. |
-| `find-from-root` | `find /`, `find /home`, `find /usr`, etc. — limitez la portée à `cwd`. |
-| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, contournant les hooks. |
-| `reread-after-edit` | `Read` d'un fichier qui vient d'être modifié via `Edit`/`Write` dans la même session. |
+| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` sur un seul fichier source — utiliser plutôt l'outil `Read`. |
+| `prefer-edit-over-sed-awk` | Éditions en place avec `sed -i` / `awk … > file` — utiliser plutôt l'outil `Edit`. |
+| `prefer-write-over-heredoc` | Écriture de fichiers avec heredoc / `echo > file` multiligne — utiliser plutôt l'outil `Write`. |
+| `sleep-polling-loop` | Longs `sleep N` (≥ 30s) ou boucles de polling `while …; sleep …; done`. |
+| `find-from-root` | `find /`, `find /home`, `find /usr`, etc. — limiter la portée à `cwd`. |
+| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, ignorant les hooks. |
+| `reread-after-edit` | Lecture (`Read`) d'un fichier qui vient d'être modifié (`Edit`/`Write`) dans la même session. |
## Caches
-- **Cache par transcription** dans `~/.failproofai/cache/audit/.json`, indexé par `(mtime, size, engineVersion, detectorVersion)` — invalidé automatiquement lorsque la transcription ou le code des politiques/détecteurs change. Chaque entrée stocke également un horodatage `cachedAt` comme **métadonnée TTL** (ne faisant pas partie de la clé de cache) ; les entrées de plus de **7 jours** sont rejetées à la lecture afin que les résultats anciens ne survivent pas à l'évolution des détecteurs.
-- **Cache du résultat global** dans `~/.failproofai/audit-dashboard.json` (mode 0600). Permet au tableau de bord de s'afficher instantanément lors de la navigation sans relancer l'analyse. Également rejeté à la lecture après la **TTL de 7 jours** — `/audit` bascule alors vers son état vide et invite à relancer une analyse. Cliquez sur `[ re-audit now ]` en bas du rapport pour actualiser — le ré-audit envoie `noCache: true`, ce qui contourne le cache par transcription et réanalyse toutes les transcriptions au lieu de retourner le résultat mis en cache ; l'exécution diffuse la progression via une bandeaux fixe en haut et remplace le résultat en place en cas de succès (sans rechargement de page ; un ré-audit échoué conserve le rapport précédent).
+- **Cache par transcription** dans `~/.failproofai/cache/audit/.json`, indexé par `(mtime, size, engineVersion, detectorVersion)` — invalidé automatiquement lorsque la transcription ou le code des politiques/détecteurs change. Chaque entrée stocke également un horodatage `cachedAt` comme **métadonnée de TTL** (non incluse dans la clé de cache) ; les entrées de plus de **7 jours** sont rejetées à la lecture afin que les résultats anciens ne survivent pas à l'évolution des détecteurs.
+- **Cache du résultat global** dans `~/.failproofai/audit-dashboard.json` (mode 0600). Permet au tableau de bord de s'afficher instantanément lors de la navigation sans relancer l'analyse. Également rejeté à la lecture au-delà du **TTL de 7 jours** — `/audit` revient alors à son état vide et invite à effectuer une nouvelle analyse. Cliquez sur `[ re-audit now ]` en bas du rapport pour actualiser — ce nouveau passage envoie `noCache: true`, ce qui contourne le cache par transcription et réanalyse toutes les transcriptions au lieu de retourner le résultat mis en cache ; l'exécution diffuse la progression via une bande fixe en haut de l'écran et remplace le résultat en cas de succès (sans rechargement de page ; en cas d'échec, le rapport précédent est conservé).
-## Remarques
+## Notes
-- **Aucune mutation.** L'audit s'exécute en mode lecture seule. `warn-repeated-tool-calls` est ignoré car son sidecar de session serait sinon modifié.
-- **Politiques de workflow ignorées.** Les politiques `require-*-before-stop` ne se déclenchent que sur les événements `Stop` et s'exécutent via `execSync` sur l'état git en direct — elles n'ont pas d'interprétation pertinente pour « ce qui se serait passé en 2025 » et n'apparaissent donc pas dans les comptages d'audit.
+- **Aucune modification.** L'audit rejoue en mode lecture seule. `warn-repeated-tool-calls` est ignoré car son sidecar par session serait autrement modifié.
+- **Politiques de workflow ignorées.** Les politiques `require-*-before-stop` se déclenchent uniquement sur les événements `Stop` et via `execSync` sur l'état git en direct — elles n'ont pas d'interprétation pertinente de type «qu'aurait-il pu se passer en 2025», et n'apparaissent donc pas dans les comptages de l'audit.
- **Politiques personnalisées ignorées.** Les hooks personnalisés fournis par l'utilisateur ne sont pas rejoués (ils peuvent avoir changé depuis la session d'origine).
\ No newline at end of file
diff --git a/docs/fr/dashboard.mdx b/docs/fr/dashboard.mdx
index 02f02526e..c5452303c 100644
--- a/docs/fr/dashboard.mdx
+++ b/docs/fr/dashboard.mdx
@@ -1,22 +1,22 @@
---
-title: Dashboard
-description: "Surveillez les sessions d'agents, examinez les appels d'outils et gérez les politiques"
+title: Tableau de bord
+description: "Surveiller les sessions d'agents, examiner les appels d'outils et gérer les politiques"
icon: chart-line
---
-Le dashboard failproofai est une application web locale pour surveiller vos sessions d'agents IA et gérer vos politiques. Voyez ce que vos agents ont fait en votre absence.
+Le tableau de bord failproofai est une application web locale qui vous permet de surveiller vos sessions d'agents IA et de gérer vos politiques. Voyez ce que vos agents ont fait pendant votre absence.
---
-## Démarrer le dashboard
+## Démarrer le tableau de bord
```bash
failproofai
```
-S'ouvre sur `http://localhost:8020`.
+S'ouvre à l'adresse `http://localhost:8020`.
-Le dashboard lit directement depuis le système de fichiers — vos dossiers de projets Claude Code et les fichiers de configuration failproofai. Rien n'est écrit vers un service distant.
+Le tableau de bord lit directement depuis le système de fichiers — vos dossiers de projets Claude Code et les fichiers de configuration failproofai. Aucune donnée n'est transmise à un service distant.
---
@@ -24,7 +24,7 @@ Le dashboard lit directement depuis le système de fichiers — vos dossiers de
### Projets
-Liste tous les projets Claude Code, OpenAI Codex, GitHub Copilot CLI _(bêta)_, Cursor Agent _(bêta)_, OpenCode _(bêta)_, Pi _(bêta)_ et Gemini CLI _(bêta)_ trouvés sur votre machine. Les projets Claude sont découverts depuis `~/.claude/projects/` (ou le chemin défini par `CLAUDE_PROJECTS_PATH`) ; les projets Codex sont découverts en analysant chaque transcript sous `~/.codex/sessions////*.jsonl` et regroupés par le `cwd` enregistré dans le premier enregistrement de chaque session ; les projets Copilot CLI sont découverts en analysant chaque `~/.copilot/session-state//workspace.yaml` (configurable via `COPILOT_HOME`) et regroupés par son champ `cwd` ; les projets Cursor Agent sont découverts en analysant les métadonnées par session sous `~/.cursor/agent-sessions//` (configurable via `CURSOR_HOME`, avec `conversations/` et `sessions/` sondés comme replis) pour un scalaire `cwd` dans `meta.json` / `session.json` / `workspace.yaml` ; les projets OpenCode sont découverts en interrogeant sa base SQLite à `~/.local/share/opencode/opencode.db` via `opencode db --format json` (nous lisons les tables `session` et `project` et regroupons par `project_id`) ; les projets Pi sont découverts en analysant les transcripts JSONL par session sous `~/.pi/agent/sessions//_.jsonl` (configurable via `PI_SESSIONS_DIR`) et en récupérant le `cwd` depuis le premier enregistrement de chaque session ; les projets Gemini CLI sont découverts en analysant `~/.gemini/tmp//chats/session--.jsonl` (configurable via `GEMINI_SESSIONS_DIR`) et en récupérant le cwd canonique depuis le marqueur texte `.project_root` voisin. Un projet utilisé par plusieurs CLIs s'affiche sur une seule ligne avec tous les badges correspondants. Utilisez le menu déroulant **CLI** au-dessus du tableau pour filtrer par un agent CLI spécifique ; l'URL conserve votre sélection sous la forme `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
+Liste tous les projets Claude Code, OpenAI Codex, GitHub Copilot CLI _(bêta)_, Cursor Agent _(bêta)_, OpenCode _(bêta)_, Pi _(bêta)_ et Gemini CLI _(bêta)_ trouvés sur votre machine. Les projets Claude sont découverts depuis `~/.claude/projects/` (ou le chemin défini par `CLAUDE_PROJECTS_PATH`) ; les projets Codex sont découverts en analysant chaque transcript sous `~/.codex/sessions////*.jsonl` et en les regroupant par le `cwd` enregistré dans le premier enregistrement de chaque session ; les projets Copilot CLI sont découverts en analysant chaque `~/.copilot/session-state//workspace.yaml` (configurable via `COPILOT_HOME`) et en les regroupant par leur champ `cwd` ; les projets Cursor Agent sont découverts en analysant les métadonnées par session sous `~/.cursor/agent-sessions//` (configurable via `CURSOR_HOME`, avec `conversations/` et `sessions/` explorés en solution de repli) pour un scalaire `cwd` dans `meta.json` / `session.json` / `workspace.yaml` ; les projets OpenCode sont découverts en interrogeant sa base de données SQLite à `~/.local/share/opencode/opencode.db` via `opencode db --format json` (nous lisons les tables `session` et `project` et les regroupons par `project_id`) ; les projets Pi sont découverts en analysant les transcripts JSONL par session sous `~/.pi/agent/sessions//_.jsonl` (configurable via `PI_SESSIONS_DIR`) et en extrayant le `cwd` du premier enregistrement de chaque session ; les projets Gemini CLI sont découverts en analysant `~/.gemini/tmp//chats/session--.jsonl` (configurable via `GEMINI_SESSIONS_DIR`) et en récupérant le cwd canonique depuis le marqueur texte `.project_root` situé dans le même répertoire. Un projet utilisé par plusieurs interfaces CLI s'affiche sur une seule ligne avec tous les badges correspondants. Utilisez le menu déroulant **CLI** au-dessus du tableau pour filtrer par un agent CLI spécifique ; l'URL conserve votre sélection sous la forme `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
Chaque projet affiche :
- Le nom du projet (dérivé du chemin du dossier)
@@ -47,42 +47,42 @@ Cliquez sur une session pour ouvrir le visualiseur de session.
### Visualiseur de session
-Le visualiseur de session répond à la question clé pour les agents autonomes : qu'est-ce que l'agent a fait, et est-il resté dans les rails ? Un badge CLI à côté de l'en-tête indique si la session est un transcript Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi ou Gemini CLI. Il affiche une chronologie de tout ce qui s'est passé dans une session :
+Le visualiseur de session répond à la question essentielle pour les agents autonomes : qu'a fait l'agent, et est-il resté sur la bonne voie ? Un badge CLI à côté de l'en-tête indique si la session est un transcript Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi ou Gemini CLI. Il affiche une chronologie de tout ce qui s'est passé durant une session :
- **Messages** — Les réponses textuelles de Claude et les invites utilisateur
- **Appels d'outils** — Chaque outil invoqué par Claude, avec ses entrées et sorties
-- **Activité de politique** — Pour chaque appel d'outil, quelles politiques se sont déclenchées et quelle décision elles ont retournée
+- **Activité des politiques** — Pour chaque appel d'outil, quelles politiques ont été déclenchées et quelle décision elles ont retournée
La barre de statistiques en haut affiche la durée de la session, le nombre total d'appels d'outils et un résumé des décisions de hook (comptages allow / deny / instruct).
-Cliquez sur le bouton **Télécharger les logs** pour exporter la session. Pour les sessions Claude Code, Codex, Copilot, Cursor, Pi et Gemini, vous obtenez le transcript JSONL original sur disque octet par octet ; pour OpenCode (dont les sessions résident dans SQLite et non sur disque), vous obtenez un document JSON reflétant les tables sous-jacentes `session` / `messages` / `parts`.
+Cliquez sur le bouton **Télécharger les journaux** pour exporter la session. Pour les sessions Claude Code, Codex, Copilot, Cursor, Pi et Gemini, vous obtenez le transcript JSONL original sur disque octet par octet ; pour OpenCode (dont les sessions résident dans SQLite et non sur disque), vous obtenez un document JSON reflétant les tables sous-jacentes `session` / `messages` / `parts`.
### Audit
-Un rapport personnalisé de la façon dont votre agent s'est réellement comporté au fil des sessions passées. Exécute le même scan que le CLI `failproofai audit` mais le restitue sous forme d'une affiche imprimable sur un seul écran + quatre sections en dessous du pli :
+Un rapport personnalisé décrivant le comportement réel de votre agent à travers les sessions passées. Exécute la même analyse que la CLI `failproofai audit`, mais le restitue sous la forme d'une affiche partageable plein écran et de quatre sections sous la ligne de flottaison :
-1. **Affiche** — occupe le premier viewport. Zone de capture PNG autonome avec la marque failproof_ai + libellé d'audit · index d'archétype (`№ NN sur 08`) + date d'audit · score numérique (0–100) + pastille de rang percentile (`top 15%`) · le nom de l'archétype (l'un des suivants : `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + bande de 3 mots-clés · ligne de rareté `// only N% of agents are this archetype` · tuile sigil 8×8 pixels · pied de page `audit yours → failproof.ai`. Trois boutons de partage se trouvent juste à l'extérieur de la zone de capture : `post your archetype` (intention X), `share on linkedin`, `download poster`. La capture s'effectue via `html-to-image` afin que le PNG corresponde pixel pour pixel au rendu à l'écran (bordures en tirets, masque de logo SVG, dégradés, métriques de police — tout est préservé).
-2. **Points forts** — liste de lignes ✓ calmes des comportements que votre agent fait déjà correctement, dérivés des données d'audit en direct (taux d'appels d'outils propre, durée moyenne de session, zéro fuite de credentials, zéro tempête de nouvelles tentatives, etc.).
-3. **Particularités** — tableau de ce qui a glissé, classé par impact : `moment · ce qui a glissé + politique qui l'aurait intercepté · pastille de sévérité · récurrence` (nouveau / Nx cette sem. / récurrent).
-4. **Comment s'améliorer** — liste de lignes calmes, une par politique prescrite : nom de la politique en blanc, description en une ligne, commande d'installation + bouton de copie à droite. Un bouton `[tout installer]` en en-tête de section copie la commande combinée `failproofai policy add a b c …` pour chaque politique prescrite.
-5. **Revenez plus fort** — deux cartes côte à côte. Gauche : définir un rappel (sélecteur de cadence `3j` / `7j` / `14j` / `30j` ; persiste via `/api/auth/reminder` une fois authentifié). Droite : débloquer les avantages failproof — `inviter un ami` ouvre une modale qui accepte une liste d'e-mails d'amis séparés par des virgules/espaces/sauts de ligne (max 10 par envoi), les envoie en POST à `/api/audit/invite`, qui les transfère au serveur API via `POST /v0/invite`. Le serveur API envoie un e-mail par destinataire depuis `invite@failproof.ai` avec l'expéditeur en Cc et `Reply-To` configuré, de sorte que le destinataire voit qui l'a invité et l'expéditeur reçoit une copie dans sa boîte de réception. Les utilisateurs anonymes sont d'abord redirigés vers `AuthDialog` pour que l'e-mail de l'expéditeur soit connu avant l'envoi des invitations. La gestion des droits/avantages est une suite à venir.
+1. **Affiche** — occupe le premier viewport. Zone de capture PNG autonome avec le logotype failproof_ai + étiquette d'audit · index d'archétype (`№ NN of 08`) + date d'audit · score numérique (0–100) + pastille de rang en centile (`top 15%`) · le nom de l'archétype (l'un de `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + banderole de 3 mots-clés · ligne de rareté `// only N% of agents are this archetype` · tuile sigil 8×8 pixels · pied de page `audit yours → failproof.ai`. Trois boutons de partage se trouvent juste en dehors de la zone de capture : `post your archetype` (X intent), `share on linkedin`, `download poster`. La capture est réalisée via `html-to-image` afin que le PNG corresponde pixel pour pixel au rendu à l'écran (bordures en pointillés, masque SVG du logo, dégradés, métriques de police — tout est préservé).
+2. **Points forts** — liste de lignes ✓ apaisées décrivant les comportements que votre agent adopte déjà correctement, dérivés des données d'audit en direct (taux d'appels d'outils propre, aucun push direct sur main, zéro fuite de credentials, zéro tempête de tentatives) — chaque point n'est affiché que lorsque la politique concernée affiche un historique propre sur toute la fenêtre d'audit.
+3. **Écarts** — tableau de ce qui est passé entre les mailles, classé par gravité : `quand · ce qui a glissé + la politique qui l'aurait intercepté · pastille de gravité · observé`, où la récurrence se lit `new` (une fois), `N× seen` (2–9 fois) ou `recurring` (10+).
+4. **Comment s'améliorer** — liste de lignes apaisées, une par politique prescrite : nom de la politique en blanc, description en une ligne, commande d'installation + bouton de copie sur le côté droit. L'en-tête de section indique `enable all N → projected · ` (le score que vous atteindriez en appliquant toutes les corrections), et son bouton `[install all]` copie la commande combinée `failproofai policy add a b c …` pour toutes les politiques prescrites.
+5. **Revenez mieux armé** — deux cartes côte à côte. À gauche : définir un rappel (sélecteur de cadence `3d` / `7d` / `14d` / `30d` ; persisté via `/api/auth/reminder` une fois authentifié). À droite : débloquer les avantages failproof — `invite a friend` ouvre une fenêtre modale qui accepte une liste d'e-mails d'amis séparés par des virgules, espaces ou sauts de ligne (max 10 par envoi), les envoie via POST à `/api/audit/invite`, qui les transmet au `POST /v0/invite` du serveur API. Le serveur API envoie un e-mail par destinataire depuis `invite@failproof.ai` avec l'expéditeur en Cc et `Reply-To` configuré, afin que le destinataire voie qui l'a invité et que l'expéditeur reçoive une copie dans sa boîte de réception. Les utilisateurs anonymes sont d'abord redirigés vers l'`AuthDialog` pour que l'e-mail de l'expéditeur soit connu avant l'envoi des invitations. Les droits d'accès et l'exécution des avantages feront l'objet d'une mise à jour ultérieure.
-Piloté par le runtime `failproofai audit` — voir [Audit CLI](/fr/cli/audit) pour le moteur de scan sous-jacent, les options supportées et les invariants de cache par transcript. Le dashboard met en cache le dernier résultat dans `~/.failproofai/audit-dashboard.json` (mode `0600`, emplacement unique, les nouvelles exécutions écrasent) pour que les revisites soient instantanées ; **les deux caches — par transcript et résultat global — sont rejetés à la lecture dès qu'ils ont plus de 7 jours**, de sorte que le dashboard ne serve jamais silencieusement un résultat vieux d'une semaine — passé la TTL, `/audit` passe à son état vide et invite à relancer un scan. Cliquer sur `[ re-audit now ]` en bas du rapport envoie un POST `/api/audit/run` avec `noCache: true` — un re-audit contourne le cache par transcript et réanalyse chaque transcript depuis le début plutôt que de retourner silencieusement le résultat mis en cache — et le dashboard interroge `/api/audit/status` à 1 Hz jusqu'à la fin de l'exécution ; une bande de progression rose collante s'épingle en haut du viewport pendant l'exécution avec un minuteur écoulé, et le nouveau résultat se substitue en place en cas de succès (pas de rechargement de page complet ; un re-audit échoué laisse l'ancien rapport intact). En cas d'échec, la bande devient rouge avec un message correspondant à `RerunError.kind` (`timeout` / `network` / `post_failed`). L'état vide (pas de cache ou expiré) et l'état zéro session (cache existant mais le scan n'a trouvé aucun transcript) sont affichés séparément.
+Alimenté par le runtime `failproofai audit` — consultez [Audit CLI](/fr/cli/audit) pour le moteur d'analyse sous-jacent, les options prises en charge et les invariants de cache par transcript. Le tableau de bord met en cache le dernier résultat dans `~/.failproofai/audit-dashboard.json` (mode `0600`, emplacement unique, les nouvelles exécutions écrasent l'ancien) afin que les revisites soient instantanées ; **les caches par transcript et le cache de résultat global sont rejetés à la lecture dès qu'ils ont plus de 7 jours**, de sorte que le tableau de bord ne serve jamais silencieusement un résultat vieux d'une semaine — passé le délai d'expiration, `/audit` retombe dans son état vide et invite à effectuer une nouvelle analyse. Cliquer sur `[ re-audit now ]` en bas du rapport envoie un POST à `/api/audit/run` avec `noCache: true` — la ré-analyse contourne le cache par transcript et réanalyse chaque transcript depuis le début plutôt que de retourner silencieusement le résultat mis en cache — et le tableau de bord interroge `/api/audit/status` à 1 Hz jusqu'à la fin de l'exécution ; une banderole de progression rose épinglée reste visible en haut du viewport pendant l'exécution avec un compteur de temps écoulé, et le nouveau résultat se substitue en place en cas de succès (sans rechargement complet de la page ; un échec de ré-analyse laisse le rapport précédent intact). En cas d'échec, la banderole devient rouge avec un message adapté selon le `RerunError.kind` (`timeout` / `network` / `post_failed`). L'état vide (pas de cache ou expiré) et l'état sans sessions (cache existant mais l'analyse n'a trouvé aucun transcript) sont présentés séparément.
### Politiques
-Une page à deux onglets pour gérer les politiques et examiner l'activité.
+Une page à deux onglets pour gérer les politiques et consulter l'activité.
- - Sélection multiple des CLIs d'agents que failproofai protège depuis un seul panneau — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi et Gemini CLI disposent chacun d'une ligne avec le statut d'installation (`Active` / `Detected` / `Inactive`), le chemin des paramètres de portée utilisateur et un accent de couleur de marque. Cochez ou décochez les CLIs souhaités et cliquez sur `Appliquer les modifications` pour installer/désinstaller le diff en une seule étape. Les CLIs dont le binaire est détecté dans le PATH sont pré-cochés.
- - Activer ou désactiver les politiques individuelles d'un seul clic (écrit dans `~/.failproofai/policies-config.json` — partagé entre tous les CLIs installés)
- - Développer une politique pour configurer ses paramètres (pour les politiques qui supportent `policyParams`)
- - Définir un chemin de fichier de politiques personnalisé
+ - Sélectionnez les CLIs d'agents que failproofai protège depuis un panneau unique — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi et Gemini CLI ont chacun une ligne avec l'état d'installation (`Active` / `Detected` / `Inactive`), le chemin des paramètres de portée utilisateur et un accent de couleur de marque. Cochez ou décochez les CLIs souhaités et cliquez sur `Apply changes` pour installer/désinstaller les différences en une seule étape. Les CLIs dont le binaire est détecté dans le PATH sont pré-cochés.
+ - Activez ou désactivez les politiques individuelles d'un simple clic (écrit dans `~/.failproofai/policies-config.json` — partagé entre tous les CLIs installés)
+ - Développez une politique pour configurer ses paramètres (pour les politiques qui prennent en charge `policyParams`)
+ - Définissez un chemin de fichier de politiques personnalisé
- Historique paginé complet de chaque événement de hook déclenché dans toutes les sessions
- - Filtrer par décision, type d'événement, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(bêta)_ / Cursor Agent _(bêta)_ / OpenCode _(bêta)_ / Pi _(bêta)_ / Gemini CLI _(bêta)_), nom de politique ou identifiant de session
+ - Filtrez par décision, type d'événement, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(bêta)_ / Cursor Agent _(bêta)_ / OpenCode _(bêta)_ / Pi _(bêta)_ / Gemini CLI _(bêta)_), nom de politique ou identifiant de session
- Chaque ligne affiche : horodatage, nom de politique, décision, badge CLI (orange = Claude Code, violet = OpenAI Codex, bleu = GitHub Copilot, émeraude = Cursor Agent, ambre = OpenCode, rose = Pi, ciel = Gemini CLI), nom d'outil, identifiant de session et la raison des décisions deny/instruct
- Cliquez sur un identifiant de session pour ouvrir son transcript — le visualiseur détecte automatiquement quel CLI a déclenché le hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) et affiche le badge CLI correspondant dans l'en-tête
@@ -92,13 +92,13 @@ Une page à deux onglets pour gérer les politiques et examiner l'activité.
## Actualisation automatique
-Le dashboard dispose d'un bouton d'actualisation automatique dans la navigation supérieure. Lorsqu'il est activé, la page actuelle se rafraîchit périodiquement pour afficher les nouvelles sessions et l'activité de politique au fur et à mesure qu'elles apparaissent. Indispensable pour surveiller les sessions d'agents autonomes de longue durée.
+Le tableau de bord dispose d'un bouton d'actualisation automatique dans la navigation principale. Lorsqu'il est activé, la page actuelle se rafraîchit périodiquement pour afficher les nouvelles sessions et l'activité des politiques au fur et à mesure qu'elles apparaissent. Indispensable pour surveiller les sessions d'agents autonomes de longue durée.
---
## Désactiver des pages
-Si vous n'avez besoin que de certaines parties du dashboard, définissez `FAILPROOFAI_DISABLE_PAGES` avec une liste de noms de pages séparés par des virgules :
+Si vous n'avez besoin que de certaines parties du tableau de bord, définissez `FAILPROOFAI_DISABLE_PAGES` avec une liste de noms de pages séparés par des virgules :
```bash
FAILPROOFAI_DISABLE_PAGES=policies failproofai
@@ -110,7 +110,7 @@ Valeurs valides : `policies`, `projects`, `audit`.
## Configurer le chemin des projets
-Par défaut, le dashboard lit depuis le répertoire de projets Claude Code standard. Remplacez-le pour des configurations personnalisées :
+Par défaut, le tableau de bord lit depuis le répertoire de projets Claude Code standard. Remplacez-le pour des configurations personnalisées :
```bash
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
@@ -120,13 +120,13 @@ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
## Accès depuis un hôte autre que localhost
-Lorsque vous exécutez le dashboard en **mode dev** (`npm run dev`) et y accédez depuis un nom d'hôte autre que `localhost` — par exemple un domaine personnalisé, une IP distante ou une URL tunnelisée — vous pouvez voir un avertissement comme :
+Lorsque vous exécutez le tableau de bord en **mode développement** (`npm run dev`) et y accédez depuis un nom d'hôte autre que `localhost` — par exemple, un domaine personnalisé, une IP distante ou une URL tunnelisée — vous pouvez voir un avertissement comme :
```text
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```
-Il s'agit de Next.js qui bloque l'accès cross-origin à son websocket HMR (rechargement à chaud des modules), une fonctionnalité réservée au mode dev. Pour autoriser votre hôte, utilisez le flag `--allowed-origins` :
+Il s'agit de Next.js qui bloque l'accès cross-origin à son websocket HMR (rechargement à chaud des modules), qui est une fonctionnalité réservée au mode développement. Pour autoriser votre hôte, utilisez l'option `--allowed-origins` :
```bash
npm run dev -- --allowed-origins dashboard.example.com
@@ -145,5 +145,5 @@ FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
```
-Cela s'applique uniquement au mode dev. Lors de l'exécution de `failproofai` (mode production), il n'y a pas de websocket HMR ni de problème de ressource dev cross-origin.
+Ceci s'applique uniquement au mode développement. Lors de l'exécution de `failproofai` (mode production), il n'y a pas de websocket HMR ni de problème de ressource de développement cross-origin.
\ No newline at end of file
diff --git a/docs/he/cli/audit.mdx b/docs/he/cli/audit.mdx
index 804df1031..8a3adb25e 100644
--- a/docs/he/cli/audit.mdx
+++ b/docs/he/cli/audit.mdx
@@ -1,56 +1,87 @@
---
-title: ביקורת בסדרות עבר (בטא)
-description: "ספור כמה פעמים הסוכן עשה דברים מבוזבזים או מסוכנים בחלק התמלילים בעבר"
+title: ביקורת על הפעלות קודמות (beta)
+description: "ספרו כמה פעמים הסוכן עשה דברים בזבזניים או מסוכנים על פני תמלילים קודמים"
---
- **תכונת בטא.** הביקורת משודרת כבטא בזמן שאנחנו אוספים משוב מוקדם.
- קטלוג הגלאים וערכת הדוח עשויים להשתנות לפני הגרסה היציבה הבאה. אנא פתח בעיה אם משהו נראה לא בסדר.
+ **תכונת Beta.** הביקורת משתלחת כ-beta בזמן שאנחנו אוספים משוב מוקדם.
+ קטלוג הגלאים וקבוצת הדוחות עלולים להשתנות לפני החתך הקבוע הבא. אנא פתחו issue אם משהו נראה לא בסדר.
-הביקורת כעת חשופה כעמוד **לוח הבקרה /audit**, לא כתת-פקודה CLI. פתח אותה מסרגל הניווט של לוח הבקרה (בין Policies ל-Projects), או בקר ב-`http://localhost:8020/audit` ישירות כאשר מריץ `failproofai` באופן מקומי.
+הביקורת מחזירה את תמלילי agent-CLI הקודמים שלך דרך מנוע המדיניות של failproofai ומעבירה דוח חזותי שניתן לשיתוף על **דף לוח המחוונים `/audit`** — הטיפוס של הסוכן שלך, ניקוד 0–100, והנושאים בדיוק אילו מדיניויות היו תופסות.
-```bash
-failproofai # פתח את לוח הבקרה, ואז לחץ על "Audit"
+## הריצו אותה
+
+שלוש דרכים — כולן מגיעות לאותו דוח `/audit`.
+
+
+
+```bash npx (no install)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-לוח הבקרה סורק תמלילי CLI של סוכנים קודמים במכונה זו (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) ודוח כמה פעמים הסוכן עשה דברים ש-failproofai בנוי כדי להעצור — בדיקות משתנות סביבה, דחיפות כפויות, קידומות `cd ` מיותרות, לולאות sleep-polling, קריאה חוזרת של קבצים שנערכו זה עתה, ועוד.
+```bash failproofai (dashboard)
+failproofai
+```
+
+
+
+
+
+ `npx -y failproofai audit` מביא את failproofai, מריץ את הסריקה, ופותח את לוח המחוונים עבורכם — לא צריך להתקין קודם.
+
+
+ `failproofai audit` מריץ את הסריקה בטרמינל שלכם, ואז פותח את `localhost:8020/audit` באופן אוטומטי כשהוא מסתיים.
+
+
+ הריצו `failproofai` ולחצו על **Audit** בסרגל הניווט (בין Policies ו-Projects), או פתחו את `/audit` ישירות.
+
+
+
+
+ הריצו `failproofai audit -h` (או `--help`) כדי לראות שימוש. הביקורת רצה **לחלוטין בלא אינטרנט** — לא נדרשים חשבון או רשת — ולוח המחוונים ממשיך להיות בשירות עד שתעצרו אותו ב-`Ctrl+C`.
+
+
+לוח המחוונים סורק תמלילי agent CLI קודמים על המכונה הזו (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) ודיווח כמה פעמים הסוכן עשה דברים שfailproofai בנוי כדי להפסיק — בדיקות env-var, push כופים, קידומות `cd ` מיותרות, לולאות sleep-polling, קריאה מחדש של קבצים שנערכו זה עתה, ועוד.
-לכל תמליל, כל אירוע tool-use מופעל מחדש דרך 39 המדיניויות המובנות **ו**דרך 8 גלאים בעצמם שלביקורת שתופסים דפוסים שעדיין לא מכוסים על ידי מדיניויות זמן-ריצה. ספירות מצטברות לכל מדיניות / גלאי בכל הסדרות.
+לכל תמליל, כל אירוע tool-use מוחזר דרך 39 המדיניויות המובנות **ודרך** 8 גלאים שהם רק לביקורת שתופסים דפוסים שעדיין לא מכוסים על ידי מדיניויות זמן הריצה. הספירות מתרכזות לכל מדיניות / גלאי על פני כל הפעלות.
-## מה אתה מקבל
+## מה אתם מקבלים
-הדף `/audit` מחברת שישה חלקים:
+דף ה-`/audit` הוא **פוסטר** של מסך יחיד וניתן לשיתוף ואחריו ארבע סעיפים מתחת:
-1. **Identity** — הסוכן שלך מסווג לאחד משמונה ארכיטיפים (`optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`) בהתאם לאות משוקלל בכל התמליל שבוקר.
-2. **Strengths** — מספרים אמיתיים הנגזרים מהסריקה (clean-call %, "0 credential leaks", וכו') בשערים על מדיניויות sanitize הרלוונטיות שפעולות בפועל.
-3. **Score** — 0-100 עם נתיבי S/A/B/C/D/F ותחזוקה משוערת אם כל המדיניות המומלצות היו מופעלות.
-4. **Findings** — כרטיסי לכל מדיניות עם מה קרה, עלות, ראיות תפוסות, והפקודה המדויקת `failproofai policy add ` להפעלת הבנייה המובנית בזמן-ריצה שהיתה תופסת את זה.
-5. **Prescribed policies** — רשימת התקנה מצטברת עם פקודה `failproofai policies --install` במכה אחת.
-6. **Re-audit reminder** — "בואו חזרה טוב יותר." הגדר תזכורת דוא"ל בן 7 ימים דרך api-server (דורש כניסה; ראה [`failproofai auth`](/he/cli/auth)).
+1. **פוסטר** — זהות הסוכן שלך במבט חטוף: **הטיפוס** שלו (אחד משמונה — `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 attempts), מוצג רק כאשר למדיניות הרלוונטית יש רקורד נקי.
+3. **`// quirks`** — מה חמק: טבלה דורגת של התנהגויות שfailproofai היה תופס — *מתי* זה קרה לאחרונה, *מה חמק* (ועל ידי איזה מובנה הוא היה חסום), **`severity`** שלו, וכמה פעמים זה **seen** (`new` / `recurring` / `N× seen`).
+4. **`// how to improve`** — רשימת התיקוני המרשם: שורה אחת לכל מדיניות עם `failproofai policy add ` להעתקה-הדבקה, בתוספת כפתור **install all** שמאפשר כל המלצה בבת אחת ומציג את **ניקוד היעד** שלך אם הייתם עושים זאת.
+5. **`// come back better`** — בנו את ההרגל: קבעו **reminder** בדוא"ל לביקורת חוזרת (`3d` / `7d` / `14d` / `30d`) או בצעו ביקורת מחדש עכשיו, **הזמינו חבר** להריץ ביקורת שלהם שלהם (נשלח מ-failproof.ai, Cc אליכם). הזמנות וזמנות דורשות כניסה — ראו [`failproofai auth`](/he/cli/auth).
-## גלאים בעצמם שלביקורת
+## גלאים לביקורת בלבד
-אלה תופסים דפוסי "התנהגות טיפשה" לא (עדיין) מאומצת בזמן אמת. הם רצים רק במהלך הביקורת ולעולם אל תחסום קריאת כלי חי.
+אלה מגלים דפוסי "התנהגות טיפשה" שאינם (עדיין) אכופים בזמן אמת. הם רצים רק במהלך הביקורת ולעולם לא חוסמים קריאת כלי חי.
| גלאי | מה זה סופר |
|---|---|
-| `redundant-cd-cwd` | פקודות Bash המתחילות ב-`cd && …` למרות שפקודות כבר רצות ב-`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` לולאות polling. |
-| `find-from-root` | `find /`, `find /home`, `find /usr`, וכו' — הגבל ל-`cwd`. |
-| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, דלנו hooks. |
-| `reread-after-edit` | `Read` של קובץ שהיה זה עתה `Edit`/`Write` באותה סדרה. |
+| `redundant-cd-cwd` | פקודות Bash המתחילות ב-`cd && …` גם כשפקודות כבר רצות ב-`cwd`. |
+| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` בקובץ מקור יחיד — השתמשו בכלי `Read`. |
+| `prefer-edit-over-sed-awk` | עריכות in-place של `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`, דילוג על hooks. |
+| `reread-after-edit` | `Read` של קובץ שזה עתה `Edit`/`Write` באותה הפעלה. |
-## קאשים
+## זיכרונות מטמון
-- **קאש לכל תמליל** ב-`~/.failproofai/cache/audit/.json` מעוצב לפי `(mtime, size, engineVersion, detectorVersion)` — מבטל באופן אוטומטי כאשר התמליל או קוד המדיניות/הגלאי משתנה. כל ערך גם מאחסן חתימת זמן `cachedAt` כ**metadata TTL** (לא חלק מממתח הקאש); רשומות קדומות מ**7 ימים** דחויים בקריאה כך תוצאות שאורכות זמן לא חיות מעבר לכוונת גלאי משתנה.
-- **קאש תוצאה כוללת** ב-`~/.failproofai/audit-dashboard.json` (mode 0600). מאפשר לוח הבקרה להרנדר מיד בניווט ללא הפעלה מחדש. גם דחוי בקריאה עבור **7-day TTL** — `/audit` כעת נופל דרך למצבו הריק והנושא הנוגע לריצה טרייה. לחץ על `[ re-audit now ]` ליד תחתית הדוח כדי לרענן — re-audit שולח `noCache: true`, כך שהוא עוקף את קאש לכל תמליל ותוביל כל תמליל במקום להחזיר את התוצאה המטמנת; הריצה נוזלת התקדמות דרך רצועה צמודה למעלה וחליפי התוצאה במקום בהצלחה (ללא טעינה מחדש של עמוד; ביקורת מחדש שנכשלה שומרת על הדוח הקודם).
+- **מטמון per-transcript** ב-`~/.failproofai/cache/audit/.json` מסומן על ידי `(mtime, size, engineVersion, detectorVersion)` — מבטל באופן אוטומטי כאשר התמליל או הקוד של מדיניות/גלאי משתנים. כל כניסה גם אחסונות חותמת `cachedAt` כמטא נתונים **TTL** (לא חלק מהמפתח של המטמון); כניסות ישנות יותר מ-**7 ימים** מעוכלות בקריאה כך שתוצאות מחיי ארוך לא חיות הערכת גלאים משתנים.
+- **מטמון תוצאה שלמה** ב-`~/.failproofai/audit-dashboard.json` (mode 0600). מאפשר ללוח המחוונים להציג באופן מיידי בניווט ללא ריצה מחדש. גם דחוי בקריאה מעבר ל-**7-day TTL** — `/audit` נופל דרך למצב הריק שלו ותוקף ריצה טרייה. לחצו על `[ re-audit now ]` ליד התחתון של הדוח כדי לרענן — ביקורת מחדש שולחת `noCache: true`, אז היא עוקפת את מטמון ה-per-transcript וסורקת מחדש כל תמליל בתור החזרת התוצאה שמטמונה; הריצה זורמת קדימה דרך רצועה דבוקה למעלה וחילופי התוצאה בשנן בהצלחה (לא טעינת דף; ביקורת מחדש נכשלת שומרת את הדוח הקודם).
## הערות
-- **אין מוטציה.** הביקורת מחזרת במצב קריאה בלבד. `warn-repeated-tool-calls` דלנו כי sidecar לכל סדרה שלו אחרת היה משונה.
-- **מדיניויות זרימת עבודה דלנו.** `require-*-before-stop` מדיניויות אש רק על `Stop` אירועים ו-`execSync` נגד מצב git חי — אין להם פרשנות משמעותית של "מה היה קורה ב-2025", כך שהם לא מופיעים בספירות ביקורת.
-- **מדיניויות מותאמות אישית דלנו.** hooks מותאמות אישית שסופק משתמש לא מוחזרות (הם אולי השתנו מאז הסדרה המקורית).
\ No newline at end of file
+- **ללא מוטציה.** הביקורת מחזירה במצב לקריאה בלבד. `warn-repeated-tool-calls` דולק מכיוון שה-sidecar לכל הפעלה שלו אחרת היה שונה.
+- **מדיניויות Workflow דלוקות.** `require-*-before-stop` מדיניויות אש רק על אירועי `Stop` ו-`execSync` כנגד מצב git חי — אין להם פרשנות משמעותית "מה הייתה קורה ב-2025", כך שהם לא מופיעים בספירות ביקורת.
+- **מדיניויות מותאמות אישית דולקות.** hooks מותאמים אישית שסופקו על ידי משתמש אינם מחוזרים (הם עשויים להשתנות מאז הפעלה המקורית).
\ No newline at end of file
diff --git a/docs/he/dashboard.mdx b/docs/he/dashboard.mdx
index 798198639..2b66e534d 100644
--- a/docs/he/dashboard.mdx
+++ b/docs/he/dashboard.mdx
@@ -1,10 +1,10 @@
---
title: לוח בקרה
-description: "עקוב אחר הפעלות של סוכנים, בדוק קריאות כלים וניהל מדיניות"
+description: "מراقبة جلسات الوكيل، مراجعة استدعاءات الأدوات، وإدارة السياسات"
icon: chart-line
---
-לוח הבקרה של failproofai היא אפליקציית אינטרנט מקומית לניטור של הפעלות סוכן AI שלך וניהול מדיניות. ראה מה עשו הסוכנים שלך בזמן שלא היית שם.
+לוח הבקרה של failproofai הוא יישום אינטרנט מקומי לניטור של جلسات סוכני AI שלך וניהול מדיניויות. ראה מה העשו הסוכנים שלך בזמן שהיית רחוק.
---
@@ -14,77 +14,81 @@ icon: chart-line
failproofai
```
-נפתח בכתובת `http://localhost:8020`.
+נפתח ב-`http://localhost:8020`.
-לוח הבקרה קורא ישירות מהמערכת של קבצים - תיקיות פרויקט Claude Code וקובצי תצורה של failproofai. שום דבר לא נשמר לשירות מרחוק.
+לוח הבקרה קורא ישירות מקובץ המערכת - תיקיות הפרויקט Claude Code שלך וקובצי הגדרות failproofai. שום דבר לא נכתב לשירות מרחוק.
---
-## עמודים
+## דפים
### Projects
-מפרטת את כל פרויקטי Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_ ו-Gemini CLI _(beta)_ שנמצאו במחשב שלך. פרויקטי Claude מתגלים מ-`~/.claude/projects/` (או הנתיב שנקבע על ידי `CLAUDE_PROJECTS_PATH`); פרויקטי Codex מתגלים על ידי סריקה של כל תמלול תחת `~/.codex/sessions////*.jsonl` וקיבוץ לפי `cwd` שנרשם ברשומה הראשונה של כל הפעלה; פרויקטי Copilot CLI מתגלים על ידי סריקה של כל `~/.copilot/session-state//workspace.yaml` (ניתן לעדכון דרך `COPILOT_HOME`) וקיבוץ לפי שדה `cwd` שלו; פרויקטי Cursor Agent מתגלים על ידי סריקה של מטא-נתונים לכל הפעלה תחת `~/.cursor/agent-sessions//` (ניתן לעדכון דרך `CURSOR_HOME`, עם `conversations/` ו-`sessions/` הנדונים כחילופיים) עבור סקלר `cwd` ב-`meta.json` / `session.json` / `workspace.yaml`; פרויקטי OpenCode מתגלים על ידי שאילתה של מסד הנתונים SQLite שלו בכתובת `~/.local/share/opencode/opencode.db` דרך `opencode db --format json` (אנו קוראים את הטבלאות `session` ו-`project` ומקבצים לפי `project_id`); פרויקטי Pi מתגלים על ידי סריקה של תמלולי JSONL לכל הפעלה תחת `~/.pi/agent/sessions//_.jsonl` (ניתן לעדכון דרך `PI_SESSIONS_DIR`) וחילוץ ה-`cwd` מהרשומה הראשונה של כל הפעלה; פרויקטי Gemini CLI מתגלים על ידי סריקה של `~/.gemini/tmp//chats/session--.jsonl` (ניתן לעדכון דרך `GEMINI_SESSIONS_DIR`) והחזרת ה-cwd הקנוני מסימן הטקסט `.project_root` הסמוך. פרויקט שהשתמשו בו מספר CLIs מתוצג כשורה אחת עם כל הדגלים התואמים. השתמש בתפריט הנפתח **CLI** מעל הטבלה כדי לסנן לפי סוכן CLI מסוים; כתובת ה-URL שמרת בחירתך כ-`?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
+רשימה של כל פרויקטי Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_, ו-Gemini CLI _(beta)_ שנמצאו במחשב שלך. פרויקטי Claude מתגלים מ-`~/.claude/projects/` (או המסלול שנקבע על ידי `CLAUDE_PROJECTS_PATH`); פרויקטי Codex מתגלים על ידי סריקת כל תמלול תחת `~/.codex/sessions////*.jsonl` וקיבוץ לפי `cwd` המוקלט בתיעוד הראשון של כל סession; פרויקטי Copilot CLI מתגלים על ידי סריקת `~/.copilot/session-state//workspace.yaml` (הניתן להגדרה דרך `COPILOT_HOME`) וקיבוץ לפי שדה `cwd` שלו; פרויקטי Cursor Agent מתגלים על ידי סריקת מטא-נתונים לכל סession תחת `~/.cursor/agent-sessions//` (הניתן להגדרה דרך `CURSOR_HOME`, עם `conversations/` ו-`sessions/` בדוקים כחלופות) עבור סקלאר `cwd` ב-`meta.json` / `session.json` / `workspace.yaml`; פרויקטי OpenCode מתגלים על ידי שאילתה של מסד נתונים SQLite שלו ב-`~/.local/share/opencode/opencode.db` דרך `opencode db --format json` (אנחנו קוראים את הטבלאות `session` ו-`project` וקיבוץ לפי `project_id`); פרויקטי Pi מתגלים על ידי סריקת תמלולי JSONL לכל סession תחת `~/.pi/agent/sessions//_.jsonl` (הניתן להגדרה דרך `PI_SESSIONS_DIR`) ושימור `cwd` מתיעוד הראשון של כל סession; פרויקטי Gemini CLI מתגלים על ידי סריקת `~/.gemini/tmp//chats/session--.jsonl` (הניתן להגדרה דרך `GEMINI_SESSIONS_DIR`) והחזרת cwd הקנוני מסימן `project_root` הטקסטי הסמוך. פרויקט שהשתמשו בו מספר CLIs מוצג בשורה אחת עם כל התגים המתאימים. השתמש בתפריט הנפתח **CLI** מעל הטבלה כדי לסנן לפי CLI סוכן ספציפי; ה-URL משמר את הבחירה שלך כ-`?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
כל פרויקט מציג:
-- שם הפרויקט (הנגזר מנתיב התיקייה)
-- דגל CLI — `Claude Code` (כתום), `OpenAI Codex` (סגול), `GitHub Copilot` (כחול), `Cursor Agent` (אזמרגד), `OpenCode` (amber), `Pi` (ורוד), ו/או `Gemini CLI` (sky)
-- תאריך של פעילות ההפעלה האחרונה
+- שם הפרויקט (מושא מנתיב התיקייה)
+- תג CLI — `Claude Code` (כתום), `OpenAI Codex` (סגול), `GitHub Copilot` (כחול), `Cursor Agent` (זמרד), `OpenCode` (ענבר), `Pi` (ורוד), ו/או `Gemini CLI` (שמיים)
+- תאריך של פעילות הסession הקודמת
-לחץ על פרויקט כדי לראות את ההפעלות שלו.
+לחץ על פרויקט כדי לראות את הsessions שלו.
### Sessions
-מפרטת את כל ההפעלות בתוך פרויקט. כל הפעלה מציגה:
-- מזהה הפעלה
+רשימה של כל הsessions בתוך פרויקט. כל סession מציג:
+- Session ID
- חותמות זמן התחלה וסיום
-- מספר קריאות כלים
-- ספירת פעילות hook (מדיניות שעלו בתוקף)
+- מספר קריאות הכלים
+- ספירת פעילות hook (מדיניויות שהופעלו)
-השתמש בסינון טווח התאריכים וחיפוש מזהה ההפעלה כדי לצמצם את הרשימה. הפעלות מחולקות לעמודים.
+השתמש בסנן טווח התאריך וחיפוש Session ID כדי לצמצם את הרשימה. Sessionsים מחולקים לעמודים.
-לחץ על הפעלה כדי לפתוח את מציג ההפעלות.
+לחץ על סession כדי לפתוח את מציג הsession.
-### Session viewer
+### מציג Session
-מציג ההפעלות עונה על השאלה המרכזית עבור סוכנים אוטונומיים: מה עשה הסוכן, והאם הוא נשאר על עקבותיו? דגל CLI ליד הכותרת מעיד אם ההפעלה היא תמלול Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi או Gemini CLI. הוא מציג ציר הזמן של כל מה שקרה בהפעלה:
+מציג הsession עונה על השאלה המרכזית עבור סוכנים אוטונומיים: מה עשה הסוכן, והאם הוא נשאר בעקבות? תג CLI ליד הכותרת מציין האם הsession הוא תמלול Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi, או Gemini CLI. הוא מציג ציר הזמן של כל מה שקרה בsession:
-- **Messages** - תגובות טקסט של Claude והנחיות משתמש
-- **Tool calls** - כל כלי שב-Claude שימש, עם הקלט והפלט שלו
-- **Policy activity** - עבור כל קריאת כלים, אילו מדיניות עלו בתוקף ואיזו החלטה הן החזירו
+- **Messages** - תגובות טקסט של Claude והודעות משתמש
+- **Tool calls** - כל כלי שClaude הפעיל, עם הקלט והפלט שלו
+- **Policy activity** - לכל קריאת כלי, אילו מדיניויות הופעלו ואיזו החלטה הן החזירו
-סרגל הסטטיסטיקות בחלק העליון מציג משך ההפעלה, סך הקריאות של כלים וסיכום של החלטות hook (ספירות allow / deny / instruct).
+סרגל הסטטיסטיקה בחלק העליון מציג משך הsession, סך כל קריאות הכלים, וסיכום החלטות hook (ספירות allow / deny / instruct).
-לחץ על כפתור **Download Logs** כדי לייצא את ההפעלה. עבור ההפעלות Claude Code, Codex, Copilot, Cursor, Pi ו-Gemini אתה מקבל את תמלול JSONL על הדיסק המקורי בן לעצמו; עבור OpenCode (שההפעלות שלה חיות ב-SQLite ולא על הדיסק) אתה מקבל מסמך JSON המשקף את הטבלאות `session` / `messages` / `parts` הבסיסיות.
+לחץ על כפתור **Download Logs** כדי לייצא את הsession. עבור Sessionsי Claude Code, Codex, Copilot, Cursor, Pi, ו-Gemini אתה מקבל את תמלול JSONL המקורי בדיסק בתים-בתים; עבור OpenCode (שהsessionsים שלה חיים ב-SQLite, לא בדיסק) אתה מקבל מסמך JSON המשקף את הטבלאות `session` / `messages` / `parts` הבסיסיות.
### Audit
-דוח מופעל על ידי אישיות כיצד הסוכן שלך למעשה התנהג בהפעלות קודמות. מפעיל את אותה סריקה כמו ממשק השורה של `failproofai audit` אך עובר אותו כעמוד אחד שניתן לשיתוף כרזה + ארבע חלקים מתחת:
+דוח מונע בעקבות אישיות איך הסוכן שלך התנהג בפועל על פני sessionsים קודמים. מפעיל את אותה סריקה כמו CLI `failproofai audit` אבל מעניק אותה כפוסטר בן מסך יחיד שניתן לשיתוף + ארבעה חלקים מתחת לקפל:
-1. **Poster** — ממלא את הצפייה הראשונה. אזור NPG עצמאי עם סימן failproof_ai + תווית audit · אינדקס ארכיטיפ (`№ NN של 08`) + תאריך audit · ניקוד מספרי (0–100) + כדור דרגה percentile (`top 15%`) · שם הארכיטיפ (אחד מ-`the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + רצועת מילים חשובות של 3 · `// רק N% של סוכנים הם ארכיטיפ זה` שורת נדירות · אריח sigil של 8×8 pixel · כותרת תחתונה `audit yours → failproof.ai`. שלושה כפתורי שיתוף יושבים בדיוק מחוץ תיבת הלכידה: `post your archetype` (כוונת X), `share on linkedin`, `download poster`. הלכידה פועלת דרך `html-to-image` כך ש-PNG תואם את ההעברה על המסך pixel-to-pixel (גבולות מקווקוו, מסקת לוגו SVG, הדרגתיות, מדדי פונט — כל זה נשמר).
-2. **Strengths** — רשימת שורות רגועה ✓ של התנהגויות שהסוכן שלך כבר עושה נכון, הנגזרות מנתוני האודיט החי (שיעור קריאות כלים נקי, אורך הפעלה ממוצע, אפס דליפות אישור, אפס סערות ניסיון חוזר וכו').
-3. **Quirks** — טבלת מה התגנב, מדורגת לפי השפעה: `time · what slipped + policy that would've caught it · severity pill · recurrence` (חדש / Nx שבוע זה / חוזר).
-4. **How to improve** — רשימת שורות רגועה, אחת לכל מדיניות קבועה: שם מדיניות בלבן, תיאור בשורה אחת, פקודת התקנה + כפתור העתקה בצד ימין. כפתור `[install all]` בכותרת הקטע העתק את הפקודה `failproofai policy add a b c …` המשולבת עבור כל מדיניות קבועה.
-5. **Come back better** — שתי כרטיסים זה לצד זה. שמאל: קבע תזכורת (בחיר קדנציה `3d` / `7d` / `14d` / `30d`; נשמר דרך `/api/auth/reminder` ברגע שמאומת). ימין: בטל נעילה של יתרונות failproof — `invite a friend` פותח מודאל שלוקח רשימה מופרדת בפסיקומה/רווח/שורה חדשה של דברי בן זוג (מקס 10 לשליחה), POSTs אותם ל-`/api/audit/invite`, שמעביר לשרת ה-api של `POST /v0/invite`. שרת ה-api שולח דוא"ל אחד לכל נמען מ-`invite@failproof.ai` עם המשדר מכובד ו-`Reply-To` שנקבע, כך שהנמען רואה מי זימן אותו והשולח מקבל עותק בתיבת הדואר שלו. משתמשים אנונימיים מועברים דרך `AuthDialog` תחילה כך שדוא"ל השולח ידוע לפני שההזמנות יוצאות. זכאות / מילוי יתרונות היא תעקוב.
+1. **Poster** — ממלא את viewport הראשון. אזור PNG בעצמאות המעט עם ה-failproof_ai wordmark + תווית audit · אינדקס archetype (`№ NN of 08`) + תאריך audit · ניקוד מספרי (0–100) + כדור דרגת אחוזון (`top 15%`) · שם archetype (אחד מ-`the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + רצועת 3 מילים · `// only N% of agents are this archetype` שורת נדירות · sigil tile של 8×8 פיקסל · `audit yours → failproof.ai` תוחלת. שלושה כפתורי שיתוף יושבים בחוץ מ-capture box: `post your archetype` (X intent), `share on linkedin`, `download poster`. Capture פועל דרך `html-to-image` אז ה-PNG תואם את הרינדור בעל המסך פיקסל-לפיקסל (גבולות מקווקווים, SVG logo mask, gradients, font metrics — הכל משומר).
-מונע על ידי זמן הריצה של `failproofai audit` — ראה [Audit CLI](/he/cli/audit) עבור מנוע הסריקה הבסיסי, דגלים נתמכים וחוקיות מטמון לכל תמלול. לוח הבקרה משמר את התוצאה האחרונה בכתובת `~/.failproofai/audit-dashboard.json` (מצב `0600`, חריץ יחיד, הרצות חדשות מחליפות) כך שביקורות חוזרות היא מיידיות; **גם המטמון לכל תמלול וכל התוצאה נדחות בקריאה ברגע שהם קדומים ליותר מ-7 ימים** כך שלוח הבקרה לעולם לא משמר בשקט תוצאה בת שבוע — עבר ה-TTL `/audit` נופל לחנות הריקה שלו ומנחה הרצה טרייה. לחיצה על `[ re-audit now ]` ליד התחתון של הדוח POSTs `/api/audit/run` עם `noCache: true` — re-audit עוקף את המטמון לכל תמלול וסורק מחדש כל תמלול מאפס ולא מחזיר בשקט את התוצאה שנשמרה — ולוח הבקרה שוקל `/api/audit/status` ב-1Hz עד שההרצה מסתיימת; רצועת התקדמות ורודה דביקה מצמודה לחלק העליון של viewport בזמן ההרצה עם טיימר שחלף, והתוצאה הטרייה מחליפה במקום בהצלחה (לא טעינה דף מלאה; אודיט חוזר שנכשל משאיר את הדוח הקודם בשלום). בכישלון הרצועה הופכת לאדום עם עותק מפוצל מ-`RerunError.kind` (`timeout` / `network` / `post_failed`). מצב ריק (אין מטמון או פג תוקף) ומצב אפס הפעלות (מטמון קיים אך הסריקה לא מצאה תמלולים) משטחים בנפרד.
+2. **Strengths** — שורת רשימה רגועה ✓ של התנהגויות שהסוכן שלך כבר עושה נכון, מביאות מנתוני audit חיוני (קצב קריאת כלים נקי, ללא דחיפות ישירות לראשי, אפס דלפי אישורים, אפס סערות ניסיון) — כל אחת מופיעה רק כאשר למדיניות הרלוונטית יש רקורד נקי על פני חלון ה-audit.
+
+3. **Quirks** — טבלה של מה שחלף, מדורגת לפי חומרה: `when · what slipped + the policy that would've caught it · severity pill · seen`, כאשר ה-recurrence קורא `new` (פעם אחת), `N× seen` (2–9 פעמים), או `recurring` (10+).
+
+4. **How to improve** — שורת רשימה רגועה, אחד לכל מדיניות מקבילה: שם מדיניות בלבן, תיאור בשורה אחת, כפתור פקודת התקנה + העתקה בצד ימין. כותרת הסעיף קוראת `enable all N → projected · ` (הניקוד שהייתה תוקף עם כל התיקון המיושם), וכפתור `[install all]` שלו מעתיק את הפקודה `failproofai policy add a b c …` המשולבת לכל מדיניות מקבילה.
+
+5. **Come back better** — שתי כרטיסים זה לצד זה. משמאל: הגדרת תזכורת (`3d` / `7d` / `14d` / `30d` בוחר קדנציה; שומר דרך `/api/auth/reminder` ברגע שמאומת). מימין: פתח הטבות failproof — `invite a friend` פותח מודאל שלוקח רשימה מופרדת בפסיק/ספייס/שורה חדשה של אימיילים חברים (מקסימום 10 לשליחה), POSTs להם ל-`/api/audit/invite`, שמעביר לשרת api `POST /v0/invite`. שרת ה-api שולח אימייל אחד לכל מקבל מ-`invite@failproof.ai` עם ה-Cc של השולח וה-`Reply-To` מוגדר, כך שהמקבל רואה מי הזמין אותו והשולח מקבל העתק בתיבת הדואר שלו. משתמשים אנונימיים מעוברים דרך `AuthDialog` תחילה אז אימייל השולח ידוע לפני שההזמנות יוצאות. עמידה / מילוי הטבות הוא מעקב.
+
+מונעות על ידי `failproofai audit` runtime — ראה [Audit CLI](/he/cli/audit) עבור מנוע הסריקה הבסיס, דגלים נתמכים, ובלתי-משתנים cache לכל תמלול. לוח הבקרה משמור את התוצאה העדכנית ביותר ב-`~/.failproofai/audit-dashboard.json` (מצב `0600`, חריץ יחיד, הריצות חדשות משכתבות) אז הביקורים חוזרים מיידיים; **גם ה-per-transcript וגם כל ה-result caches דוחים על קריאה ברגע שהם קדומים יותר מ-7 ימים** אז לוח הבקרה לעולם לא משרת בשקט תוצאה בן שבועות — עבר ה-TTL `/audit` נופל דרך למצב הריק שלו ומתגבר שריקה טרייה. לחיצה על `[ re-audit now ]` ליד תחתית הדוח POSTs `/api/audit/run` עם `noCache: true` — re-audit עוקף את ה-per-transcript cache ומסרק כל תמלול מהעט במקום בשקט להחזיר את התוצאה המטומנת — ולוח הבקרה סוקר `/api/audit/status` ב-1Hz עד שהריצה תסתיים; רצועת התקדמות ורודה דביקה מתלמדת לחלק העליון של ה-viewport במהלך הריצה עם טיימר זמן חלוף, והתוצאה הטרייה משתלבת במקום בהצלחה (לא טעינת עמוד מלא; re-audit כושל משאיר את הדוח הקודם שלם). בכישלון הרצועה הופכת לאדום עם עותק מחובר ל-`RerunError.kind` (`timeout` / `network` / `post_failed`). מצב ריק (אין cache או פקוח) ומצב sessionsים אפס (cache קיים אך הסריקה לא מצאה תמלולים) מוצגים בנפרד.
### Policies
-עמוד בעל שתי כרטיסיות לניהול מדיניות וביקורת פעילות.
+דף שתי-טאב לניהול מדיניויות ובדיקת פעילות.
- - בחר מספר CLIs של סוכן שעליו failproofai מגן מלוח יחיד — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi ו-Gemini CLI לכולם יש שורה עם מצב התקנה (`Active` / `Detected` / `Inactive`), נתיב הגדרות ההיקף של משתמש וניגודיות בצבע מותג. סמן או בטל סימון של CLIs שברצונך וכולל `Apply changes` כדי להתקין/להסיר את ההבדל בשלב אחד. CLIs שהבינארי שלהם מתגלה ב-PATH מסומנים מראש.
- - הפעל משקל מדיניות בודדות או כבויות בלחיצה יחידה (כותב ל-`~/.failproofai/policies-config.json` — משותף בכל CLI מותקן)
- - הרחב מדיניות כדי להגדיר את הפרמטרים שלה (עבור מדיניות התומכת ב-`policyParams`)
- - הגדר נתיב קובץ מדיניות מותאם
+ - בחר באופן מרובה איזו CLIs סוכן failproofai מגנה מפנל יחיד — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi, ו-Gemini CLI כולם יש שורה עם סטטוס התקנה (`Active` / `Detected` / `Inactive`), נתיב הגדרות ה-user-scope, וכן נקודה צבעי-מותג. סמן או בטל סימון CLIs שאתה רוצה ולחץ על `Apply changes` כדי להתקין/להסיר את ההבדל בשלב אחד. CLIs שהבינארי שלהם מתגלה ב-PATH מסומנים מראש.
+ - החליפו מדיניויות בודדות או כיבוי עם לחיצה יחידה (כתיבה ל-`~/.failproofai/policies-config.json` — משותף על פני כל CLI שהותקן)
+ - הרחבו מדיניות כדי להגדיר את הפרמטרים שלה (עבור מדיניויות התומכות ב-`policyParams`)
+ - הגדר נתיב קובץ מדיניויות מותאם
- - היסטוריה מלאה מחולקת לעמודים של כל אירוע hook שירה בכל ההפעלות
- - סנן לפי החלטה, סוג אירוע, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), שם מדיניות או מזהה הפעלה
- - כל שורה מציגה: חותמת זמן, שם מדיניות, החלטה, דגל CLI (כתום = Claude Code, סגול = OpenAI Codex, כחול = GitHub Copilot, אזמרגד = Cursor Agent, amber = OpenCode, ורוד = Pi, sky = Gemini CLI), שם כלים, מזהה הפעלה וסיבת החלטות deny/instruct
- - לחץ על מזהה הפעלה כדי לפתוח את התמלול שלה — הצופה מזהה באופן אוטומטי איזה CLI ירה את ה-hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) ועובד את דגל CLI התואם בכותרת
+ - היסטוריה מלאה מחולקת לעמודים של כל אירוע hook שהופעל על פני כל הsessions
+ - סנן לפי החלטה, סוג אירוע, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), שם מדיניות, או Session ID
+ - כל שורה מציגה: חותמת זמן, שם מדיניות, החלטה, תג CLI (כתום = Claude Code, סגול = OpenAI Codex, כחול = GitHub Copilot, זמרד = Cursor Agent, ענבר = OpenCode, ורוד = Pi, שמיים = Gemini CLI), שם כלי, Session ID, והסיבה להחלטות deny/instruct
+ - לחץ על Session ID כדי לפתוח את התמלול שלו — מציג אוטו-מזהה איזה CLI הדליק את ה-hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) וממשיך את תג CLI המתאים בכותרת
@@ -92,13 +96,13 @@ failproofai
## Auto-refresh
-לוח הבקרה יש הפעל/כבה auto-refresh בניווט העליון. כשהוא מופעל, העמוד הנוכחי מתרענן תקופתית כדי להציג הפעלות חדשות ופעילות מדיניות כאשר הם מופיעים. חיוני לניטור הפעלות סוכן אוטונומיות ארוכות.
+לוח הבקרה יש תיאום toggle auto-refresh בניווט העליון. כאשר הוא מופעל, הדף הנוכחי מתרענן בתדירות כדי להציג sessionsים חדשים ופעילות מדיניות כאשר הם מופיעים. חיוני לניטור של sessionsים סוכנים אוטונומיים ארוכי משך.
---
-## השבתת עמודים
+## השבתת דפים
-אם אתה זקוק רק לחלקים מסוימים של לוח הבקרה, הגדר `FAILPROOFAI_DISABLE_PAGES` לרשימה מופרדת בפסיקומה של שמות עמודים:
+אם אתה צריך רק חלקים מסוימים של לוח הבקרה, הגדר `FAILPROOFAI_DISABLE_PAGES` לרשימה מופרדת בפסיק של שמות דפים:
```bash
FAILPROOFAI_DISABLE_PAGES=policies failproofai
@@ -110,7 +114,7 @@ FAILPROOFAI_DISABLE_PAGES=policies failproofai
## הגדרת נתיב הפרויקטים
-כברירת מחדל, לוח הבקרה קורא מספריית פרויקטי Claude Code הסטנדרטית. עקוף אותה עבור הגדרות מותאמות:
+כברירת מחדל, לוח הבקרה קורא מתיקיית הפרויקטים הסטנדרטית Claude Code. עקוף אותו עבור הגדרות מותאמות:
```bash
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
@@ -118,32 +122,32 @@ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
---
-## גישה מהוסט non-localhost
+## הגישה מhoست non-localhost
-בעת הפעלת לוח הבקרה במצב **dev** (`npm run dev`) והגישה אליו מ-hostname אחר מאשר `localhost` - למשל, תחום מותאם, IP מרחוק או כתובת URL מנוצלת - ייתכן שתראה אזהרה כמו:
+כאשר בפעלון לוח הבקרה בעבודה **dev mode** (`npm run dev`) וגישה אליו משם hostname שאינו `localhost` - לדוגמה, תחום מותאם, IP מרחוק, או URL tunneled - אתה עשוי לראות אזהרה כמו:
```text
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```
-זה Next.js חוסם גישה חוצה-מקור ל-HMR שלו (hot module reload) websocket, שהיא תכונה dev-only. כדי לאפשר לכותב המוזבן שלך, השתמש בדגל `--allowed-origins`:
+זה Next.js חוסם גישה cross-origin לחוט HMR (hot module reload) שלו, שזה תכונה dev-only. כדי לתת אפשרות לhoust שלך, השתמש בדגל `--allowed-origins`:
```bash
npm run dev -- --allowed-origins dashboard.example.com
```
-עבור מספר מארחים או כתובות IP, מסור רשימה מופרדת בפסיקומה:
+עבור מספר hostsים או IPs, העבור רשימה מופרדת בפסיק:
```bash
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
```
-אתה יכול גם להגדיר את משתנה הסביבה `FAILPROOFAI_ALLOWED_DEV_ORIGINS` במקום:
+אתה גם יכול להגדיר את משתנה הסביבה `FAILPROOFAI_ALLOWED_DEV_ORIGINS` במקום:
```bash
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
```
-זה חל רק על מצב dev. בעת הרצת `failproofai` (מצב production), אין websocket HMR ואין בעיית משאב dev חוצה-מקור.
+זה חל רק ל-dev mode. כאשר רצים `failproofai` (production mode), אין HMR websocket ואין בעיה cross-origin dev resource.
\ No newline at end of file
diff --git a/docs/hi/cli/audit.mdx b/docs/hi/cli/audit.mdx
index 8301b6bb0..cc83921c5 100644
--- a/docs/hi/cli/audit.mdx
+++ b/docs/hi/cli/audit.mdx
@@ -1,56 +1,87 @@
---
-title: पिछले सत्रों का ऑडिट (बीटा)
-description: "जाँचें कि एजेंट ने अतीत के ट्रांसक्रिप्ट में कितनी बार अव्यर्थ या जोखिम भरे काम किए"
+title: पिछले सेशन ऑडिट करें (बीटा)
+description: "पिछले ट्रांसक्रिप्ट्स में देखें कि एजेंट कितनी बार बेकार या जोखिम भरे काम करता था"
---
- **बीटा फीचर।** ऑडिट बीटा के रूप में जारी किया जा रहा है जबकि हम प्रारंभिक प्रतिक्रिया एकत्र कर रहे हैं।
- अगली स्थिर रिलीज़ से पहले डिटेक्टर कैटलॉग और रिपोर्ट फॉर्मेट बदल सकते हैं। यदि कुछ ग़लत दिखे तो कृपया एक इश्यू खोलें।
+ **बीटा फीचर।** ऑडिट बीटा के रूप में शिप किया जा रहा है जबकि हम शुरुआती फीडबैक एकत्र करते हैं।
+ डिटेक्टर कैटलॉग और रिपोर्ट फॉर्मेट अगले स्थिर संस्करण से पहले बदल सकते हैं। कृपया एक issue खोलें यदि कुछ गलत लगे।
-ऑडिट अब **डैशबोर्ड के /audit पृष्ठ** के रूप में उपलब्ध है, CLI सबकमांड के रूप में नहीं। इसे डैशबोर्ड नेविगेशन बार से खोलें (Policies और Projects के बीच), या `failproofai` को लोकली चलाते समय सीधे `http://localhost:8020/audit` पर जाएँ।
+ऑडिट आपके पिछले एजेंट-CLI ट्रांसक्रिप्ट्स को failproofai के policy इंजन के माध्यम से फिर से चलाता है और **`/audit` डैशबोर्ड पेज** पर एक साझा, विजुअल रिपोर्ट प्रदान करता है — आपके एजेंट का आर्कटाइप, एक 0–100 स्कोर, और बिल्कुल कौन सी पॉलिसीज क्या पकड़ सकती थीं।
-```bash
-failproofai # डैशबोर्ड खोलें, फिर "Audit" पर क्लिक करें
+## इसे चलाएं
+
+तीन तरीके — सभी एक जैसी `/audit` रिपोर्ट पर पहुंचते हैं।
+
+
+
+```bash npx (इंस्टॉल न करें)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-डैशबोर्ड इस मशीन पर पिछले एजेंट CLI ट्रांसक्रिप्ट स्कैन करता है (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) और रिपोर्ट करता है कि एजेंट ने failproofai को रोकने के लिए बनाई गई चीजें कितनी बार कीं — env-var चेक, force push, अनावश्यक `cd ` उपसर्ग, sleep-polling लूप, अभी-संपादित फ़ाइलों को फिर से पढ़ना, और अधिक।
+```bash failproofai (डैशबोर्ड)
+failproofai
+```
+
+
+
+
+
+ `npx -y failproofai audit` failproofai को फेच करता है, स्कैन चलाता है, और आपके लिए डैशबोर्ड खोलता है — पहले कुछ भी इंस्टॉल करने की जरूरत नहीं है।
+
+
+ `failproofai audit` आपके टर्मिनल में स्कैन चलाता है, फिर जब यह समाप्त हो तो स्वचालित रूप से `localhost:8020/audit` खोलता है।
+
+
+ `failproofai` चलाएं और नेवबार में **Audit** पर क्लिक करें (Policies और Projects के बीच), या सीधे `/audit` खोलें।
+
+
+
+
+ उपयोग देखने के लिए `failproofai audit -h` (या `--help`) चलाएं। ऑडिट **पूरी तरह ऑफलाइन** चलता है — कोई अकाउंट या नेटवर्क आवश्यक नहीं है — और डैशबोर्ड तब तक सेवा प्रदान करता रहता है जब तक आप इसे `Ctrl+C` से नहीं रोकते।
+
+
+डैशबोर्ड इस मशीन पर पिछले एजेंट CLI ट्रांसक्रिप्ट्स को स्कैन करता है (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) और रिपोर्ट करता है कि एजेंट कितनी बार ऐसी चीजें करता था जिन्हें failproofai रोकने के लिए बनाया गया है — env-var चेक्स, force pushes, अनावश्यक `cd ` प्रीफिक्स, sleep-polling loops, बस अभी edit की गई फाइलों को दोबारा पढ़ना, और अधिक।
-प्रत्येक ट्रांसक्रिप्ट के लिए, हर tool-use इवेंट को 39 बिल्ट-इन पॉलिसीज़ **और** 8 audit-only डिटेक्टरों के माध्यम से फिर से चलाया जाता है जो ऐसे पैटर्न पकड़ते हैं जो अभी तक रनटाइम पॉलिसीज़ द्वारा कवर नहीं किए गए हैं। गणना सभी सत्रों में प्रति पॉलिसी / डिटेक्टर एकत्रित की जाती है।
+प्रत्येक ट्रांसक्रिप्ट के लिए, हर tool-use इवेंट को 39 बिल्ट-इन पॉलिसीज **और** 8 ऑडिट-केवल डिटेक्टर्स के माध्यम से दोबारा चलाया जाता है जो रनटाइम पॉलिसीज द्वारा अभी तक कवर न किए गए पैटर्न को पकड़ते हैं। गिनती को सभी सेशन्स में प्रति पॉलिसी / डिटेक्टर एकत्र किया जाता है।
-## आपको क्या मिलता है
+## आप क्या पाते हैं
-`/audit` पृष्ठ छः अनुभागों से बना है:
+`/audit` पेज एक सिंगल-स्क्रीन, साझा **पोस्टर** है जिसके बाद चार नीचे-के-गुंजन सेक्शन हैं:
-1. **पहचान** — आपके एजेंट को 8 आर्कटाइप में से एक में वर्गीकृत किया गया (`optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`) हर ऑडिट किए गए ट्रांसक्रिप्ट के भारित सिग्नल के आधार पर।
-2. **शक्तियाँ** — स्कैन से प्राप्त वास्तविक संख्याएँ (clean-call %, "0 credential leaks", आदि) प्रासंगिक sanitize पॉलिसीज़ पर आधारित।
-3. **स्कोर** — 0-100 S/A/B/C/D/F बैंड्स के साथ और प्रत्येक अनुशंसित पॉलिसी सक्षम होने पर अनुमानित सुधार।
-4. **निष्कर्ष** — प्रति-पॉलिसी कार्ड जो दिखाते हैं कि क्या हुआ, लागत, पकड़ा गया साक्ष्य, और सटीक `failproofai policy add ` लाइव-टाइम बिल्ट-इन सक्षम करने के लिए।
-5. **अनुशंसित पॉलिसीज़** — एकत्रित इंस्टॉल सूची एक-शॉट `failproofai policies --install` कमांड के साथ।
-6. **पुनः-ऑडिट अनुस्मारक** — "बेहतर होकर वापस आएँ।" API-सर्वर के माध्यम से 7-दिन का ईमेल अनुस्मारक सेट करें (साइन-इन की आवश्यकता है; [`failproofai auth`](/hi/cli/auth) देखें)।
+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 ` के साथ, प्लस एक **सभी को इंस्टॉल करें** बटन जो हर सिफारिश को एक बार सक्षम करता है और आपके **प्रोजेक्टेड स्कोर** दिखाता है यदि आप ऐसा करते।
+5. **`// come back better`** — आदत बनाएं: एक पुनः-ऑडिट ईमेल **रिमाइंडर** सेट करें (`3d` / `7d` / `14d` / `30d`) या अभी पुनः-ऑडिट करें, और **एक दोस्त को आमंत्रित करें** अपना स्वयं का ऑडिट चलाने के लिए (failproof.ai से भेजा गया, आपको Cc किया गया)। रिमाइंडर्स और आमंत्रण साइन-इन की आवश्यकता है — [`failproofai auth`](/hi/cli/auth) देखें।
-## Audit-only डिटेक्टर
+## ऑडिट-केवल डिटेक्टर्स
-ये "मूर्खतापूर्ण व्यवहार" पैटर्न का पता लगाते हैं जो (अभी तक) रीयल-टाइम में लागू नहीं किए जाते हैं। वे केवल ऑडिट के दौरान चलते हैं और कभी भी लाइव tool call को ब्लॉक नहीं करते हैं।
+ये बेवकूफाना व्यवहार पैटर्न का पता लगाते हैं जो (अभी तक) वास्तविक समय में लागू नहीं किए जाते हैं। वे केवल ऑडिट के दौरान चलते हैं और कभी भी लाइव tool कॉल को ब्लॉक नहीं करते।
| डिटेक्टर | यह क्या गिनता है |
|---|---|
-| `redundant-cd-cwd` | Bash कमांड जो `cd && …` से शुरू होते हैं भले ही कमांड पहले से ही `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` polling लूप। |
-| `find-from-root` | `find /`, `find /home`, `find /usr`, आदि — `cwd` तक स्कोप करें। |
-| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, हुक्स को छोड़ना। |
-| `reread-after-edit` | एक फ़ाइल का `Read` जो उसी सत्र में अभी-अभी `Edit`/`Write` किया गया था। |
+| `redundant-cd-cwd` | Bash कमांड्स जो `cd && …` से शुरू होती हैं भले ही कमांड्स पहले से ही `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` polling loops। |
+| `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/.json` पर `(mtime, size, engineVersion, detectorVersion)` द्वारा कुंजीकृत — जब ट्रांसक्रिप्ट या पॉलिसी/डिटेक्टर कोड बदलते हैं तो स्वचालित रूप से अमान्य हो जाता है। प्रत्येक प्रविष्टि एक `cachedAt` टाइमस्टैम्प भी स्टोर करती है **TTL मेटाडेटा** के रूप में (कैश कुंजी का हिस्सा नहीं); **7 दिन** से पुरानी प्रविष्टियाँ पढ़ने पर अस्वीकृत कर दी जाती हैं ताकि दीर्घजीवी परिणाम विकसित डिटेक्टर इरादों को पछाड़ न सकें।
-- **संपूर्ण-परिणाम कैश** `~/.failproofai/audit-dashboard.json` पर (mode 0600)। डैशबोर्ड को पुनः चलाए बिना नेविगेशन पर तुरंत रेंडर करने देता है। **7-दिन TTL** के बाद भी पढ़ने पर अस्वीकृत कर दिया जाता है — `/audit` फिर अपनी खाली स्थिति में गिरता है और ताज़ा रन के लिए प्रेरित करता है। रिपोर्ट के निचले हिस्से के पास `[ re-audit now ]` पर क्लिक करें ताज़ा करने के लिए — पुनः-ऑडिट `noCache: true` भेजता है, इसलिए यह प्रति-ट्रांसक्रिप्ट कैश को बाईपास करता है और कैश किए गए परिणाम के बजाय हर ट्रांसक्रिप्ट को फिर से स्कैन करता है; रन स्टिकी शीर्ष स्ट्रिप के माध्यम से प्रगति स्ट्रीम करता है और सफलता पर परिणाम को जगह में बदल देता है (कोई पृष्ठ रीलोड नहीं; एक विफल पुनः-ऑडिट पिछली रिपोर्ट रखता है)।
+- **प्रति-ट्रांसक्रिप्ट कैश** `~/.failproofai/cache/audit/.json` पर `(mtime, size, engineVersion, detectorVersion)` द्वारा कुंजीकृत — स्वचालित रूप से अमान्य हो जाता है जब ट्रांसक्रिप्ट या पॉलिसी/डिटेक्टर कोड बदलता है। प्रत्येक प्रविष्टि एक `cachedAt` टाइमस्टैम्प भी स्टोर करती है **TTL मेटाडेटा** के रूप में (कैश कुंजी का हिस्सा नहीं); **7 दिन** से पुरानी प्रविष्टियों को पढ़ने पर अस्वीकार किया जाता है ताकि लंबे समय तक चलने वाले परिणाम विकसित होने वाले डिटेक्टर इरादे को आगे न जाएं।
+- **पूर्ण-परिणाम कैश** `~/.failproofai/audit-dashboard.json` पर (मोड 0600)। डैशबोर्ड को पुनः-चलाए बिना नेविगेशन पर तुरंत रेंडर करने देता है। **7-दिन TTL** के बाद पढ़ने पर भी अस्वीकार किया जाता है — `/audit` फिर अपनी खाली स्थिति पर गिरता है और एक नया चलाने के लिए संकेत देता है। रिपोर्ट के निचले भाग के पास `[ re-audit now ]` पर क्लिक करें ताज़ा करने के लिए — re-audit `noCache: true` भेजता है, इसलिए यह प्रति-ट्रांसक्रिप्ट कैश को बायपास करता है और कैश किए गए परिणाम को लौटाने के बजाय हर ट्रांसक्रिप्ट को दोबारा स्कैन करता है; चलाना एक स्टिकी शीर्ष पट्टी के माध्यम से प्रगति स्ट्रीम करता है और सफलता पर परिणाम को स्थान पर स्वैप करता है (कोई पेज रीलोड नहीं; एक विफल पुनः-ऑडिट पिछली रिपोर्ट रखता है)।
## नोट्स
-- **कोई परिवर्तन नहीं।** ऑडिट केवल-पढ़ने की मोड में फिर से चलाया जाता है। `warn-repeated-tool-calls` को छोड़ दिया जाता है क्योंकि इसका प्रति-सत्र साइडकार अन्यथा संशोधित हो जाएगा।
-- **वर्कफ़्लो पॉलिसीज़ छोड़ दी गई।** `require-*-before-stop` पॉलिसीज़ केवल `Stop` इवेंट्स और लाइव git स्थिति के विरुद्ध `execSync` पर आग लगाती हैं — उनका कोई अर्थपूर्ण "2025 में क्या होता" व्याख्या नहीं है, इसलिए वे ऑडिट गणना में प्रदर्शित नहीं होती हैं।
-- **कस्टम पॉलिसीज़ छोड़ दी गई।** उपयोगकर्ता-आपूर्ति किए गए कस्टम हुक्स को फिर से चलाया नहीं जाता है (वे मूल सत्र के बाद से बदल गए हो सकते हैं)।
\ No newline at end of file
+- **कोई परिवर्तन नहीं।** ऑडिट केवल-पढ़ने मोड में फिर से चलता है। `warn-repeated-tool-calls` को छोड़ दिया जाता है क्योंकि इसका प्रति-सेशन साइडकार अन्यथा संशोधित होगा।
+- **वर्कफ्लो पॉलिसीज छोड़ी गई।** `require-*-before-stop` पॉलिसीज केवल `Stop` इवेंट्स और लाइव गिट स्थिति के विरुद्ध `execSync` पर फायर करती हैं — उनका कोई सार्थक 2025 में क्या हुआ होता की व्याख्या नहीं है, इसलिए वे ऑडिट गिनती में दिखाई नहीं देते हैं।
+- **कस्टम पॉलिसीज छोड़ी गई।** यूजर-आपूर्ति कस्टम हुक्स को फिर से नहीं चलाया जाता (वे मूल सेशन के बाद से बदल गए हो सकते हैं)।
\ No newline at end of file
diff --git a/docs/hi/dashboard.mdx b/docs/hi/dashboard.mdx
index f4c4a0817..9a360b1b1 100644
--- a/docs/hi/dashboard.mdx
+++ b/docs/hi/dashboard.mdx
@@ -1,10 +1,11 @@
---
+---
title: डैशबोर्ड
-description: "एजेंट सेशन की निगरानी करें, टूल कॉल की समीक्षा करें, और नीतियों का प्रबंधन करें"
+description: "एजेंट सेशन की निगरानी करें, टूल कॉल की समीक्षा करें, और नीतियों को प्रबंधित करें"
icon: chart-line
---
-failproofai डैशबोर्ड आपके AI एजेंट सेशन की निगरानी करने और नीतियों का प्रबंधन करने के लिए एक स्थानीय वेब अनुप्रयोग है। देखें कि आपके एजेंट आपके दूर रहते समय क्या करते थे।
+failproofai डैशबोर्ड आपके AI एजेंट सेशन की निगरानी और नीतियों को प्रबंधित करने के लिए एक स्थानीय वेब एप्लिकेशन है। देखें कि आपके एजेंट आपके दूर रहते हुए क्या कर रहे थे।
---
@@ -16,95 +17,95 @@ failproofai
`http://localhost:8020` पर खुलता है।
-डैशबोर्ड सीधे फाइलसिस्टम से पढ़ता है - आपके Claude Code प्रोजेक्ट फ़ोल्डर और failproofai कॉन्फ़िगरेशन फ़ाइलें। कुछ भी दूरस्थ सेवा को नहीं लिखा जाता है।
+डैशबोर्ड सीधे फाइलसिस्टम से पढ़ता है - आपके Claude Code प्रोजेक्ट फोल्डर और failproofai कॉन्फ़िग फाइलें। कुछ भी दूरस्थ सेवा में नहीं लिखा जाता है।
---
## पृष्ठ
-### प्रोजेक्ट
+### प्रोजेक्ट्स
-आपकी मशीन पर मिले सभी Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_, और Gemini CLI _(beta)_ प्रोजेक्ट को सूचीबद्ध करता है। Claude प्रोजेक्ट `~/.claude/projects/` से खोजे जाते हैं (या `CLAUDE_PROJECTS_PATH` द्वारा सेट किए गए पथ से); Codex प्रोजेक्ट `~/.codex/sessions////*.jsonl` के तहत हर ट्रांसक्रिप्ट को स्कैन करके और प्रत्येक सेशन के पहले रिकॉर्ड में दर्ज `cwd` द्वारा समूहित करके खोजे जाते हैं; Copilot CLI प्रोजेक्ट प्रत्येक `~/.copilot/session-state//workspace.yaml` को स्कैन करके (`COPILOT_HOME` के माध्यम से कॉन्फ़िगर किया जा सकता है) और इसके `cwd` फील्ड द्वारा समूहित करके खोजे जाते हैं; Cursor Agent प्रोजेक्ट `~/.cursor/agent-sessions//` के तहत प्रति-सेशन मेटाडेटा को स्कैन करके (`CURSOR_HOME` के माध्यम से कॉन्फ़िगर किया जा सकता है, `conversations/` और `sessions/` फॉलबैक के रूप में जांचे जाते हैं) `meta.json` / `session.json` / `workspace.yaml` में एक `cwd` स्केलर के लिए खोजे जाते हैं; OpenCode प्रोजेक्ट `~/.local/share/opencode/opencode.db` पर SQLite DB को क्वेरी करके (`opencode db --format json` के माध्यम से) खोजे जाते हैं (हम `session` और `project` टेबल पढ़ते हैं और `project_id` द्वारा समूहित करते हैं); Pi प्रोजेक्ट `~/.pi/agent/sessions//_.jsonl` के तहत प्रति-सेशन JSONL ट्रांसक्रिप्ट को स्कैन करके (`PI_SESSIONS_DIR` के माध्यम से कॉन्फ़िगर किया जा सकता है) और प्रत्येक सेशन के पहले रिकॉर्ड से `cwd` खींचकर खोजे जाते हैं; Gemini CLI प्रोजेक्ट `~/.gemini/tmp//chats/session--.jsonl` को स्कैन करके (`GEMINI_SESSIONS_DIR` के माध्यम से कॉन्फ़िगर किया जा सकता है) और सहायक `.project_root` टेक्स्ट मार्कर से canonical cwd को पुनः प्राप्त करके खोजे जाते हैं। एक प्रोजेक्ट जिसे कई CLI द्वारा उपयोग किया गया है, सभी मिलान बैज के साथ एक एकल पंक्ति के रूप में प्रदर्शित होता है। एक विशिष्ट एजेंट CLI द्वारा फ़िल्टर करने के लिए टेबल के ऊपर **CLI** ड्रॉपडाउन का उपयोग करें; URL आपकी चयन को `?cli=claude|codex|copilot|cursor|opencode|pi|gemini` के रूप में संरक्षित करता है।
+आपकी मशीन पर मिले सभी Claude Code, OpenAI Codex, GitHub Copilot CLI _(बीटा)_, Cursor Agent _(बीटा)_, OpenCode _(बीटा)_, Pi _(बीटा)_, और Gemini CLI _(बीटा)_ प्रोजेक्ट की सूची। Claude प्रोजेक्ट `~/.claude/projects/` से खोजे जाते हैं (या `CLAUDE_PROJECTS_PATH` द्वारा सेट किए गए पथ से); Codex प्रोजेक्ट `~/.codex/sessions////*.jsonl` के तहत प्रत्येक ट्रांस्क्रिप्ट को स्कैन करके और प्रत्येक सेशन के पहले रिकॉर्ड में दर्ज `cwd` द्वारा समूहीकृत करके खोजे जाते हैं; Copilot CLI प्रोजेक्ट प्रत्येक `~/.copilot/session-state//workspace.yaml` को स्कैन करके (`COPILOT_HOME` के माध्यम से कॉन्फ़िगर करने योग्य) और इसके `cwd` फ़ील्ड द्वारा समूहीकृत करके खोजे जाते हैं; Cursor Agent प्रोजेक्ट `~/.cursor/agent-sessions//` के तहत प्रति-सेशन मेटाडेटा को स्कैन करके खोजे जाते हैं (`CURSOR_HOME` के माध्यम से कॉन्फ़िगर करने योग्य, `conversations/` और `sessions/` फॉलबैक के रूप में जांचे जाते हैं) `meta.json` / `session.json` / `workspace.yaml` में एक `cwd` स्केलर के लिए; OpenCode प्रोजेक्ट `~/.local/share/opencode/opencode.db` पर इसके SQLite DB को `opencode db --format json` के माध्यम से क्वेरी करके खोजे जाते हैं (हम `session` और `project` टेबल पढ़ते हैं और `project_id` द्वारा समूहीकृत करते हैं); Pi प्रोजेक्ट `~/.pi/agent/sessions//_.jsonl` के तहत प्रति-सेशन JSONL ट्रांस्क्रिप्ट को स्कैन करके खोजे जाते हैं (`PI_SESSIONS_DIR` के माध्यम से कॉन्फ़िगर करने योग्य) और प्रत्येक सेशन के पहले रिकॉर्ड से `cwd` खींचते हैं; Gemini CLI प्रोजेक्ट `~/.gemini/tmp//chats/session--.jsonl` को स्कैन करके खोजे जाते हैं (`GEMINI_SESSIONS_DIR` के माध्यम से कॉन्फ़िगर करने योग्य) और सहोदर `.project_root` टेक्स्ट मार्कर से विहित cwd को पुनः प्राप्त करते हैं। एक प्रोजेक्ट जो कई CLIs द्वारा उपयोग किया गया है एक एकल पंक्ति के रूप में सभी मिलान बैज के साथ प्रदर्शित होता है। एक विशिष्ट एजेंट CLI द्वारा फ़िल्टर करने के लिए तालिका के ऊपर **CLI** ड्रॉपडाउन का उपयोग करें; URL आपकी चयन को `?cli=claude|codex|copilot|cursor|opencode|pi|gemini` के रूप में सहेजता है।
प्रत्येक प्रोजेक्ट दिखाता है:
-- प्रोजेक्ट नाम (फ़ोल्डर पथ से व्युत्पन्न)
+- प्रोजेक्ट नाम (फोल्डर पथ से प्राप्त)
- एक CLI बैज — `Claude Code` (नारंगी), `OpenAI Codex` (बैंगनी), `GitHub Copilot` (नीला), `Cursor Agent` (पन्ना), `OpenCode` (एम्बर), `Pi` (गुलाबी), और/या `Gemini CLI` (आकाश)
- सबसे हाल की सेशन गतिविधि की तारीख
-एक प्रोजेक्ट पर क्लिक करके इसके सेशन देखें।
+इसके सेशन देखने के लिए एक प्रोजेक्ट पर क्लिक करें।
### सेशन
-किसी प्रोजेक्ट के भीतर सभी सेशन को सूचीबद्ध करता है। प्रत्येक सेशन दिखाता है:
+एक प्रोजेक्ट के भीतर सभी सेशन की सूची। प्रत्येक सेशन दिखाता है:
- सेशन ID
-- शुरुआत और अंत टाइमस्टैम्प
+- शुरुआत और अंत का समय
- टूल कॉल की संख्या
-- हुक गतिविधि गणना (नीतियां जो लागू हुईं)
+- हुक गतिविधि की गिनती (नीतियां जो सक्रिय हुईं)
-सूची को सीमित करने के लिए दिनांक श्रेणी फ़िल्टर और सेशन ID खोज का उपयोग करें। सेशन पेजीनेटेड हैं।
+सूची को कम करने के लिए दिनांक सीमा फ़िल्टर और सेशन ID खोज का उपयोग करें। सेशन पृष्ठांकित हैं।
-एक सेशन पर क्लिक करके सेशन दर्शक खोलें।
+सेशन दर्शक को खोलने के लिए एक सेशन पर क्लिक करें।
### सेशन दर्शक
-सेशन दर्शक स्वायत्त एजेंट के लिए मुख्य प्रश्न का उत्तर देता है: एजेंट ने क्या किया, और क्या यह ट्रैक पर रहा? हेडर के बगल में एक CLI बैज इंगित करता है कि सेशन Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi, या Gemini CLI ट्रांसक्रिप्ट है। यह एक सेशन में घटी हर चीज की एक समय सारणी दिखाता है:
+सेशन दर्शक स्वायत्त एजेंटों के लिए मुख्य प्रश्न का उत्तर देता है: एजेंट ने क्या किया, और क्या यह ट्रैक पर रहा? हेडर के बगल में एक CLI बैज यह दर्शाता है कि सेशन Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi, या Gemini CLI ट्रांस्क्रिप्ट है। यह एक सेशन में हुई सभी चीजों की एक समयरेखा दिखाता है:
-- **संदेश** - Claude के टेक्स्ट प्रतिक्रियाएं और उपयोगकर्ता प्रॉम्प्ट
+- **संदेश** - Claude के पाठ प्रतिक्रियाएं और उपयोगकर्ता संकेत
- **टूल कॉल** - हर टूल जिसे Claude ने आह्वान किया, इसके इनपुट और आउटपुट के साथ
-- **नीति गतिविधि** - प्रत्येक टूल कॉल के लिए, कौन सी नीतियां लागू हुईं और वे कौन सा निर्णय लौटाईं
+- **नीति गतिविधि** - प्रत्येक टूल कॉल के लिए, कौन सी नीतियां सक्रिय हुईं और उन्होंने क्या निर्णय लौटाया
-शीर्ष पर स्टेट्स बार सेशन अवधि, कुल टूल कॉल, और हुक निर्णयों का सारांश (allow / deny / instruct गणना) दिखाता है।
+शीर्ष पर सांख्यिकी पट्टी सेशन की अवधि, कुल टूल कॉल, और हुक निर्णयों का सारांश दिखाती है (allow / deny / instruct गिनती)।
-**डाउनलोड लॉग** बटन पर क्लिक करके सेशन को निर्यात करें। Claude Code, Codex, Copilot, Cursor, Pi, और Gemini सेशन के लिए आपको मूल ऑन-डिस्क JSONL ट्रांसक्रिप्ट बाइट-दर-बाइट मिलता है; OpenCode सेशन के लिए (जिनके सेशन SQLite में हैं, डिस्क पर नहीं) आपको अंतर्निहित `session` / `messages` / `parts` टेबल को प्रतिबिंबित करने वाला एक JSON दस्तावेज़ मिलता है।
+सेशन को निर्यात करने के लिए **डाउनलोड लॉग्स** बटन पर क्लिक करें। Claude Code, Codex, Copilot, Cursor, Pi, और Gemini सेशन के लिए आप मूल ऑन-डिस्क JSONL ट्रांस्क्रिप्ट बाइट-फॉर-बाइट प्राप्त करते हैं; OpenCode के लिए (जिसके सेशन SQLite में रहते हैं, डिस्क पर नहीं) आप एक JSON दस्तावेज़ प्राप्त करते हैं जो अंतर्निहित `session` / `messages` / `parts` तालिकाओं को प्रतिबिंबित करता है।
### ऑडिट
-आपके एजेंट के पिछले सेशन में वास्तव में कैसे व्यवहार किया गया है, इसकी एक व्यक्तित्व-संचालित रिपोर्ट। `failproofai audit` CLI के समान स्कैन चलाता है लेकिन इसे एक एकल-स्क्रीन साझा करने योग्य पोस्टर + चार नीचे-गुना अनुभागों के रूप में प्रस्तुत करता है:
+आपके एजेंट के व्यक्तित्व-संचालित रिपोर्ट कि वह वास्तव में अतीत के सेशन में कैसे व्यवहार कर रहा है। `failproofai audit` CLI के समान स्कैन चलाता है लेकिन इसे एक एकल-स्क्रीन शेयरयोग्य पोस्टर + चार नीचे-के-गुना अनुभागों के रूप में प्रदर्शित करता है:
-1. **पोस्टर** — पहले व्यूपोर्ट को भरता है। failproof_ai वर्डमार्क + ऑडिट लेबल के साथ आत्मनिर्भर PNG-कैप्चर क्षेत्र · आर्कटाइप इंडेक्स (`№ NN of 08`) + ऑडिट तारीख · संख्यात्मक स्कोर (0–100) + प्रतिशतांक रैंक पिल (`top 15%`) · आर्कटाइप नाम (निम्नलिखित में से एक `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + 3-कीवर्ड पट्टी · `// only N% of agents are this archetype` दुर्लभता लाइन · 8×8 पिक्सेल सिगिल टाइल · `audit yours → failproof.ai` फुटर। कैप्चर बॉक्स के बाहर तीन साझा बटन बैठते हैं: `post your archetype` (X इरादा), `share on linkedin`, `download poster`। कैप्चर `html-to-image` के माध्यम से चलता है ताकि PNG ऑन-स्क्रीन रेंडर को पिक्सेल-दर-पिक्सेल से मेल खाए (डैश किए गए बॉर्डर, SVG लोगो मास्क, ग्रेडिएंट, फ़ॉन्ट मेट्रिक्स — सभी संरक्षित)।
-2. **शक्तियां** — शांत ✓ पंक्ति सूची आपके एजेंट द्वारा पहले से सही तरीके से किए जाने वाले व्यवहार, लाइव ऑडिट डेटा से व्युत्पन्न (स्वच्छ टूल-कॉल दर, औसत सेशन लंबाई, शून्य प्रमाणपत्र लीक, शून्य पुनः प्रयास तूफान, आदि)।
-3. **क्विर्क्स** — प्रभाव द्वारा रैंक किए गए जो फिसल गया, की एक तालिका: `time · what slipped + policy that would've caught it · severity pill · recurrence` (नया / Nx इस सप्ताह / पुनरावर्ती)।
-4. **कैसे सुधारें** — शांत पंक्ति सूची, एक प्रति निर्धारित नीति: नीति का नाम सफेद में, एक-पंक्ति विवरण, इंस्टॉल कमांड + दाईं ओर कॉपी बटन। एक `[install all]` बटन अनुभाग हेडर पर हर निर्धारित नीति के लिए संयुक्त `failproofai policy add a b c …` कमांड को कॉपी करता है।
-5. **बेहतर वापस आएं** — दो साइड-दर-साइड कार्ड। बाएं: एक अनुस्मारक सेट करें (`3d` / `7d` / `14d` / `30d` कैडेंस पिकर; `/api/auth/reminder` के माध्यम से प्रमाणित एक बार जारी रहता है)। दाएं: failproof पर्क्स को अनलॉक करें — `invite a friend` एक मोडल खोलता है जो अल्पविराम/स्पेस/न्यूलाइन-अलग किए गए मित्र ईमेल की सूची लेता है (प्रति भेज अधिकतम 10), उन्हें `/api/audit/invite` पर POST करता है, जो api-सर्वर के `POST /v0/invite` को अग्रेषित करता है। api-सर्वर `invite@failproof.ai` से एक ईमेल प्रति प्राप्तकर्ता भेजता है प्रेषक को Cc किया गया और `Reply-To` सेट किया गया, ताकि प्राप्तकर्ता को पता चले कि किसने उन्हें आमंत्रित किया और प्रेषक को उनके इनबॉक्स में एक प्रति मिले। गुमनाम उपयोगकर्ताओं को `AuthDialog` के माध्यम से रूट किया जाता है ताकि आमंत्रण जाने से पहले प्रेषक का ईमेल ज्ञात हो। एंटाइटलमेंट / पर्क्स पूर्ति एक अनुवर्ती है।
+1. **पोस्टर** — पहला व्यूपोर्ट भरता है। Self-contained PNG-capture क्षेत्र failproof_ai शब्दचिन्ह + ऑडिट लेबल के साथ · आर्केटाइप इंडेक्स (`№ NN of 08`) + ऑडिट तारीख · संख्यात्मक स्कोर (0–100) + प्रतिशतांक रैंक गोली (`top 15%`) · आर्केटाइप नाम (एक `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost` में) + 3-कीवर्ड पट्टी · `// only N% of agents are this archetype` दुर्लभता पंक्ति · 8×8 पिक्सल sigil टाइल · `audit yours → failproof.ai` पाद लेख। कैप्चर बॉक्स के ठीक बाहर तीन साझा बटन बैठते हैं: `post your archetype` (X intent), `share on linkedin`, `download poster`। कैप्चर `html-to-image` के माध्यम से चलता है इसलिए PNG ऑन-स्क्रीन रेंडर पिक्सल-फॉर-पिक्सल से मेल खाता है (डैशेड सीमाएं, SVG लोगो मास्क, ग्रेडिएंट, फॉन्ट मेट्रिक्स — सभी संरक्षित)।
+2. **शक्तियां** — शांत ✓ पंक्ति सूची के आचरण जो आपका एजेंट पहले से सही कर रहा है, लाइव ऑडिट डेटा से प्राप्त (स्वच्छ टूल-कॉल दर, मुख्य में कोई प्रत्यक्ष पुश नहीं, शून्य क्रेडेंशियल रिसाव, शून्य रीट्राई तूफान) — प्रत्येक केवल तब सामने आता है जब प्रासंगिक नीति के पास ऑडिट विंडो भर में एक स्वच्छ रिकॉर्ड हो।
+3. **विलक्षणताएं** — जो फिसल गया उसकी तालिका, गंभीरता द्वारा क्रमबद्ध: `when · what slipped + the policy that would've caught it · severity pill · seen`, जहां पुनरावृत्ति `new` (एक बार), `N× seen` (2–9 बार), या `recurring` (10+) पढ़ता है।
+4. **सुधार कैसे करें** — शांत पंक्ति सूची, प्रत्येक निर्धारित नीति के लिए एक: नीति नाम सफेद में, एक-पंक्ति विवरण, स्थापना आदेश + दाहिनी ओर कॉपी बटन। अनुभाग शीर्षक `enable all N → projected · ` पढ़ता है (वह स्कोर जो आप हर सुधार लागू करके प्राप्त करेंगे), और इसका `[install all]` बटन हर निर्धारित नीति के लिए संयुक्त `failproofai policy add a b c …` कमांड की प्रतिलिपि बनाता है।
+5. **बेहतर रूप से वापस आएं** — दो साथ-साथ कार्ड। बाएं: एक अनुस्मारक सेट करें (`3d` / `7d` / `14d` / `30d` कैडेंस पिकर; `/api/auth/reminder` के माध्यम से प्रमाणीकृत होने के बाद आगे बढ़ता है)। दाएं: failproof लाभ अनलॉक करें — `invite a friend` एक मोडल खोलता है जो अल्पविराम/स्पेस/न्यूलाइन-अलग सूची लेता है (प्रति भेजने के लिए अधिकतम 10) मित्र ईमेल, उन्हें `/api/audit/invite` में पोस्ट करते हैं, जो api-server के `POST /v0/invite` को अग्रेषित करते हैं। api-server प्रत्येक प्राप्तकर्ता को `invite@failproof.ai` से एक ईमेल भेजता है प्रेषक को Cc किया गया है और `Reply-To` सेट के साथ, इसलिए प्राप्तकर्ता देखता है कि उन्हें किसने आमंत्रित किया और प्रेषक को उनके इनबॉक्स में एक प्रति मिलती है। गुमनाम उपयोगकर्ता `AuthDialog` के माध्यम से रूट किए जाते हैं इसलिए आमंत्रण बाहर जाने से पहले प्रेषक का ईमेल ज्ञात हो। पात्रता / लाभ पूर्ति एक फॉलो-अप है।
-`failproofai audit` रनटाइम द्वारा संचालित — अंतर्निहित स्कैन इंजन, समर्थित फ्लैग, और प्रति-ट्रांसक्रिप्ट कैश अपरिवर्तनीय के लिए [Audit CLI](/hi/cli/audit) देखें। डैशबोर्ड `~/.failproofai/audit-dashboard.json` पर नवीनतम परिणाम कैश करता है (मोड `0600`, एकल स्लॉट, नया चलता है अधिलेख करता है) ताकि पुनः देखना तुरंत हो; **प्रति-ट्रांसक्रिप्ट और संपूर्ण-परिणाम कैश दोनों को पढ़ने पर अस्वीकार कर दिया जाता है जब वे 7 दिन से पुराने हों** ताकि डैशबोर्ड कभी भी एक सप्ताह पुराने परिणाम को चुप्पी से न परोसे — TTL के पास `/audit` इसकी खाली स्थिति में गिरता है और एक ताज़ा चलाने के लिए संकेत देता है। रिपोर्ट के निचले हिस्से में `[ re-audit now ]` पर क्लिक करने से `/api/audit/run` को `noCache: true` के साथ POST किया जाता है — पुनः-ऑडिट प्रति-ट्रांसक्रिप्ट कैश को बायपास करता है और हर ट्रांसक्रिप्ट को शुरू से फिर से स्कैन करता है बजाय चुप्पी से कैश परिणाम लौटाने के — और डैशबोर्ड 1Hz पर `/api/audit/status` को पोल करता है जब तक कि चलाना समाप्त न हो जाए; एक चिपचिपी गुलाबी प्रगति पट्टी चलाने के दौरान व्यूपोर्ट के शीर्ष पर पिन करती है, जिसमें एक बीता हुआ टाइमर होता है, और ताज़ा परिणाम सफलता पर स्थान पर स्वैप होता है (कोई पूर्ण-पृष्ठ पुनः लोड नहीं; विफल पुनः-ऑडिट पूर्व रिपोर्ट को अक्षुण्ण छोड़ देता है)। विफलता पर पट्टी `RerunError.kind` (`timeout` / `network` / `post_failed`) से कॉपी के साथ लाल हो जाती है। खाली स्थिति (कोई कैश या समाप्त) और शून्य-सेशन स्थिति (कैश मौजूद है लेकिन स्कैन में कोई ट्रांसक्रिप्ट नहीं मिला) को अलग से सतह पर लाया जाता है।
+`failproofai audit` रनटाइम द्वारा संचालित — अंतर्निहित स्कैन इंजन, समर्थित फ़्लैग, और प्रति-ट्रांस्क्रिप्ट कैश अपरिवर्तनीय के लिए [ऑडिट CLI](/hi/cli/audit) देखें। डैशबोर्ड सबसे हाल का परिणाम `~/.failproofai/audit-dashboard.json` पर कैश करता है (मोड `0600`, एकल स्लॉट, नए रन ओवरराइट करते हैं) इसलिए पुनः विजिट तत्काल हैं; **प्रति-ट्रांस्क्रिप्ट और संपूर्ण-परिणाम दोनों कैश को पढ़ने पर अस्वीकार कर दिया जाता है एक बार वे 7 दिन से अधिक पुराने हो जाते हैं** इसलिए डैशबोर्ड कभी भी एक सप्ताह पुराना परिणाम मौन रूप से परोसता नहीं है — TTL के बाद `/audit` खाली अवस्था में गिर जाता है और एक ताजा रन का संकेत देता है। रिपोर्ट के नीचे `[ re-audit now ]` पर क्लिक करना `/api/audit/run` को `noCache: true` के साथ पोस्ट करता है — पुनः-ऑडिट प्रति-ट्रांस्क्रिप्ट कैश को बायपास करता है और हर ट्रांस्क्रिप्ट को शुरुआत से फिर से स्कैन करता है मौन रूप से कैश किए गए परिणाम को लौटाने के बजाय — और डैशबोर्ड 1Hz पर `/api/audit/status` को पोल करता है जब तक रन समाप्त नहीं हो जाता; एक चिपचिपा गुलाबी प्रगति पट्टी चलाने के दौरान व्यूपोर्ट के शीर्ष पर पिन करता है एक बीते हुए टाइमर के साथ, और ताजा परिणाम सफलता पर स्थान में स्वैप करता है (कोई पूर्ण-पृष्ठ पुनः लोड नहीं; एक विफल पुनः-ऑडिट पूर्व रिपोर्ट को बरकरार छोड़ता है)। विफलता पर पट्टी `RerunError.kind` (`timeout` / `network` / `post_failed`) के आधार पर लाल हो जाती है। खाली अवस्था (कोई कैश या समाप्त नहीं) और शून्य-सेशन अवस्था (कैश मौजूद है लेकिन स्कैन ने कोई ट्रांस्क्रिप्ट नहीं पाया) अलग से सामने आते हैं।
### नीतियां
-नीतियों का प्रबंधन और गतिविधि की समीक्षा करने के लिए एक दो-टैब पृष्ठ।
+नीतियों को प्रबंधित करने और गतिविधि की समीक्षा करने के लिए एक दो-टैब पृष्ठ।
- - एकल पैनल से नीचे किन एजेंट CLI को failproofai सुरक्षा देता है, यह बहु-चयन करें — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi, और Gemini CLI के सभी में स्थापना स्थिति (`Active` / `Detected` / `Inactive`) के साथ एक पंक्ति होती है, उपयोगकर्ता-स्कोप सेटिंग पथ, और एक ब्रांड-रंगीन उच्चारण। उन CLI को चेक या अनचेक करें जिन्हें आप चाहते हैं और एक चरण में अंतर को स्थापित/अनस्थापित करने के लिए `Apply changes` पर क्लिक करें। CLI जिनका बाइनरी PATH पर पाया जाता है, पूर्व-जांच किए जाते हैं।
- - एक क्लिक के साथ व्यक्तिगत नीतियों को चालू या बंद करें (`~/.failproofai/policies-config.json` में लिखता है — हर स्थापित CLI में साझा किया जाता है)
- - एक नीति को विस्तारित करें इसके पैरामीटर को कॉन्फ़िगर करने के लिए (नीतियों के लिए जो `policyParams` का समर्थन करते हैं)
- - एक कस्टम नीति फ़ाइल पथ सेट करें
+ - एक पैनल से failproofai जो एजेंट CLIs की सुरक्षा करता है उसे बहु-चयन करें — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi, और Gemini CLI सभी के पास स्थापना स्थिति (`Active` / `Detected` / `Inactive`), उपयोगकर्ता-स्कोप सेटिंग्स पथ, और ब्रांड-रंगीन उच्चारण के साथ एक पंक्ति है। उन CLIs को चेक या अनचेक करें जिन्हें आप चाहते हैं और एक ही चरण में स्थापित/अनस्थापित के अंतर को लागू करने के लिए `Apply changes` पर क्लिक करें। CLIs जिनके बाइनरी PATH पर पाए जाते हैं पूर्व-चेक किए जाते हैं।
+ - एक एकल क्लिक के साथ व्यक्तिगत नीतियों को चालू या बंद करें (`~/.failproofai/policies-config.json` में लिखता है — हर स्थापित CLI के बीच साझा किया जाता है)
+ - एक नीति का विस्तार करें इसके पैरामीटर को कॉन्फ़िगर करने के लिए (जो नीतियां `policyParams` का समर्थन करती हैं)
+ - एक कस्टम नीति फाइल पथ सेट करें
- - सभी सेशन में लागू हुए हर हुक इवेंट का पूर्ण पेजीनेटेड इतिहास
- - निर्णय, इवेंट प्रकार, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), नीति नाम, या सेशन ID द्वारा फ़िल्टर करें
- - प्रत्येक पंक्ति दिखाती है: टाइमस्टैम्प, नीति नाम, निर्णय, CLI बैज (नारंगी = Claude Code, बैंगनी = OpenAI Codex, नीला = GitHub Copilot, पन्ना = Cursor Agent, एम्बर = OpenCode, गुलाबी = Pi, आकाश = Gemini CLI), टूल नाम, सेशन ID, और deny/instruct निर्णयों के लिए कारण
- - एक सेशन ID पर क्लिक करके इसके ट्रांसक्रिप्ट को खोलें — दर्शक स्वचालित रूप से पहचानता है कि कौन सा CLI हुक को लागू किया (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) और हेडर में मिलान CLI बैज प्रदान करता है
+ - सभी सेशन में फायरिंग की गई हर हुक गतिविधि का पूर्ण पृष्ठांकित इतिहास
+ - निर्णय, घटना प्रकार, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(बीटा)_ / Cursor Agent _(बीटा)_ / OpenCode _(बीटा)_ / Pi _(बीटा)_ / Gemini CLI _(बीटा)_), नीति नाम, या सेशन ID द्वारा फ़िल्टर करें
+ - प्रत्येक पंक्ति दिखाती है: समय, नीति नाम, निर्णय, CLI बैज (नारंगी = Claude Code, बैंगनी = OpenAI Codex, नीला = GitHub Copilot, पन्ना = Cursor Agent, एम्बर = OpenCode, गुलाबी = Pi, आकाश = Gemini CLI), टूल नाम, सेशन ID, और deny/instruct निर्णयों का कारण
+ - अपनी ट्रांस्क्रिप्ट खोलने के लिए एक सेशन ID पर क्लिक करें — दर्शक स्वचालित रूप से पहचानता है कि कौन सी CLI ने हुक को ट्रिगर किया (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) और हेडर में मिलान CLI बैज प्रदान करता है
---
-## ऑटो-रीफ्रेश
+## स्वचालित रीफ्रेश
-डैशबोर्ड में शीर्ष नेविगेशन में ऑटो-रीफ्रेश टॉगल है। जब सक्षम हो, तो मौजूदा पृष्ठ समय-समय पर रीफ्रेश होता है नई सेशन और नीति गतिविधि दिखाने के लिए जैसे-जैसे वे दिखाई देते हैं। दीर्घकालीन स्वायत्त एजेंट सेशन की निगरानी के लिए आवश्यक है।
+डैशबोर्ड में शीर्ष नेविगेशन में एक स्वचालित-रीफ्रेश टॉगल है। जब सक्षम होता है, तो वर्तमान पृष्ठ नई सेशन और नीति गतिविधि दिखाने के लिए समय-समय पर ताज़ा होता है जैसे ही वे दिखाई देते हैं। दीर्घकालीन स्वायत्त एजेंट सेशन की निगरानी के लिए आवश्यक।
---
## पृष्ठों को अक्षम करना
-यदि आपको डैशबोर्ड के केवल कुछ हिस्सों की आवश्यकता है, तो `FAILPROOFAI_DISABLE_PAGES` को पृष्ठ नामों की अल्पविराम-अलग सूची पर सेट करें:
+यदि आपको केवल डैशबोर्ड के कुछ भाग की आवश्यकता है, तो `FAILPROOFAI_DISABLE_PAGES` को पृष्ठ नामों की अल्पविराम-सीमांकित सूची पर सेट करें:
```bash
FAILPROOFAI_DISABLE_PAGES=policies failproofai
```
-वैध मान: `policies`, `projects`, `audit`।
+मान्य मान: `policies`, `projects`, `audit`।
---
@@ -118,32 +119,32 @@ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
---
-## गैर-localhost होस्ट से एक्सेस करना
+## एक गैर-localhost होस्ट से एक्सेस करना
-जब डैशबोर्ड को **dev मोड** में चलाते हैं (`npm run dev`) और इसे `localhost` के अलावा किसी अन्य होस्टनाम से एक्सेस करते हैं - उदाहरण के लिए, एक कस्टम डोमेन, एक दूरस्थ IP, या एक सुरंग URL - आप एक चेतावनी देख सकते हैं जैसे:
+जब **dev mode** (`npm run dev`) में डैशबोर्ड चल रहा हो और `localhost` के अलावा किसी अन्य होस्टनाम से इसे एक्सेस किया जा रहा हो - उदाहरण के लिए, एक कस्टम डोमेन, एक दूरस्थ IP, या एक टनल किया हुआ URL — आपको एक चेतावनी जैसी दिख सकती है:
```text
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```
-यह Next.js अपने HMR (हॉट मॉड्यूल रीलोड) वेबसॉकेट तक क्रॉस-ऑरिजिन एक्सेस को अवरुद्ध कर रहा है, जो एक dev-only सुविधा है। अपने होस्ट को अनुमति देने के लिए, `--allowed-origins` फ्लैग का उपयोग करें:
+यह Next.js अपने HMR (hot module reload) websocket के क्रॉस-ऑरिजिन एक्सेस को ब्लॉक कर रहा है, जो एक dev-only सुविधा है। अपने होस्ट को अनुमति देने के लिए, `--allowed-origins` फ़्लैग का उपयोग करें:
```bash
npm run dev -- --allowed-origins dashboard.example.com
```
-कई होस्ट या IP के लिए, अल्पविराम-अलग सूची पास करें:
+कई होस्ट या IP के लिए, अल्पविराम-सीमांकित सूची पास करें:
```bash
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
```
-आप इसके बजाय `FAILPROOFAI_ALLOWED_DEV_ORIGINS` पर्यावरण चर सेट कर सकते हैं:
+आप इसके बजाय `FAILPROOFAI_ALLOWED_DEV_ORIGINS` पर्यावरण चर भी सेट कर सकते हैं:
```bash
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
```
-यह केवल dev मोड पर लागू होता है। `failproofai` चलाते समय (production mode), कोई HMR वेबसॉकेट नहीं है और कोई क्रॉस-ऑरिजिन dev संसाधन समस्या नहीं है।
+यह केवल dev mode पर लागू होता है। जब `failproofai` चलाया जाता है (production mode), कोई HMR websocket और कोई क्रॉस-ऑरिजिन dev संसाधन समस्या नहीं है।
\ No newline at end of file
diff --git a/docs/it/cli/audit.mdx b/docs/it/cli/audit.mdx
index e54ccffa1..52e365ff3 100644
--- a/docs/it/cli/audit.mdx
+++ b/docs/it/cli/audit.mdx
@@ -1,57 +1,93 @@
---
title: Audit delle sessioni passate (beta)
-description: "Conta quante volte l'agente ha fatto cose inefficienti o rischiose nei transcript passati"
+description: "Conta quante volte l'agente ha fatto cose inutili o rischiose nelle trascrizioni precedenti"
---
- **Funzionalità beta.** L'audit viene fornito in beta mentre raccogliamo i feedback iniziali.
- Il catalogo dei detector e il formato del report potrebbero cambiare prima della prossima versione stabile.
- Apri una segnalazione se qualcosa non ti sembra corretto.
+ **Funzionalità Beta.** L'audit è in versione beta mentre raccogliamo i feedback iniziali.
+ Il catalogo dei rilevatori e il formato del report potrebbero cambiare prima del prossimo rilascio stabile.
+ Per favore apri una segnalazione se qualcosa sembra non giusto.
-L'audit è ora esposto come la **pagina dashboard /audit**, non come un sottocomando CLI. Aprilo dalla barra di navigazione del dashboard (tra Policies e Projects), oppure visita direttamente `http://localhost:8020/audit` quando esegui `failproofai` localmente.
+L'audit riproduce le tue trascrizioni passate dell'agent-CLI attraverso il motore delle policy di failproofai e genera un report visivo e condivisibile nella **pagina dashboard `/audit`** — l'archetipo del tuo agente, un punteggio 0–100, e esattamente quali policy avrebbero bloccato cosa.
-```bash
-failproofai # apri il dashboard, quindi fai clic su "Audit"
+## Eseguirlo
+
+Tre modi di accesso — portano tutti allo stesso report `/audit`.
+
+
+
+```bash npx (nessuna installazione)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-Il dashboard scansiona i transcript CLI passati dell'agente su questa macchina (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) e riporta quante volte l'agente ha fatto cose che failproofai è costruito per bloccare — controlli di variabili d'ambiente, force push, prefissi `cd ` ridondanti, loop di sleep-polling, ri-letture di file appena modificati, e altro ancora.
+```bash failproofai (dashboard)
+failproofai
+```
+
+
+
+
+
+ `npx -y failproofai audit` scarica failproofai, esegue la scansione e apre il
+ dashboard per te — nulla da installare in precedenza.
+
+
+ `failproofai audit` esegue la scansione nel tuo terminale, quindi apre
+ automaticamente `localhost:8020/audit` quando termina.
+
+
+ Esegui `failproofai` e fai clic su **Audit** nella barra di navigazione (tra Policies e
+ Projects), oppure apri `/audit` direttamente.
+
+
+
+
+ Esegui `failproofai audit -h` (o `--help`) per vedere l'utilizzo. L'audit viene eseguito **completamente
+ offline** — non è richiesto nessun account o connessione di rete — e il dashboard continua a essere fornito
+ fino a quando non lo interrompi con `Ctrl+C`.
+
+
+Il dashboard scansiona le trascrizioni passate dell'agent CLI su questa macchina (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, Gemini) e segnala quante volte l'agente ha fatto cose che failproofai è costruito per bloccare — controlli di variabili d'ambiente, push forzati, prefissi `cd ` ridondanti, loop di polling con sleep, ricezione di file appena modificati, e altro.
-Per ogni transcript, ogni evento di tool-use viene rieseguito attraverso le 39 politiche builtin **e** attraverso 8 detector audit-only che catturano pattern non ancora coperti dalle politiche di runtime. I conteggi sono aggregati per politica / detector su tutte le sessioni.
+Per ogni trascrizione, ogni evento di tool-use viene riprodotto attraverso le 39 policy integrate **e** attraverso 8 rilevatori solo audit che catturano pattern non ancora coperti dalle policy di runtime. I conteggi vengono aggregati per policy / rilevatore in tutte le sessioni.
-## Cosa ottieni
+## Cosa otterrai
-La pagina `/audit` è composta da sei sezioni:
+La pagina `/audit` è un **poster** a schermo singolo e condivisibile seguito da quattro sezioni sotto la piega:
-1. **Identity** — il tuo agente classificato in uno degli 8 archetipi (`optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`) in base al segnale ponderato su ogni transcript sottoposto a audit.
-2. **Strengths** — numeri reali derivati dalla scansione (clean-call %, "0 credential leaks", ecc.) soggetti alle politiche sanitize rilevanti che effettivamente si attivano.
-3. **Score** — da 0 a 100 con bande S/A/B/C/D/F e un miglioramento previsto se ogni politica consigliata fosse abilitata.
-4. **Findings** — schede per-politica con cosa è successo, costo, prove catturate, e il comando `failproofai policy add ` esatto per abilitare il builtin runtime che l'avrebbe catturato.
-5. **Prescribed policies** — lista di installazione aggregata con il comando `failproofai policies --install` singolo.
-6. **Re-audit reminder** — "ritorna meglio." Imposta un reminder email di 7 giorni tramite l'api-server (richiede accesso; vedi [`failproofai auth`](/it/cli/auth)).
+1. **Poster** — l'identità del tuo agente a colpo d'occhio: il suo **archetipo** (uno di 8 — `optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`), le sue parole chiave di persona, quanto sia raro quell'archetipo, e un **punteggio 0–100** con una banda di livello (`S` fino a `bottom tier`). Costruito per condividere — pubblica su X o LinkedIn, oppure scaricalo come PNG.
+2. **`// strengths`** — cosa il tuo agente già fa bene, come numeri reali dalla scansione (es. clean-tool-call %, `0` tentativi di push-to-main), mostrato solo dove la policy rilevante ha un record pulito.
+3. **`// quirks`** — cosa è scivolato: una tabella classificata di comportamenti che failproofai avrebbe bloccato — *quando* è successo l'ultima volta, *cosa è scivolato* (e la policy integrate che l'avrebbe bloccato), la sua *gravità*, e quante volte è stato *osservato* (`new` / `recurring` / `N× seen`).
+4. **`// how to improve`** — la lista di correzioni prescritte: una riga per policy con `failproofai policy add ` pronto da copiare e incollare, più un pulsante **installa tutto** che abilita ogni raccomandazione contemporaneamente e mostra il tuo **punteggio proiettato** se lo farai.
+5. **`// come back better`** — sviluppa l'abitudine: imposta un **promemoria** di re-audit email (`3d` / `7d` / `14d` / `30d`) o esegui nuovamente l'audit ora, e **invita un amico** a eseguire il proprio audit (inviato da failproof.ai, Cc'd a te). I promemoria e gli inviti richiedono l'accesso — vedi [`failproofai auth`](/it/cli/auth).
-## Detector audit-only
+## Rilevatori solo audit
-Questi rilevano pattern di "comportamento stupido" non (ancora) applicati in tempo reale. Vengono eseguiti solo durante l'audit e non bloccano mai una tool call live.
+Questi rilevano pattern di "comportamento stupido" non (ancora) applicati in tempo reale. Vengono eseguiti solo durante l'audit e non bloccano mai una chiamata di tool live.
-| Detector | Cosa conta |
+| Rilevatore | Cosa conta |
|---|---|
| `redundant-cd-cwd` | Comandi Bash che iniziano con `cd && …` anche se i comandi vengono già eseguiti in `cwd`. |
| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` su un singolo file sorgente — usa lo strumento `Read`. |
| `prefer-edit-over-sed-awk` | `sed -i` / `awk … > file` modifiche in-place — usa lo strumento `Edit`. |
-| `prefer-write-over-heredoc` | Heredoc / multi-linea `echo > file` scrittura di file — usa lo strumento `Write`. |
-| `sleep-polling-loop` | Lunghi `sleep N` (≥ 30s) o loop di polling `while …; sleep …; done`. |
-| `find-from-root` | `find /`, `find /home`, `find /usr`, ecc. — limita lo scope a `cwd`. |
-| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, saltando gli hook. |
-| `reread-after-edit` | `Read` di un file appena modificato con `Edit`/`Write` nella stessa sessione. |
+| `prefer-write-over-heredoc` | Heredoc / `echo > file` multi-line per scrivere file — usa lo strumento `Write`. |
+| `sleep-polling-loop` | `sleep N` lungo (≥ 30s) o loop di polling `while …; sleep …; done`. |
+| `find-from-root` | `find /`, `find /home`, `find /usr`, ecc. — limita l'ambito a `cwd`. |
+| `git-commit-no-verify` | `git commit … --no-verify` / `-n`, ignorando gli hook. |
+| `reread-after-edit` | `Read` di un file che era appena stato `Edit`/`Write` nella stessa sessione. |
## Cache
-- **Cache per-transcript** in `~/.failproofai/cache/audit/.json` indicizzata da `(mtime, size, engineVersion, detectorVersion)` — si invalida automaticamente quando il transcript o il codice della politica/detector cambia. Ogni voce memorizza anche un timestamp `cachedAt` come **metadati TTL** (non parte della chiave di cache); le voci più vecchie di **7 giorni** vengono rifiutate nella lettura in modo che i risultati di lunga durata non superino l'intento del detector in evoluzione.
-- **Cache del risultato completo** in `~/.failproofai/audit-dashboard.json` (modalità 0600). Permette al dashboard di eseguire il rendering istantaneamente nella navigazione senza rieseguire. Viene anche rifiutato nella lettura dopo il **TTL di 7 giorni** — `/audit` ricade quindi nello stato vuoto e richiede un'esecuzione aggiornata. Fai clic su `[ re-audit now ]` vicino al fondo del report per aggiornare — il re-audit invia `noCache: true`, quindi bypassa la cache per-transcript e scansiona di nuovo ogni transcript invece di restituire il risultato in cache; l'esecuzione fa lo streaming del progresso tramite una barra adesiva in alto e sostituisce il risultato sul posto al successo (nessun ricaricamento della pagina; un re-audit fallito mantiene il report precedente).
+- **Cache per trascrizione** su `~/.failproofai/cache/audit/.json` con chiave `(mtime, size, engineVersion, detectorVersion)` — si invalida automaticamente quando la trascrizione o il codice della policy/rilevatore cambia. Ogni voce memorizza anche un timestamp `cachedAt` come **metadati TTL** (non parte della chiave di cache); le voci più vecchie di **7 giorni** vengono rifiutate in lettura così i risultati di lunga durata non sopravvivono all'evoluzione dell'intento del rilevatore.
+- **Cache del risultato intero** su `~/.failproofai/audit-dashboard.json` (modalità 0600). Consente al dashboard di eseguire il rendering istantaneamente durante la navigazione senza rieseguire. Anche rifiutato in lettura dopo il **TTL di 7 giorni** — `/audit` cade quindi nel suo stato vuoto e richiede una corsa fresca. Fai clic su `[ re-audit now ]` vicino al fondo del report per aggiornare — re-audit invia `noCache: true`, quindi bypassa la cache per trascrizione e ripete la scansione di ogni trascrizione invece di restituire il risultato memorizzato nella cache; la corsa trasmette il progresso tramite una striscia in alto appiccicosa e scambia il risultato al suo posto al successo (nessun ricaricamento della pagina; un re-audit fallito mantiene il report precedente).
## Note
-- **Nessuna mutazione.** L'audit viene rieseguito in modalità di sola lettura. `warn-repeated-tool-calls` viene saltato perché il suo sidecar per-sessione altrimenti verrebbe modificato.
-- **Politiche workflow saltate.** Le politiche `require-*-before-stop` si attivano solo su eventi `Stop` e `execSync` rispetto allo stato git live — non hanno un'interpretazione significativa di "cosa sarebbe successo nel 2025", quindi non compaiono nei conteggi dell'audit.
-- **Politiche personalizzate saltate.** Gli hook personalizzati forniti dall'utente non vengono rieseguiti (potrebbero essere cambiati dalla sessione originale).
\ No newline at end of file
+- **Nessuna mutazione.** L'audit viene riprodotto in modalità sola lettura. `warn-repeated-tool-calls` viene ignorato perché il suo sidecar per sessione verrebbe altrimenti modificato.
+- **Policy del flusso di lavoro saltate.** Le policy `require-*-before-stop` si attivano solo su eventi `Stop` e `execSync` rispetto allo stato git live — non hanno un'interpretazione significativa di "cosa sarebbe successo nel 2025", quindi non compaiono nei conteggi dell'audit.
+- **Policy personalizzate saltate.** Gli hook personalizzati forniti dall'utente non vengono riprodotti (potrebbero essere cambiati dalla sessione originale).
\ No newline at end of file
diff --git a/docs/it/dashboard.mdx b/docs/it/dashboard.mdx
index 1826e018d..242ed0ec0 100644
--- a/docs/it/dashboard.mdx
+++ b/docs/it/dashboard.mdx
@@ -1,14 +1,14 @@
---
title: Dashboard
-description: "Monitora le sessioni degli agenti, rivedi le chiamate ai tool e gestisci i criteri"
+description: "Monitora le sessioni degli agenti, rivedi le chiamate ai tool e gestisci le policy"
icon: chart-line
---
-Il dashboard failproofai è un'applicazione web locale per monitorare le sessioni dei tuoi agenti AI e gestire i criteri. Scopri cosa hanno fatto i tuoi agenti mentre eri assente.
+La dashboard failproofai è un'applicazione web locale per monitorare le sessioni dei tuoi agenti AI e gestire le policy. Scopri cosa hanno fatto i tuoi agenti mentre eri via.
---
-## Avvio del dashboard
+## Avviare la dashboard
```bash
failproofai
@@ -16,7 +16,7 @@ failproofai
Si apre su `http://localhost:8020`.
-Il dashboard legge direttamente dal filesystem - le tue cartelle di progetto Claude Code e i file di configurazione failproofai. Non viene scritto nulla su un servizio remoto.
+La dashboard legge direttamente dal filesystem - i tuoi progetti Claude Code e i file di configurazione failproofai. Nulla viene scritto su un servizio remoto.
---
@@ -24,81 +24,81 @@ Il dashboard legge direttamente dal filesystem - le tue cartelle di progetto Cla
### Progetti
-Elenca tutti i progetti Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_ e Gemini CLI _(beta)_ trovati sulla tua macchina. I progetti Claude vengono rilevati da `~/.claude/projects/` (o dal percorso impostato da `CLAUDE_PROJECTS_PATH`); i progetti Codex vengono rilevati scansionando ogni trascrizione in `~/.codex/sessions////*.jsonl` e raggruppando per `cwd` registrato nel primo record di ogni sessione; i progetti Copilot CLI vengono rilevati scansionando ogni `~/.copilot/session-state//workspace.yaml` (configurabile tramite `COPILOT_HOME`) e raggruppando per il suo campo `cwd`; i progetti Cursor Agent vengono rilevati scansionando i metadati per sessione in `~/.cursor/agent-sessions//` (configurabile tramite `CURSOR_HOME`, con `conversations/` e `sessions/` come fallback) cercando uno scalare `cwd` in `meta.json` / `session.json` / `workspace.yaml`; i progetti OpenCode vengono rilevati interrogando il suo DB SQLite in `~/.local/share/opencode/opencode.db` tramite `opencode db --format json` (leggiamo le tabelle `session` e `project` e raggruppiamo per `project_id`); i progetti Pi vengono rilevati scansionando le trascrizioni JSONL per sessione in `~/.pi/agent/sessions//_.jsonl` (configurabile tramite `PI_SESSIONS_DIR`) e estraendo `cwd` dal primo record di ogni sessione; i progetti Gemini CLI vengono rilevati scansionando `~/.gemini/tmp//chats/session--.jsonl` (configurabile tramite `GEMINI_SESSIONS_DIR`) e recuperando il cwd canonico dal marcatore di testo `.project_root` adiacente. Un progetto utilizzato da più CLI viene visualizzato come una singola riga con tutti i badge corrispondenti. Usa il menu a discesa **CLI** sopra la tabella per filtrare per uno specifico CLI agent; l'URL preserva la tua selezione come `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
+Elenca tutti i progetti Claude Code, OpenAI Codex, GitHub Copilot CLI _(beta)_, Cursor Agent _(beta)_, OpenCode _(beta)_, Pi _(beta)_ e Gemini CLI _(beta)_ trovati sulla tua macchina. I progetti Claude vengono individuati da `~/.claude/projects/` (o dal percorso impostato da `CLAUDE_PROJECTS_PATH`); i progetti Codex vengono individuati scansionando ogni trascrizione sotto `~/.codex/sessions////*.jsonl` e raggruppando per il `cwd` registrato nel primo record di ogni sessione; i progetti Copilot CLI vengono individuati scansionando ogni `~/.copilot/session-state//workspace.yaml` (configurabile tramite `COPILOT_HOME`) e raggruppando per il suo campo `cwd`; i progetti Cursor Agent vengono individuati scansionando i metadati per sessione sotto `~/.cursor/agent-sessions//` (configurabile tramite `CURSOR_HOME`, con `conversations/` e `sessions/` come fallback) per uno scalare `cwd` in `meta.json` / `session.json` / `workspace.yaml`; i progetti OpenCode vengono individuati interrogando il suo DB SQLite in `~/.local/share/opencode/opencode.db` tramite `opencode db --format json` (leggiamo le tabelle `session` e `project` e raggruppiamo per `project_id`); i progetti Pi vengono individuati scansionando le trascrizioni JSONL per sessione sotto `~/.pi/agent/sessions//_.jsonl` (configurabile tramite `PI_SESSIONS_DIR`) ed estraendo il `cwd` dal primo record di ogni sessione; i progetti Gemini CLI vengono individuati scansionando `~/.gemini/tmp//chats/session--.jsonl` (configurabile tramite `GEMINI_SESSIONS_DIR`) e recuperando il cwd canonico dal marcatore di testo `.project_root` adiacente. Un progetto che è stato utilizzato da più CLI viene reso come una singola riga con tutti i badge corrispondenti. Usa il dropdown **CLI** sopra la tabella per filtrare per un agente CLI specifico; l'URL preserva la tua selezione come `?cli=claude|codex|copilot|cursor|opencode|pi|gemini`.
Ogni progetto mostra:
- Nome del progetto (derivato dal percorso della cartella)
-- Un badge CLI — `Claude Code` (arancione), `OpenAI Codex` (viola), `GitHub Copilot` (blu), `Cursor Agent` (smeraldo), `OpenCode` (ambra), `Pi` (rosa), e/o `Gemini CLI` (cielo)
+- Un badge CLI — `Claude Code` (arancione), `OpenAI Codex` (viola), `GitHub Copilot` (blu), `Cursor Agent` (smeraldo), `OpenCode` (ambra), `Pi` (rosa) e/o `Gemini CLI` (azzurro)
- Data dell'attività di sessione più recente
-Fai clic su un progetto per vederne le sessioni.
+Fai clic su un progetto per visualizzare le sue sessioni.
### Sessioni
Elenca tutte le sessioni all'interno di un progetto. Ogni sessione mostra:
-- ID della sessione
+- ID sessione
- Timestamp di inizio e fine
- Numero di chiamate ai tool
-- Conteggio dell'attività hook (criteri che si sono attivati)
+- Numero di attività hook (policy che si sono attivate)
-Usa il filtro dell'intervallo di date e la ricerca dell'ID sessione per restringere l'elenco. Le sessioni sono impaginate.
+Usa il filtro intervallo di date e la ricerca per ID sessione per restringere l'elenco. Le sessioni sono impaginate.
Fai clic su una sessione per aprire il visualizzatore di sessione.
### Visualizzatore di sessione
-Il visualizzatore di sessione risponde alla domanda chiave per gli agenti autonomi: cosa ha fatto l'agente e ha mantenuto la rotta? Un badge CLI accanto all'intestazione indica se la sessione è una trascrizione Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi o Gemini CLI. Mostra una cronologia di tutto ciò che è accaduto in una sessione:
+Il visualizzatore di sessione risponde alla domanda fondamentale per gli agenti autonomi: cosa ha fatto l'agente e ha mantenuto la rotta? Un badge CLI accanto all'intestazione indica se la sessione è una trascrizione di Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi o Gemini CLI. Mostra una cronologia di tutto ciò che è accaduto in una sessione:
- **Messaggi** - Risposte di testo di Claude e prompt dell'utente
- **Chiamate ai tool** - Ogni tool invocato da Claude, con il suo input e output
-- **Attività dei criteri** - Per ogni chiamata ai tool, quali criteri si sono attivati e quale decisione hanno restituito
+- **Attività policy** - Per ogni chiamata ai tool, quali policy si sono attivate e quale decisione hanno restituito
-La barra delle statistiche in alto mostra la durata della sessione, il totale delle chiamate ai tool e un riepilogo delle decisioni hook (conteggi allow / deny / instruct).
+La barra delle statistiche in alto mostra la durata della sessione, il numero totale di chiamate ai tool e un riepilogo delle decisioni hook (count allow / deny / instruct).
-Fai clic sul pulsante **Download Logs** per esportare la sessione. Per Claude Code, Codex, Copilot, Cursor, Pi e sessioni Gemini ottieni la trascrizione JSONL originale sul disco byte-per-byte; per OpenCode (le cui sessioni vivono in SQLite, non su disco) ottieni un documento JSON che rispecchia le tabelle sottostanti `session` / `messages` / `parts`.
+Fai clic sul pulsante **Download Logs** per esportare la sessione. Per le sessioni Claude Code, Codex, Copilot, Cursor, Pi e Gemini ottieni la trascrizione JSONL originale su disco byte-for-byte; per OpenCode (le cui sessioni risiedono in SQLite, non su disco) ottieni un documento JSON che rispecchia le tabelle sottostanti `session` / `messages` / `parts`.
### Audit
-Un report di personalità su come il tuo agente si è effettivamente comportato nelle sessioni passate. Esegue la stessa scansione del CLI `failproofai audit` ma la renderizza come poster monoschermo condivisibile + quattro sezioni sotto il fold:
+Un report caratterizzato da una personalità su come il tuo agente si è effettivamente comportato nelle sessioni passate. Esegue la stessa scansione del CLI `failproofai audit` ma la renderizza come un poster condivisibile in una singola schermata + quattro sezioni sotto il fold:
-1. **Poster** — riempie il primo viewport. Regione PNG auto-contenuta con il marchio failproof_ai + etichetta audit · indice dell'archetipo (`№ NN di 08`) + data audit · punteggio numerico (0–100) + pillola di rank percentile (`top 15%`) · il nome dell'archetipo (uno tra `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + strip 3-keyword · linea di rarità `// solo N% degli agenti sono questo archetipo` · tile sigillo 8×8 pixel · footer `audit yours → failproof.ai`. Tre pulsanti di condivisione si trovano appena fuori dalla casella di cattura: `post your archetype` (X intent), `share on linkedin`, `download poster`. La cattura viene eseguita tramite `html-to-image` quindi il PNG corrisponde al rendering sullo schermo pixel-per-pixel (bordi tratteggiati, maschera logo SVG, gradienti, metriche dei font — tutto preservato).
-2. **Strengths** — lista di righe calm ✓ dei comportamenti che il tuo agente già fa bene, derivati dai dati di audit in diretta (clean tool-call rate, lunghezza media della sessione, zero fughe di credenziali, zero retry storms, ecc.).
-3. **Quirks** — tabella di ciò che è passato inosservato, classificato per impatto: `time · what slipped + policy that would've caught it · severity pill · recurrence` (new / Nx this wk / recurring).
-4. **How to improve** — lista di righe calm, una per ogni criterio prescritto: nome del criterio in bianco, descrizione in una riga, comando di installazione + pulsante di copia sul lato destro. Un pulsante `[install all]` nell'intestazione della sezione copia il comando `failproofai policy add a b c …` combinato per ogni criterio prescritto.
-5. **Come back better** — due schede affiancate. Sinistra: imposta un promemoria (`3d` / `7d` / `14d` / `30d` selettore di cadenza; persiste tramite `/api/auth/reminder` una volta autenticato). Destra: sblocca i vantaggi failproof — `invite a friend` apre un modale che accetta un elenco separato da virgola/spazio/newline di email di amici (max 10 per invio), POSTs a `/api/audit/invite`, che inoltra al `POST /v0/invite` del server api. Il server api invia un'email per ogni destinatario da `invite@failproof.ai` con il mittente Cc'd e `Reply-To` impostato, quindi il destinatario vede chi lo ha invitato e il mittente riceve una copia nella sua posta in arrivo. Gli utenti anonimi vengono instradati prima tramite `AuthDialog` quindi l'email del mittente è nota prima che gli inviti vengano inviati. L'adempimento dei diritti / vantaggi è un follow-up.
+1. **Poster** — riempie il primo viewport. Regione di cattura PNG autonoma con il wordmark failproof_ai + etichetta audit · indice archetipo (`№ NN di 08`) + data audit · punteggio numerico (0–100) + pillola di rango percentile (`top 15%`) · il nome dell'archetipo (uno di `the optimist`, `the cowboy`, `the explorer`, `the goldfish`, `the paranoid architect`, `the precision builder`, `the hammer`, `the ghost`) + striscia di 3 parole chiave · `// solo il N% degli agenti ha questo archetipo` riga di rarità · sigillo di riquadro pixel 8×8 · footer `audit yours → failproof.ai`. Tre pulsanti di condivisione si trovano appena fuori dalla casella di cattura: `post your archetype` (intento X), `share on linkedin`, `download poster`. La cattura viene eseguita tramite `html-to-image` quindi il PNG corrisponde al rendering sullo schermo pixel-for-pixel (bordi tratteggiati, maschera logo SVG, gradienti, metriche dei font — tutto preservato).
+2. **Strengths** — elenco di righe tranquillo ✓ dei comportamenti che il tuo agente già fa bene, derivati dai dati di audit in tempo reale (velocità di chiamata tool pulita, nessun push diretto a main, zero perdite di credenziali, zero storm di ripetizione) — ognuno visualizzato solo quando la policy corrispondente ha un record pulito nella finestra di audit.
+3. **Quirks** — tabella di quello che è sfuggito, classificato per gravità: `when · what slipped + the policy that would've caught it · severity pill · seen`, dove la ricorrenza recita `new` (una volta), `N× seen` (2–9 volte), o `recurring` (10+).
+4. **How to improve** — elenco di righe tranquillo, uno per policy prescritta: nome della policy in bianco, descrizione di una riga, comando di installazione + pulsante copia sul lato destro. L'intestazione della sezione recita `enable all N → projected · ` (il punteggio che raggiungeresti con ogni correzione applicata), e il suo pulsante `[install all]` copia il comando combinato `failproofai policy add a b c …` per ogni policy prescritta.
+5. **Come back better** — due card affiancate. Sinistra: imposta un promemoria (selezionatore di cadenza `3d` / `7d` / `14d` / `30d`; persiste tramite `/api/auth/reminder` una volta autenticato). Destra: sblocca i vantaggi failproof — `invite a friend` apre una modale che accetta un elenco di indirizzi email di amici separati da virgole/spazi/newline (max 10 per invio), li invia a `/api/audit/invite`, che viene inoltrato a `POST /v0/invite` del server api. Il server api invia un'email per destinatario da `invite@failproof.ai` con il mittente in Cc e `Reply-To` impostato, quindi il destinatario vede chi lo ha invitato e il mittente ottiene una copia nella sua inbox. Gli utenti anonimi vengono instradati prima tramite `AuthDialog` in modo che l'email del mittente sia conosciuta prima che gli inviti vengano inviati. L'adempimento dei diritti / vantaggi è un follow-up.
-Guidato dal runtime `failproofai audit` — vedi [Audit CLI](/it/cli/audit) per il motore di scansione sottostante, i flag supportati e gli invarianti della cache per trascrizione. Il dashboard memorizza nella cache l'ultimo risultato su `~/.failproofai/audit-dashboard.json` (mode `0600`, singolo slot, le nuove esecuzioni sovrascrivono) quindi i revisioni sono istantanee; **sia la cache per trascrizione che la cache del risultato completo vengono rifiutate alla lettura una volta che hanno più di 7 giorni** quindi il dashboard non serve mai silenziosamente un risultato di una settimana fa — dopo il TTL `/audit` cade nello stato vuoto e richiede un nuovo esecuzione. Facendo clic su `[ re-audit now ]` vicino al fondo del report POSTs `/api/audit/run` con `noCache: true` — il re-audit bypassa la cache per trascrizione e ri-scansiona ogni trascrizione da zero piuttosto che restituire silenziosamente il risultato memorizzato nella cache — e il dashboard esegue il polling `/api/audit/status` a 1Hz fino al completamento dell'esecuzione; una striscia di progresso rosa appiccicatizia si fissa in cima al viewport durante l'esecuzione con un timer di tempo trascorso e il risultato fresco si scambia al posto al successo (nessun ricaricamento della pagina completa; un re-audit fallito lascia il report precedente intatto). In caso di errore la striscia diventa rossa con copia basata su `RerunError.kind` (`timeout` / `network` / `post_failed`). Lo stato vuoto (nessuna cache o scaduta) e lo stato zero-sessioni (cache esiste ma la scansione non ha trovato trascrizioni) vengono visualizzati separatamente.
+Guidato dal runtime `failproofai audit` — vedi [Audit CLI](/it/cli/audit) per il motore di scansione sottostante, i flag supportati e gli invarianti di cache per trascrizione. La dashboard mette in cache il risultato più recente in `~/.failproofai/audit-dashboard.json` (modalità `0600`, slot singolo, le nuove esecuzioni sovrascrivono) quindi i revisiti sono istantanei; **sia le cache per trascrizione che il risultato complessivo vengono rifiutate in lettura una volta che hanno più di 7 giorni** in modo che la dashboard non serva mai silenziosamente un risultato di una settimana fa — dopo il TTL `/audit` cade nello stato vuoto e richiede un'esecuzione nuova. Fare clic su `[ re-audit now ]` vicino al fondo del report invia a `/api/audit/run` con `noCache: true` — la rivalutazione ignora la cache per trascrizione e ripete la scansione di ogni trascrizione da zero piuttosto che ritornare silenziosamente il risultato in cache — e la dashboard interroga `/api/audit/status` a 1Hz fino al completamento dell'esecuzione; una striscia di progresso rosa appiccicosa si appunta alla parte superiore del viewport durante l'esecuzione con un timer trascorso, e il risultato fresco viene scambiato in posizione al successo (nessun ricaricamento di pagina completo; una rivalutazione non riuscita lascia il report precedente intatto). Al fallimento la striscia diventa rossa con copia basata su `RerunError.kind` (`timeout` / `network` / `post_failed`). Lo stato vuoto (nessuna cache o scaduta) e lo stato zero-sessioni (cache esiste ma la scansione non ha trovato trascrizioni) vengono visualizzati separatamente.
-### Criteri
+### Policies
-Una pagina a due schede per gestire i criteri e rivedere l'attività.
+Una pagina a due schede per gestire le policy e rivedere l'attività.
- - Multi-selezione quale CLI agente failproofai protegge da un singolo pannello — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi e Gemini CLI hanno tutti una riga con stato di installazione (`Active` / `Detected` / `Inactive`), il percorso delle impostazioni a livello utente e un accento di colore del marchio. Seleziona o deseleziona i CLI che desideri e fai clic su `Apply changes` per installare/disinstallare il diff in un unico passaggio. I CLI il cui binario viene rilevato su PATH sono pre-selezionati.
- - Attiva o disattiva i singoli criteri con un singolo clic (scrive su `~/.failproofai/policies-config.json` — condiviso tra ogni CLI installato)
- - Espandi un criterio per configurarne i parametri (per i criteri che supportano `policyParams`)
- - Imposta un percorso file di criteri personalizzati
+ - Selezione multipla di quali CLI agenti failproofai protegge da un singolo pannello — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi e Gemini CLI hanno tutti una riga con stato di installazione (`Active` / `Detected` / `Inactive`), il percorso delle impostazioni dell'ambito utente e un accento con colore del marchio. Seleziona o deseleziona i CLI che desideri e fai clic su `Apply changes` per installare/disinstallare il diff in un passaggio. I CLI il cui binario viene rilevato su PATH sono preselezionati.
+ - Attiva o disattiva le singole policy con un solo clic (scrive in `~/.failproofai/policies-config.json` — condiviso tra ogni CLI installato)
+ - Espandi una policy per configurare i suoi parametri (per policy che supportano `policyParams`)
+ - Imposta un percorso file di policy personalizzato
- - Cronologia completa impaginata di ogni evento hook che si è attivato su tutte le sessioni
- - Filtra per decisione, tipo di evento, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), nome del criterio o ID della sessione
- - Ogni riga mostra: timestamp, nome del criterio, decisione, badge CLI (arancione = Claude Code, viola = OpenAI Codex, blu = GitHub Copilot, smeraldo = Cursor Agent, ambra = OpenCode, rosa = Pi, cielo = Gemini CLI), nome del tool, ID della sessione e il motivo delle decisioni deny/instruct
- - Fai clic su un ID di sessione per aprirne la trascrizione — il visualizzatore rileva automaticamente quale CLI ha attivato l'hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) e renderizza il badge CLI corrispondente nell'intestazione
+ - Storico completo impaginato di ogni evento hook che si è attivato in tutte le sessioni
+ - Filtra per decisione, tipo di evento, CLI (Claude Code / OpenAI Codex / GitHub Copilot _(beta)_ / Cursor Agent _(beta)_ / OpenCode _(beta)_ / Pi _(beta)_ / Gemini CLI _(beta)_), nome della policy o ID sessione
+ - Ogni riga mostra: timestamp, nome della policy, decisione, badge CLI (arancione = Claude Code, viola = OpenAI Codex, blu = GitHub Copilot, smeraldo = Cursor Agent, ambra = OpenCode, rosa = Pi, azzurro = Gemini CLI), nome del tool, ID sessione e il motivo per le decisioni deny/instruct
+ - Fai clic su un ID sessione per aprire la sua trascrizione — il visualizzatore rileva automaticamente quale CLI ha attivato l'hook (Claude `~/.claude/projects/…`, Codex `~/.codex/sessions/…`, Copilot CLI `~/.copilot/session-state//events.jsonl`, Cursor Agent `~/.cursor/agent-sessions//events.jsonl`, OpenCode `~/.local/share/opencode/opencode.db`, Pi `~/.pi/agent/sessions//.jsonl`, Gemini CLI `~/.gemini/tmp//chats/.jsonl`) e renderizza il badge CLI corrispondente nell'intestazione
---
-## Auto-refresh
+## Aggiornamento automatico
-Il dashboard ha un interruttore di auto-refresh nella navigazione in alto. Quando abilitato, la pagina corrente si aggiorna periodicamente per mostrare nuove sessioni e attività di criteri man mano che appaiono. Essenziale per monitorare le sessioni di agenti autonomi di lunga durata.
+La dashboard ha un interruttore di aggiornamento automatico nella navigazione in alto. Quando abilitato, la pagina corrente si aggiorna periodicamente per mostrare nuove sessioni e attività di policy man mano che appaiono. Essenziale per monitorare le sessioni di agenti autonomi a lunga esecuzione.
---
-## Disabilitazione delle pagine
+## Disabilitare pagine
-Se hai bisogno solo di alcune parti del dashboard, imposta `FAILPROOFAI_DISABLE_PAGES` su un elenco separato da virgole dei nomi delle pagine:
+Se hai bisogno solo di alcune parti della dashboard, imposta `FAILPROOFAI_DISABLE_PAGES` su un elenco di nomi di pagine separati da virgole:
```bash
FAILPROOFAI_DISABLE_PAGES=policies failproofai
@@ -108,9 +108,9 @@ Valori validi: `policies`, `projects`, `audit`.
---
-## Configurazione del percorso dei progetti
+## Configurare il percorso dei progetti
-Per impostazione predefinita, il dashboard legge dalla directory dei progetti Claude Code standard. Sovrascrivilo per configurazioni personalizzate:
+Per impostazione predefinita, la dashboard legge dalla directory standard dei progetti Claude Code. Sovrascrivilo per configurazioni personalizzate:
```bash
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
@@ -120,13 +120,13 @@ CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
## Accesso da un host non-localhost
-Quando esegui il dashboard in **dev mode** (`npm run dev`) e vi accedi da un nome host diverso da `localhost` - ad esempio, un dominio personalizzato, un IP remoto o un URL tunnelato - potresti vedere un avviso come:
+Quando esegui la dashboard in **modalità dev** (`npm run dev`) e la accedi da un nome host diverso da `localhost` - ad esempio, un dominio personalizzato, un IP remoto o un URL tunnelato - potresti vedere un avviso come:
```text
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
```
-Questo è Next.js che blocca l'accesso cross-origin al suo websocket HMR (hot module reload), che è una funzionalità solo per sviluppatori. Per consentire il tuo host, usa il flag `--allowed-origins`:
+Questo è Next.js che blocca l'accesso cross-origin al suo websocket HMR (hot module reload), che è una funzione solo per dev. Per consentire il tuo host, usa il flag `--allowed-origins`:
```bash
npm run dev -- --allowed-origins dashboard.example.com
@@ -138,12 +138,12 @@ Per più host o IP, passa un elenco separato da virgole:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
```
-Puoi anche impostare la variabile di ambiente `FAILPROOFAI_ALLOWED_DEV_ORIGINS`:
+Puoi anche impostare la variabile d'ambiente `FAILPROOFAI_ALLOWED_DEV_ORIGINS` invece:
```bash
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
```
-Questo si applica solo alla modalità sviluppatore. Quando esegui `failproofai` (modalità produzione), non c'è websocket HMR e nessun problema di risorsa dev cross-origin.
+Questo si applica solo alla modalità dev. Quando esegui `failproofai` (modalità produzione), non c'è alcun websocket HMR e nessun problema di risorsa dev cross-origin.
\ No newline at end of file
diff --git a/docs/ja/cli/audit.mdx b/docs/ja/cli/audit.mdx
index 0d980bbc0..62353c5c9 100644
--- a/docs/ja/cli/audit.mdx
+++ b/docs/ja/cli/audit.mdx
@@ -1,57 +1,88 @@
---
-title: 過去のセッションの監査(ベータ版)
+title: 過去のセッションを監査する(ベータ版)
description: "過去のトランスクリプト全体で、エージェントが無駄または危険な操作を行った頻度を集計します"
---
- **ベータ機能。** この監査機能は、初期フィードバックを収集しながらベータ版として提供しています。
- 検出器カタログとレポート形式は、次の安定版リリース前に変更される可能性があります。
- 問題を発見した場合は、Issueを作成してください。
+ **ベータ機能。** 初期フィードバックを収集している間、監査機能はベータ版として提供されます。
+ 次の安定版リリース前に、検出器カタログとレポート形式が変更される可能性があります。
+ 問題があればイシューを起票してください。
-監査機能は、CLIサブコマンドではなく **/audit ダッシュボードページ** として提供されています。ダッシュボードのナビゲーションバー(PoliciesとProjectsの間)から開くか、`failproofai` をローカルで実行している場合は `http://localhost:8020/audit` に直接アクセスしてください。
+監査機能は、過去のエージェントCLIトランスクリプトを failproofai のポリシーエンジンで再生し、**`/audit` ダッシュボードページ**に共有可能なビジュアルレポートを生成します。レポートにはエージェントのアーキタイプ、0〜100のスコア、そして各ポリシーが何を検出できたかが表示されます。
-```bash
-failproofai # ダッシュボードを開き、"Audit" をクリック
+## 実行方法
+
+3つの方法があり、いずれも同じ `/audit` レポートにアクセスできます。
+
+
+
+```bash npx (no install)
+npx -y failproofai audit
+```
+
+```bash failproofai audit
+failproofai audit
```
-ダッシュボードは、このマシン上にある過去のエージェントCLIトランスクリプト(Claude Code、Codex、Copilot、Cursor、OpenCode、Pi、Gemini)をスキャンし、failproofai が防ぐよう設計した操作(環境変数のチェック、強制プッシュ、冗長な `cd ` プレフィックス、スリープポーリングループ、編集直後のファイル再読み込みなど)がどれだけ行われたかを報告します。
+```bash failproofai (dashboard)
+failproofai
+```
+
+
+
+
+
+ `npx -y failproofai audit` は failproofai を取得してスキャンを実行し、ダッシュボードを自動的に開きます。事前インストールは不要です。
+
+
+ `failproofai audit` はターミナルでスキャンを実行し、完了後に `localhost:8020/audit` を自動的に開きます。
+
+
+ `failproofai` を実行してナビバーの **Audit**(PoliciesとProjectsの間)をクリックするか、`/audit` を直接開きます。
+
+
+
+
+ 使い方を確認するには `failproofai audit -h`(または `--help`)を実行してください。監査は**完全オフライン**で動作し、アカウントやネットワーク接続は不要です。`Ctrl+C` で停止するまでダッシュボードはサービスを継続します。
+
+
+ダッシュボードはこのマシン上の過去のエージェントCLIトランスクリプト(Claude Code、Codex、Copilot、Cursor、OpenCode、Pi、Gemini)をスキャンし、failproofai が防止するように設計された操作(環境変数チェック、フォースプッシュ、冗長な `cd ` プレフィックス、スリープポーリングループ、編集直後のファイル再読み込みなど)の発生頻度を報告します。
-各トランスクリプトについて、すべてのツール使用イベントが39個の組み込みポリシーと、ランタイムポリシーではまだカバーされていないパターンを検出する8つの監査専用検出器を通じて再実行されます。カウントはすべてのセッションにわたって、ポリシー/検出器ごとに集計されます。
+各トランスクリプトについて、すべてのツール使用イベントが39の組み込みポリシー**および**ランタイムポリシーではまだカバーされていないパターンを検出する8つの監査専用検出器で再生されます。カウントはすべてのセッションにわたってポリシー/検出器ごとに集計されます。
-## 確認できる内容
+## 取得できる情報
-`/audit` ページは6つのセクションで構成されています。
+`/audit` ページは1画面で共有可能な**ポスター**と、スクロール下部の4つのセクションで構成されています:
-1. **Identity** — 監査済みのすべてのトランスクリプトにわたる重み付きシグナルに基づいて、エージェントを8つのアーキタイプ(`optimist`、`cowboy`、`explorer`、`goldfish`、`paranoid architect`、`precision builder`、`hammer`、`ghost`)のいずれかに分類します。
-2. **Strengths** — スキャンから得られた実際の数値(クリーンコール率、「認証情報漏洩ゼロ」など)。関連するsanitizeポリシーが実際に機能していることが条件となります。
-3. **Score** — 0〜100のスコアにS/A/B/C/D/Fのバンドと、推奨ポリシーをすべて有効にした場合の予測改善値を表示します。
-4. **Findings** — ポリシーごとのカード。何が起きたか、コスト、取得済みの証拠、および検出できたであろうライブタイム組み込み機能を有効にする正確な `failproofai policy add ` コマンドを表示します。
-5. **Prescribed policies** — `failproofai policies --install` コマンド一発でインストールできるように集約されたリストです。
-6. **Re-audit reminder** — 「より良い状態で戻ってきてください」。APIサーバー経由で7日間のメールリマインダーを設定できます(サインインが必要。[`failproofai auth`](/ja/cli/auth) を参照)。
+1. **ポスター** — エージェントのプロファイルを一目で確認:**アーキタイプ**(8種類のうちの1つ — `optimist`、`cowboy`、`explorer`、`goldfish`、`paranoid architect`、`precision builder`、`hammer`、`ghost`)、ペルソナキーワード、そのアーキタイプの希少性、および階層バンド付きの**0〜100スコア**(`S` から `bottom tier` まで)。XやLinkedInへの投稿やPNGダウンロードに対応した共有向けデザインです。
+2. **`// strengths`** — エージェントがすでに得意とすること。スキャンの実際の数値として表示されます(例:クリーンなツールコール率、`0` 回のmainへのプッシュ試行)。関連ポリシーで問題が検出されなかった場合のみ表示されます。
+3. **`// quirks`** — 問題として検出されたもの:failproofai がキャッチできた可能性のある動作のランク付きテーブル。*いつ*最後に発生したか、*何が問題だったか*(およびブロックできた組み込みポリシー)、その*深刻度*、*確認頻度*(`new`/`recurring`/`N× seen`)が含まれます。
+4. **`// how to improve`** — 推奨される修正リスト:コピー貼り付け可能な `failproofai policy add ` を含むポリシーの行と、すべての推奨事項を一括で有効にする**すべてインストール**ボタン、および適用後の**予測スコア**が表示されます。
+5. **`// come back better`** — 習慣づくり:再監査の**リマインダー**メールを設定(`3d`/`7d`/`14d`/`30d`)するか、今すぐ再監査を実行し、**友人を招待**して自分自身の監査を実行してもらえます(failproof.ai から送信され、あなたにCCされます)。リマインダーと招待にはサインインが必要です。[`failproofai auth`](/ja/cli/auth) を参照してください。
## 監査専用検出器
-これらは、リアルタイムでは(まだ)適用されていない「非効率な動作」パターンを検出します。監査中のみ実行され、ライブのツール呼び出しをブロックすることはありません。
+これらはリアルタイムでは(まだ)強制されていない「非効率な動作」パターンを検出します。監査中のみ実行され、ライブのツールコールをブロックすることはありません。
-| 検出器 | カウント対象 |
+| 検出器 | 検出内容 |
|---|---|
-| `redundant-cd-cwd` | コマンドがすでに `cwd` で実行されているにもかかわらず、`cd && …` で始まるBashコマンド。 |
-| `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` | ヒアドキュメントや複数行の `echo > file` によるファイル書き込み — `Write` ツールを使用すべき。 |
-| `sleep-polling-loop` | 長い `sleep N`(30秒以上)や `while …; sleep …; done` によるポーリングループ。 |
-| `find-from-root` | `find /`、`find /home`、`find /usr` などのルートからの検索 — `cwd` にスコープを絞るべき。 |
+| `redundant-cd-cwd` | コマンドがすでに `cwd` で実行されているにもかかわらず、`cd && …` で始まる Bash コマンド。 |
+| `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` | ヒアドキュメントや複数行の `echo > file` によるファイル書き込み — `Write` ツールを使用してください。 |
+| `sleep-polling-loop` | 長い `sleep N`(30秒以上)または `while …; sleep …; done` ポーリングループ。 |
+| `find-from-root` | `find /`、`find /home`、`find /usr` など — 代わりに `cwd` をスコープとして使用してください。 |
| `git-commit-no-verify` | `git commit … --no-verify` / `-n` によるフックのスキップ。 |
-| `reread-after-edit` | 同一セッション内で `Edit`/`Write` した直後のファイルへの `Read` 操作。 |
+| `reread-after-edit` | 同じセッション内で `Edit`/`Write` した直後のファイルへの `Read`。 |
## キャッシュ
-- **トランスクリプトごとのキャッシュ** は `~/.failproofai/cache/audit/.json` に保存され、`(mtime, size, engineVersion, detectorVersion)` をキーとしています。トランスクリプトやポリシー/検出器のコードが変更されると自動的に無効化されます。各エントリには `cachedAt` タイムスタンプが **TTLメタデータ** として保存されます(キャッシュキーには含まれません)。**7日**以上経過したエントリは読み取り時に拒否されるため、長期間保持された結果が進化する検出器の意図と乖離することはありません。
-- **結果全体のキャッシュ** は `~/.failproofai/audit-dashboard.json`(モード0600)に保存されます。ナビゲーション時に再実行なしでダッシュボードを即座にレンダリングできます。こちらも **7日間のTTL** を超えると読み取り時に拒否されます — その場合 `/audit` は空の状態にフォールバックし、新たな実行を促します。レポート下部にある `[ re-audit now ]` をクリックして更新できます。再監査は `noCache: true` を送信するため、トランスクリプトごとのキャッシュをバイパスして、キャッシュ済みの結果を返さずすべてのトランスクリプトを再スキャンします。実行の進捗はページ上部のスティッキーストリップでストリーミング表示され、成功するとページのリロードなしに結果がその場で更新されます(再監査が失敗した場合は直前のレポートが維持されます)。
+- **トランスクリプトごとのキャッシュ**:`~/.failproofai/cache/audit/.json` に `(mtime, size, engineVersion, detectorVersion)` をキーとして保存されます。トランスクリプトまたはポリシー/検出器のコードが変更された場合、自動的に無効化されます。各エントリには `cachedAt` タイムスタンプが **TTLメタデータ**として保存されます(キャッシュキーには含まれません)。**7日**以上経過したエントリは読み取り時に拒否されるため、検出器の意図が進化しても古い結果が残り続けることはありません。
+- **結果全体のキャッシュ**:`~/.failproofai/audit-dashboard.json`(モード 0600)。ダッシュボードのナビゲーション時に再実行なしで即座にレンダリングできます。**7日間のTTL**を超えると読み取り時に拒否されます。その場合、`/audit` は空の状態にフォールバックして新規実行を促します。レポート下部の `[ re-audit now ]` をクリックすると更新できます。再監査は `noCache: true` を送信するため、トランスクリプトごとのキャッシュをバイパスしてキャッシュ結果を返す代わりにすべてのトランスクリプトを再スキャンします。実行状況は上部の固定ストリップでストリーミング表示され、成功時は結果がその場で更新されます(ページのリロードなし。再監査に失敗した場合は以前のレポートが保持されます)。
## 注意事項
-- **変更なし。** 監査は読み取り専用モードで再実行されます。`warn-repeated-tool-calls` はスキップされます。これは、実行するとセッションごとのサイドカーが変更されてしまうためです。
-- **ワークフローポリシーはスキップ。** `require-*-before-stop` ポリシーは `Stop` イベント時にのみ機能し、ライブのgit状態に対して `execSync` を実行します。「2025年に何が起きていたか」という意味のある解釈ができないため、監査カウントには表示されません。
-- **カスタムポリシーはスキップ。** ユーザーが設定したカスタムフックは再実行されません(元のセッション以降に変更されている可能性があるため)。
\ No newline at end of file
+- **変更なし。** 監査は読み取り専用モードで再生されます。`warn-repeated-tool-calls` は、セッションごとのサイドカーが変更されてしまうためスキップされます。
+- **ワークフローポリシーはスキップ。** `require-*-before-stop` ポリシーは `Stop` イベント時にのみ発火し、ライブのgit状態に対して `execSync` を実行します。これらは「2025年に何が起きたか」という意味のある解釈ができないため、監査カウントには含まれません。
+- **カスタムポリシーはスキップ。** ユーザーが定義したカスタムフックは再生されません(元のセッション以降に変更されている可能性があるため)。
\ No newline at end of file
diff --git a/docs/ja/dashboard.mdx b/docs/ja/dashboard.mdx
index 5364a5927..051ebea63 100644
--- a/docs/ja/dashboard.mdx
+++ b/docs/ja/dashboard.mdx
@@ -4,7 +4,7 @@ description: "エージェントセッションの監視、ツール呼び出し
icon: chart-line
---
-failproofai ダッシュボードは、AI エージェントセッションの監視とポリシー管理のためのローカル Web アプリケーションです。席を外している間にエージェントが何をしたかを確認できます。
+failproofai ダッシュボードは、AIエージェントセッションの監視とポリシー管理を行うローカルWebアプリケーションです。あなたが離れている間にエージェントが何をしていたかを確認できます。
---
@@ -16,22 +16,22 @@ failproofai
`http://localhost:8020` で開きます。
-ダッシュボードはファイルシステムから直接読み込みます。Claude Code のプロジェクトフォルダーと failproofai の設定ファイルが対象です。リモートサービスへの書き込みは一切行われません。
+ダッシュボードはファイルシステムから直接読み取ります。Claude Code のプロジェクトフォルダーと failproofai の設定ファイルを参照しており、リモートサービスへの書き込みは一切行いません。
---
-## ページ
+## ページ一覧
### プロジェクト
-マシン上で見つかった Claude Code、OpenAI Codex、GitHub Copilot CLI _(ベータ)_、Cursor Agent _(ベータ)_、OpenCode _(ベータ)_、Pi _(ベータ)_、Gemini CLI _(ベータ)_ のすべてのプロジェクトを一覧表示します。Claude プロジェクトは `~/.claude/projects/`(または `CLAUDE_PROJECTS_PATH` で設定したパス)から検出されます。Codex プロジェクトは `~/.codex/sessions////*.jsonl` 以下のすべてのトランスクリプトをスキャンし、各セッションの最初のレコードに記録された `cwd` でグループ化することで検出されます。Copilot CLI プロジェクトは各 `~/.copilot/session-state//workspace.yaml`(`COPILOT_HOME` で設定可能)をスキャンし、`cwd` フィールドでグループ化することで検出されます。Cursor Agent プロジェクトは `~/.cursor/agent-sessions//`(`CURSOR_HOME` で設定可能、`conversations/` および `sessions/` がフォールバックとして探索)以下のセッションごとのメタデータをスキャンし、`meta.json` / `session.json` / `workspace.yaml` の `cwd` スカラーから検出されます。OpenCode プロジェクトは `~/.local/share/opencode/opencode.db` の SQLite DB を `opencode db --format json` 経由でクエリし(`session` および `project` テーブルを読み取り `project_id` でグループ化)、検出されます。Pi プロジェクトは `~/.pi/agent/sessions//_.jsonl`(`PI_SESSIONS_DIR` で設定可能)以下のセッションごとの JSONL トランスクリプトをスキャンし、各セッションの最初のレコードから `cwd` を取得することで検出されます。Gemini CLI プロジェクトは `~/.gemini/tmp//chats/session--.jsonl`(`GEMINI_SESSIONS_DIR` で設定可能)をスキャンし、隣接する `.project_root` テキストマーカーから正規の cwd を復元することで検出されます。複数の CLI で使用されたプロジェクトは、該当するバッジをすべて表示した単一の行としてレンダリングされます。テーブル上部の **CLI** ドロップダウンで特定のエージェント CLI に絞り込めます。選択は `?cli=claude|codex|copilot|cursor|opencode|pi|gemini` として URL に保存されます。
+マシン上で見つかった Claude Code、OpenAI Codex、GitHub Copilot CLI _(ベータ)_、Cursor Agent _(ベータ)_、OpenCode _(ベータ)_、Pi _(ベータ)_、Gemini CLI _(ベータ)_ のすべてのプロジェクトを一覧表示します。Claudeプロジェクトは `~/.claude/projects/`(または `CLAUDE_PROJECTS_PATH` で設定されたパス)から検出されます。Codexプロジェクトは `~/.codex/sessions////*.jsonl` 以下のすべてのトランスクリプトをスキャンし、各セッションの最初のレコードに記録された `cwd` でグループ化して検出されます。Copilot CLI プロジェクトは各 `~/.copilot/session-state//workspace.yaml`(`COPILOT_HOME` で設定可能)をスキャンし、その `cwd` フィールドでグループ化して検出されます。Cursor Agent プロジェクトは `~/.cursor/agent-sessions//`(`CURSOR_HOME` で設定可能。フォールバックとして `conversations/` と `sessions/` も確認)以下のセッションごとのメタデータから `meta.json` / `session.json` / `workspace.yaml` の `cwd` スカラーを読み取って検出されます。OpenCode プロジェクトは `~/.local/share/opencode/opencode.db` の SQLite DB を `opencode db --format json` 経由でクエリし(`session` テーブルと `project` テーブルを読み取り `project_id` でグループ化)して検出されます。Pi プロジェクトは `~/.pi/agent/sessions//_.jsonl`(`PI_SESSIONS_DIR` で設定可能)以下のセッションごとの JSONL トランスクリプトをスキャンし、各セッションの最初のレコードから `cwd` を取得して検出されます。Gemini CLI プロジェクトは `~/.gemini/tmp//chats/session--.jsonl`(`GEMINI_SESSIONS_DIR` で設定可能)をスキャンし、隣接する `.project_root` テキストマーカーから正規の cwd を復元して検出されます。複数の CLI で使用されたプロジェクトは、すべての一致するバッジを持つ単一の行として表示されます。テーブル上部の **CLI** ドロップダウンで特定のエージェント CLI に絞り込めます。URLには選択内容が `?cli=claude|codex|copilot|cursor|opencode|pi|gemini` として保持されます。
各プロジェクトには以下が表示されます:
- プロジェクト名(フォルダーパスから導出)
- CLI バッジ — `Claude Code`(オレンジ)、`OpenAI Codex`(パープル)、`GitHub Copilot`(ブルー)、`Cursor Agent`(エメラルド)、`OpenCode`(アンバー)、`Pi`(ピンク)、`Gemini CLI`(スカイ)
- 最新セッションアクティビティの日付
-プロジェクトをクリックするとそのセッションを確認できます。
+プロジェクトをクリックするとそのセッション一覧が表示されます。
### セッション
@@ -39,52 +39,52 @@ failproofai
- セッション ID
- 開始・終了タイムスタンプ
- ツール呼び出し回数
-- フックアクティビティ数(発動したポリシー数)
+- フックアクティビティ数(発火したポリシーの数)
-日付範囲フィルターとセッション ID 検索でリストを絞り込めます。セッションはページネーションされます。
+日付範囲フィルターとセッション ID 検索で絞り込みができます。セッションはページネーションされています。
セッションをクリックするとセッションビューアーが開きます。
### セッションビューアー
-セッションビューアーは自律エージェントに対する重要な問いに答えます:エージェントは何をしたか、そして意図した動作をしていたか?ヘッダーの隣の CLI バッジは、セッションが Claude Code、OpenAI Codex、GitHub Copilot CLI、Cursor Agent、OpenCode、Pi、または Gemini CLI のトランスクリプトであることを示します。セッション内で起きたすべての出来事のタイムラインが表示されます:
+セッションビューアーは、自律型エージェントにとって重要な問いに答えます:エージェントは何をしたのか、そして想定通りに動作していたのか?ヘッダーの横の CLI バッジが、セッションが Claude Code、OpenAI Codex、GitHub Copilot CLI、Cursor Agent、OpenCode、Pi、Gemini CLI のどのトランスクリプトかを示します。セッション内で起きたことのタイムラインが表示されます:
-- **メッセージ** — Claude のテキストレスポンスとユーザープロンプト
-- **ツール呼び出し** — Claude が呼び出したすべてのツール、その入力と出力
-- **ポリシーアクティビティ** — 各ツール呼び出しに対して、どのポリシーが発動し、どの決定を返したか
+- **メッセージ** — Claudeのテキスト応答とユーザープロンプト
+- **ツール呼び出し** — Claudeが呼び出したすべてのツールとその入力・出力
+- **ポリシーアクティビティ** — 各ツール呼び出しに対して、どのポリシーが発火しどの判断が返されたか
-上部のステータスバーには、セッション時間、総ツール呼び出し回数、フック決定のサマリー(allow / deny / instruct の件数)が表示されます。
+上部のスタッツバーにはセッション時間、合計ツール呼び出し数、フック判断のサマリー(allow / deny / instruct の件数)が表示されます。
-**ログをダウンロード** ボタンをクリックするとセッションをエクスポートできます。Claude Code、Codex、Copilot、Cursor、Pi、Gemini のセッションではディスク上のオリジナル JSONL トランスクリプトがバイト単位でそのまま取得されます。OpenCode(セッションがディスクではなく SQLite に保存される)では、基盤となる `session` / `messages` / `parts` テーブルを反映した JSON ドキュメントが取得されます。
+**ログをダウンロード** ボタンをクリックするとセッションをエクスポートできます。Claude Code、Codex、Copilot、Cursor、Pi、Gemini のセッションはディスク上の元の JSONL トランスクリプトがバイト単位でそのまま取得されます。OpenCode(セッションがディスクではなく SQLite に保存される)では、`session` / `messages` / `parts` テーブルのデータを反映した JSON ドキュメントが取得されます。
### 監査
-過去のセッション全体でエージェントが実際にどのような動作をしていたかを個性豊かなレポートで表示します。`failproofai audit` CLI と同じスキャンを実行しますが、単一画面で共有可能なポスター+4つの折りたたみセクションとしてレンダリングされます:
+過去のセッション全体にわたるエージェントの実際の挙動を個性的なレポートとして表示します。`failproofai audit` CLI と同じスキャンを実行しますが、単一画面の共有可能なポスターと折り畳み以降の4つのセクションとしてレンダリングされます:
-1. **ポスター** — 最初のビューポートを占有します。failproof_ai ワードマーク+監査ラベル・アーキタイプインデックス(`№ NN of 08`)+監査日・数値スコア(0〜100)+パーセンタイルランクのピル(`top 15%`)・アーキタイプ名(`the optimist`、`the cowboy`、`the explorer`、`the goldfish`、`the paranoid architect`、`the precision builder`、`the hammer`、`the ghost` のいずれか)+3キーワードストリップ・`// only N% of agents are this archetype` レアリティライン・8×8 ピクセルのシジルタイル・`audit yours → failproof.ai` フッターを含む自己完結型の PNG キャプチャ領域。キャプチャボックスの外側に3つのシェアボタンがあります:`post your archetype`(X インテント)、`share on linkedin`、`download poster`。キャプチャは `html-to-image` を通じて実行されるため、PNG は画面上のレンダリングとピクセル単位で一致します(破線の枠線、SVG ロゴマスク、グラデーション、フォントメトリクス — すべて保持)。
-2. **長所** — エージェントが既に正しく行っている動作を、落ち着いた ✓ 行リストで表示。ライブ監査データから導出(クリーンなツール呼び出し率、平均セッション長、クレデンシャルリークゼロ、リトライストームゼロ など)。
-3. **気になる点** — 問題を重大度順にランク付けしたテーブル:`時刻 · 問題の内容 + 対応するポリシー · 重大度ピル · 再発状況`(new / 今週N回 / 繰り返し)。
-4. **改善方法** — 推奨ポリシーごとに落ち着いた行リストで表示:白色のポリシー名、1行の説明、右側にインストールコマンド+コピーボタン。セクションヘッダーの `[すべてインストール]` ボタンで、すべての推奨ポリシーに対する `failproofai policy add a b c …` コマンドをまとめてコピーできます。
-5. **次回に向けて** — 2つの横並びカード。左:リマインダーの設定(`3d` / `7d` / `14d` / `30d` の間隔ピッカー;認証後 `/api/auth/reminder` で永続化)。右:failproof 特典のアンロック — `invite a friend` はカンマ・スペース・改行区切りの友人メールアドレスリスト(1回の送信で最大10件)を入力するモーダルを開き、`/api/audit/invite` に POST します。API サーバーは受信者1人ずつに `invite@failproof.ai` からメールを送信し、送信者を Cc に、`Reply-To` を設定します。受信者には招待した人が分かり、送信者は自分の受信箱にコピーが届きます。匿名ユーザーは招待送信前に送信者のメールアドレスを確認するため、まず `AuthDialog` にルーティングされます。エンタイトルメント / 特典の履行は今後対応予定です。
+1. **ポスター** — 最初のビューポートを埋めます。failproof_ai ワードマーク+監査ラベル・アーキタイプインデックス(`№ NN of 08`)+監査日・数値スコア(0〜100)+パーセンタイルランクピル(`top 15%`)・アーキタイプ名(`the optimist`、`the cowboy`、`the explorer`、`the goldfish`、`the paranoid architect`、`the precision builder`、`the hammer`、`the ghost` のいずれか)+3キーワードストリップ・`// only N% of agents are this archetype` レアリティ行・8×8ピクセルシジルタイル・`audit yours → failproof.ai` フッターを含む自己完結型 PNG キャプチャ領域。キャプチャボックスのすぐ外に3つのシェアボタンがあります:`post your archetype`(X インテント)、`share on linkedin`、`download poster`。キャプチャは `html-to-image` で実行されるため、PNG は画面表示とピクセル単位で一致します(破線ボーダー、SVG ロゴマスク、グラデーション、フォントメトリクスもすべて保持されます)。
+2. **強み** — 監査データから導出された、エージェントがすでに正しく行っている動作の落ち着いた ✓ 行リスト(クリーンなツール呼び出し率、メインへの直接プッシュなし、認証情報の漏洩なし、リトライストームなし)— 関連するポリシーが監査ウィンドウ全体でクリーンな記録を持つ場合にのみ表示されます。
+3. **クセ** — 深刻度順にランク付けされた問題点のテーブル:`いつ・何が漏れた+それを検知するはずのポリシー・深刻度ピル・検出回数`。再発回数は `new`(1回)、`N× seen`(2〜9回)、`recurring`(10回以上)と表示されます。
+4. **改善方法** — 推奨ポリシーごとの落ち着いた行リスト:ポリシー名を白文字で、1行の説明、右側にインストールコマンド+コピーボタン。セクションヘッダーには `enable all N → projected · `(すべての修正を適用した場合に到達するスコア)が表示され、`[install all]` ボタンは推奨されるすべてのポリシーをまとめた `failproofai policy add a b c …` コマンドをコピーします。
+5. **次回はもっとよく** — 2つの横並びカード。左:リマインダーの設定(`3d` / `7d` / `14d` / `30d` のケイデンスピッカー。認証後に `/api/auth/reminder` 経由で保存されます)。右:failproof の特典を解除 — `invite a friend` はカンマ・スペース・改行区切りの友人のメールアドレスリスト(1回の送信で最大10件)を入力するモーダルを開き、`/api/audit/invite` に POST します。api-server の `POST /v0/invite` に転送され、`invite@failproof.ai` から受信者1人ずつにメールが送信されます。送信者は CC され `Reply-To` が設定されるため、受信者は誰が招待したかがわかり、送信者も受信トレイにコピーが届きます。匿名ユーザーは先に `AuthDialog` を経由するため、招待送信前に送信者のメールアドレスが確認されます。エンタイトルメント/特典のフルフィルメントは今後対応予定です。
-`failproofai audit` ランタイムによって動作します。基盤となるスキャンエンジン、対応フラグ、トランスクリプトごとのキャッシュ不変条件については [Audit CLI](/ja/cli/audit) を参照してください。ダッシュボードは最新の結果を `~/.failproofai/audit-dashboard.json`(モード `0600`、単一スロット、新しい実行で上書き)にキャッシュするため、再訪問は即座に表示されます。**トランスクリプトごとのキャッシュおよび結果全体のキャッシュは、7日を超えると読み取り時に拒否されます**。ダッシュボードが古い結果を黙ってサービスすることはありません。TTL を過ぎると `/audit` は空の状態にフォールスルーし、新しい実行を促します。レポート下部の `[ re-audit now ]` をクリックすると、`noCache: true` を付けて `/api/audit/run` に POST されます。再監査はトランスクリプトごとのキャッシュをバイパスし、キャッシュ済み結果を黙って返すのではなく、すべてのトランスクリプトをゼロから再スキャンします。ダッシュボードは実行完了まで `/api/audit/status` を 1Hz でポーリングし、実行中はビューポート上部にスティッキーなピンクのプログレスストリップが経過タイマーとともに表示されます。成功すると新しい結果がページ全体のリロードなしにその場で差し替えられます。失敗すると、ストリップは `RerunError.kind`(`timeout` / `network` / `post_failed`)に応じたコピーとともに赤くなります。空の状態(キャッシュなしまたは期限切れ)とセッションゼロの状態(キャッシュは存在するがスキャンでトランスクリプトが見つからなかった)は別々に表示されます。
+`failproofai audit` ランタイムで動作します。基盤となるスキャンエンジン、サポートされるフラグ、トランスクリプトごとのキャッシュの動作については [Audit CLI](/ja/cli/audit) を参照してください。ダッシュボードは最新の結果を `~/.failproofai/audit-dashboard.json`(モード `0600`、単一スロット、新しい実行で上書き)にキャッシュするため、再訪問は即時に表示されます。**トランスクリプトごとのキャッシュと結果全体のキャッシュはいずれも、7日を超えると読み取り時に拒否されます**。そのため、ダッシュボードが1週間前の古い結果を無音で提供することはありません。TTL を過ぎると `/audit` は空の状態にフォールスルーして再実行を促します。レポート下部の `[ re-audit now ]` をクリックすると `noCache: true` で `/api/audit/run` に POST されます。再監査はトランスクリプトごとのキャッシュをバイパスし、キャッシュ結果を返すのではなくすべてのトランスクリプトを最初からスキャンし直します。ダッシュボードは実行が完了するまで 1Hz で `/api/audit/status` をポーリングし、実行中はビューポート上部にスティッキーなピンクの進行状況バーと経過タイマーが表示されます。成功すると新しい結果がその場で差し替えられます(フルページリロードなし。再監査が失敗した場合は以前のレポートがそのまま残ります)。失敗時はバーが赤くなり、`RerunError.kind`(`timeout` / `network` / `post_failed`)に応じたメッセージが表示されます。空の状態(キャッシュなしまたは期限切れ)とセッションなしの状態(キャッシュは存在するがスキャンでトランスクリプトが見つからなかった)は別々に表示されます。
### ポリシー
-ポリシーの管理とアクティビティの確認のための2タブページです。
+ポリシーの管理とアクティビティの確認を行う2タブのページです。
- - 単一パネルから failproofai が保護するエージェント CLI を複数選択 — Claude Code、OpenAI Codex、GitHub Copilot、Cursor Agent、OpenCode、Pi、Gemini CLI のすべてにインストール状況(`Active` / `Detected` / `Inactive`)、ユーザースコープの設定パス、ブランドカラーのアクセントを持つ行があります。必要な CLI にチェックを入れ、`Apply changes` をクリックすると差分のインストール/アンインストールを一括で実行できます。PATH 上でバイナリが検出された CLI はあらかじめチェックされます。
- - 個別ポリシーのオン/オフをワンクリックで切り替え(`~/.failproofai/policies-config.json` に書き込み — インストールされているすべての CLI で共有)
- - ポリシーを展開してパラメーターを設定(`policyParams` をサポートするポリシーの場合)
- - カスタムポリシーファイルのパスを設定
+ - 単一のパネルから failproofai が保護するエージェント CLI を複数選択できます — Claude Code、OpenAI Codex、GitHub Copilot、Cursor Agent、OpenCode、Pi、Gemini CLI それぞれの行にインストール状態(`Active` / `Detected` / `Inactive`)、ユーザースコープの設定パス、ブランドカラーのアクセントが表示されます。有効にしたい CLI にチェックを入れ、`Apply changes` をクリックすると差分が一括でインストール/アンインストールされます。PATH 上でバイナリが検出された CLI は事前にチェックされています。
+ - 個々のポリシーをクリック一つでオン/オフに切り替えられます(`~/.failproofai/policies-config.json` に書き込まれ、インストール済みのすべての CLI で共有されます)
+ - ポリシーを展開してパラメーターを設定できます(`policyParams` をサポートするポリシーのみ)
+ - カスタムポリシーファイルのパスを設定できます
- - すべてのセッションにわたって発動したすべてのフックイベントのページネーション付き完全履歴
- - 決定、イベントタイプ、CLI(Claude Code / OpenAI Codex / GitHub Copilot _(ベータ)_ / Cursor Agent _(ベータ)_ / OpenCode _(ベータ)_ / Pi _(ベータ)_ / Gemini CLI _(ベータ)_)、ポリシー名、またはセッション ID でフィルタリング
- - 各行に表示される内容:タイムスタンプ、ポリシー名、決定、CLI バッジ(オレンジ = Claude Code、パープル = OpenAI Codex、ブルー = GitHub Copilot、エメラルド = Cursor Agent、アンバー = OpenCode、ピンク = Pi、スカイ = Gemini CLI)、ツール名、セッション ID、deny/instruct 決定の理由
- - セッション ID をクリックするとそのトランスクリプトが開きます — ビューアーはフックを発動させた CLI を自動検出し(Claude `~/.claude/projects/…`、Codex `~/.codex/sessions/…`、Copilot CLI `~/.copilot/session-state//events.jsonl`、Cursor Agent `~/.cursor/agent-sessions//events.jsonl`、OpenCode `~/.local/share/opencode/opencode.db`、Pi `~/.pi/agent/sessions//.jsonl`、Gemini CLI `~/.gemini/tmp//chats/.jsonl`)、ヘッダーに対応する CLI バッジをレンダリングします
+ - すべてのセッションにわたって発火したすべてのフックイベントのフルページネーション履歴
+ - 判断、イベントタイプ、CLI(Claude Code / OpenAI Codex / GitHub Copilot _(ベータ)_ / Cursor Agent _(ベータ)_ / OpenCode _(ベータ)_ / Pi _(ベータ)_ / Gemini CLI _(ベータ)_)、ポリシー名、セッション ID でフィルタリング可能
+ - 各行には:タイムスタンプ、ポリシー名、判断、CLI バッジ(オレンジ = Claude Code、パープル = OpenAI Codex、ブルー = GitHub Copilot、エメラルド = Cursor Agent、アンバー = OpenCode、ピンク = Pi、スカイ = Gemini CLI)、ツール名、セッション ID、deny/instruct 判断の理由が表示されます
+ - セッション ID をクリックするとそのトランスクリプトが開きます — ビューアーはフックを発火した CLI(Claude `~/.claude/projects/…`、Codex `~/.codex/sessions/…`、Copilot CLI `~/.copilot/session-state/