Continue roadmap: local TLS and agent review preparation

This commit is contained in:
Hamza Ayed
2026-10-04 00:35:05 +03:00
parent 379098f3d6
commit d29275043a
28 changed files with 3226 additions and 47 deletions
@@ -0,0 +1,263 @@
# مراجعة بشرية لإجابات SovereignAI
هذه ورقة تقييم يدوي؛ لا تُحتسب درجات الاسترجاع تلقائيًا على أنها صحة للإجابة. الحالات تأتي من مجموعات صغيرة ذات ملفات fixture للمشروع ودليل PDF طويل ومستند PDF ممسوح. راجع السؤال والإجابة والملف المشار إليه قبل تسجيل الدرجة.
## سلم التقييم
- **0 — خاطئة:** تناقض المصدر أو تختلق معلومة أساسية.
- **1 — ضعيفة:** معظمها غير صحيح أو بلا سند كافٍ.
- **2 — جزئية:** الفكرة الأساسية صحيحة لكن فيها نقص أو التباس مهم.
- **3 — جيدة:** صحيحة ومسنودة مع نقص طفيف.
- **4 — ممتازة:** صحيحة ومكتملة ومسنودة وواضحة.
سجّل الدرجة بعد التحقق من المصدر، واكتب أي خطأ واقعي أو نقص مهم في الملاحظات. اتركها فارغة إن لم تراجع الحالة. هذه المراجعة البشرية مستقلة عن مقاييس ترتيب المقاطع، لكنها تظل على fixtures ولا تمثل كل استخدام واقعي.
## الحالات
### 1. `conversation-storage-ar`
- السؤال: أين تحفظ المحادثات؟
- ملف مرجعي متوقع: `storage.md`
- الملفات التي ذكرها الوكيل: storage.md, routing.md, workspace.md, images.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> المحادثات تحفظ في قاعدة SQLite المحلية كي تبقى متاحة بعد إغلاق التطبيق أو تحديث الصفحة. (storage.md، المقطع 0)
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 2. `image-model-ar`
- السؤال: ما النموذج الذي يعالج الصور تلقائيًا؟
- ملف مرجعي متوقع: `images.md`
- الملفات التي ذكرها الوكيل: images.md, timeout.md, routing.md, pdf.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> الصور المرفقة تحول تلقائيًا إلى نموذج Ministral 3:3b المحلي لتحليل الصورة واستخراج النص منها. (images.md، المقطع 0)
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 3. `preview-safety-ar`
- السؤال: كيف نحمي معاينة الملف قبل الموافقة؟
- ملف مرجعي متوقع: `preview.md`
- الملفات التي ذكرها الوكيل: preview.md, storage.md, pdf.md, workspace.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> المقطع الذي يجيب على سؤالك هو:
> "تُربط معاينة الملف ببصمة SHA256، ويجب أن يوافق المستخدم قبل تطبيق التغيير على مساحة العمل." (preview.md، المقطع 0)
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 4. `pdf-extraction-ar`
- السؤال: كيف نستخرج النص من صفحات PDF؟
- ملف مرجعي متوقع: `pdf.md`
- الملفات التي ذكرها الوكيل: pdf.md, images.md, audio.md, search.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> يستخرج `pypdf` النص الرقمي من صفحات PDF محليًا، ويحافظ على رقم الصفحة ضمن المقتطف المرسل للنموذج. (pdf.md، المقطع 0)
> حدود ما استطعت قراءته: تم استخراج الإجابة من المقتطفات المتاحة في فهرس المعرفة المحلي.
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 5. `voice-transcription-ar`
- السؤال: أي خدمة تفرغ التسجيلات الصوتية؟
- ملف مرجعي متوقع: `audio.md`
- الملفات التي ذكرها الوكيل: audio.md, pdf.md, workspace.md, storage.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> المقطع الذي يجيب على السؤال هو:
> "يرسل مسار الصوت التسجيل إلى Groq باستخدام Whisper للتفريغ، ثم يعود النص إلى واجهة المحادثة." من الملف audio.md، المقطع 0.
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 6. `workspace-boundary-ar`
- السؤال: كيف نحمي مساحة العمل من قراءة الملفات المخفية؟
- ملف مرجعي متوقع: `workspace.md`
- الملفات التي ذكرها الوكيل: workspace.md, preview.md, pdf.md, images.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> يستطيع قارئ مساحة العمل رفض المسارات خارج الجذر، ويستثني مجلد `.git` والملفات المخفية وبيئات البناء. (workspace.md، المقطع 0)
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 7. `web-search-en`
- السؤال: Which provider searches multiple web sources?
- ملف مرجعي متوقع: `search.md`
- الملفات التي ذكرها الوكيل: search.md, routing.md, timeout.md, images.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> المقطع الذي يجيب على سؤالك هو:
> "The experimental multi-source web search adapter queries DuckDuckGo and returns source URLs with the summary." من الملف search.md، المقطع 0.
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 8. `database-version-en`
- السؤال: How are old conversation answers migrated?
- ملف مرجعي متوقع: `migration.md`
- الملفات التي ذكرها الوكيل: migration.md, storage.md, images.md, routing.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> لم يتم العثور على مقطع مباشر يجيب على سؤال "How are old conversation answers migrated?" في فهرس المعرفة المحلي.
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 9. `model-routing-ar`
- السؤال: ما الحقول التي يعيدها API بعد تحويل الصور: requested_model وauto_routed؟
- ملف مرجعي متوقع: `routing.md`
- الملفات التي ذكرها الوكيل: routing.md, images.md, storage.md, timeout.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> المقاطع المسترجعة من فهرس المعرفة المحلي لا تحتوي على معلومات مباشرة تحدد الحقول التي يعيدها الـ API بعد تحويل الصور بناءً على `requested_model` و`auto_routed`.
>
> حدود ما استطعت قراءته: المقاطع المسترجعة.
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 10. `api-timeout-ar`
- السؤال: كيف يعرض API انتهاء مهلة النموذج؟
- ملف مرجعي متوقع: `timeout.md`
- الملفات التي ذكرها الوكيل: routing.md, timeout.md, storage.md, search.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> المقطع الذي يجيب على السؤال هو:
> "عند انتهاء مهلة النموذج المحلي، يرجع FastAPI حالة HTTP 504 مع رسالة عربية موحدة ومعرّف الطلب." من الملف timeout.md المقطع 0.
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 11. `skill-permissions-en`
- السؤال: How does the server restrict tools for a selected skill?
- ملف مرجعي متوقع: `skills.md`
- الملفات التي ذكرها الوكيل: skills.md, migration.md, workspace.md, preview.md
- تقرير التشغيل: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`
**إجابة الوكيل:**
> "Each local agent skill declares an allowed_tools set. The server filters the advertised tools and rejects any model call outside that set." (skills.md، المقطع 0)
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 12. `long-guide-deep-approval-en`
- السؤال: What must happen before a proposed production change can be saved?
- ملف مرجعي متوقع: `long_technical_guide.md`
- الملفات التي ذكرها الوكيل: long_technical_guide.md, archive_retention_policy.pdf
- تقرير التشغيل: `evals/results/retrieval_long_pdf_agent_2026-10-03.json`
**إجابة الوكيل:**
> للحفظ أي تغيير مقترح في مساحة العمل، يجب أن تحدث مراجعة من مرحلتين: أولاً، يقوم المستخدم بمراجعة الفرق المقترح بالكامل، ثم يتحقق الخادم من تجزئة الملف الأصلية ويتلقى تأكيدًا صريحًا قبل الكتابة. لا يمكن لأي إجابة من النموذج أو استدعاء الأداة وحده أن يحقق مرحلة المراجعة.
>
> المصدر: long_technical_guide.md · المقطع 17
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 13. `pdf-archive-page-limit-en`
- السؤال: What is the maximum number of pages accepted when indexing one PDF?
- ملف مرجعي متوقع: `archive_retention_policy.pdf`
- الملفات التي ذكرها الوكيل: archive_retention_policy.pdf, long_technical_guide.md
- تقرير التشغيل: `evals/results/retrieval_long_pdf_agent_2026-10-03.json`
**إجابة الوكيل:**
> الحد الأقصى لعدد الصفحات المقبولة عند فهرسة ملف PDF واحد هو 30 صفحة.
> المصدر: archive_retention_policy.pdf · المقطع 0
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___
### 14. `scanned-pdf-ocr-deadline-en`
- السؤال: What calendar date ends the archive restoration approval window?
- ملف مرجعي متوقع: `scanned_approval_notice.pdf`
- الملفات التي ذكرها الوكيل: scanned_approval_notice.pdf
- تقرير التشغيل: `evals/results/retrieval_scanned_pdf_agent_2026-10-03.json`
**إجابة الوكيل:**
> تنتهي فترة موافقة استعادة الأرشيف في 17 أكتوبر 2026. (scanned_approval_notice.pdf · المقطع 0)
**بعد مراجعة الملف المرجعي:**
- الدرجة (0–4): ___
- هل كل ادعاء أساسي مسنود؟ نعم / جزئيًا / لا
- ملاحظات أو تصحيح: ___