From d90c989ae9d6c2cd51bbfbbac284019228c86280 Mon Sep 17 00:00:00 2001 From: Hamza Ayed Date: Thu, 8 Oct 2026 08:07:30 +0300 Subject: [PATCH] docs: record web workspace verification --- SovereignAI-Starter/ROADMAP.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SovereignAI-Starter/ROADMAP.md b/SovereignAI-Starter/ROADMAP.md index 4e74955..8d9bd60 100644 --- a/SovereignAI-Starter/ROADMAP.md +++ b/SovereignAI-Starter/ROADMAP.md @@ -2,8 +2,9 @@ هذه خارطة تنفيذ تدريجية للمشروع الحالي. التطبيق اليوم Flutter، وواجهة الخدمة FastAPI، والتخزين SQLite، وتوليد النص عبر خادم Ollama محلي. لا نبدأ بتدريب نموذج من الصفر؛ نبني منتجًا قابلًا لتبديل النموذج ونقيس كل مرحلة قبل توسيع الصلاحيات. -## الحالة الحالية — 2026-10-07 +## الحالة الحالية — 2026-10-08 +- 2026-10-08 — فحص Flutter Web الجاري: تبويب `127.0.0.1:5303` أعاد الواجهة بحالة `متصل · gemma4:e2b` وأظهر المحادثات المحفوظة. سجّلت مجلد اختبار مؤقتًا عبر API للتأكد من ظهوره؛ لم يظهر في «مشاريعي» لأن قائمة التطبيق مبنية من `saved_workspace_paths` المحفوظة على العميل، ونسخة الويب لا تتيح اختيار مجلد كامل. أُلغي التسجيل وحُذف المجلد الاختباري. هذا لا يختبر تسجيل/فتح المشروع داخل نافذة Windows، ولا يعيد إنتاج بث وكيل حي يستمر 4–5 دقائق؛ ما زال هذان التحققان مفتوحين. - 2026-10-07 — إصلاح تذبذب معاينة تعديل ملفات الوكيل والتحقق من مهلة الاتصال: إعادة محاولة تعديل الملف أصبحت ترسل طلب المستخدم الأصلي وأداة `propose_file_change` وحدها بدل قائمة الأدوات والسياق الكامل، وتعيد HTTP 502 واضحًا إذا لم ينتج النموذج نداء أداة بدل أن تعرض ردًا نصيًا يوحي بالإنجاز. اجتازت اختبارات الوكيل 27/27، واجتاز smoke test حي على FastAPI معزول وGemma 4 تسجيل المشروع والقراءة ومعاينة diff مع بقاء الملف الأصلي دون تغيير. فحص شكوى الانقطاع: مهلة completion للوكيل 600 ثانية، SSE heartbeat كل 15 ثانية، وقراءة العميل 10 دقائق؛ لا توجد مهلة 4–5 دقائق في هذا المسار. اختبارات المهلة والنبضات والإلغاء اجتازت 5/5. جرد آخر 200 حدث تدقيق على API 8000 لم يجد إغلاق عميل `499`؛ أطول بث محفوظ أكمل بـHTTP 200 خلال 386,998ms (2026-10-04)، وأطول طلب في الأحداث الأحدث يوم 2026-10-07 استغرق 99,677ms وانتهى بـ200. بعد التجربة اكتُشف أن API 8000 القديمة لم تحمل الإصلاح؛ حُفظت قاعدة SQLite في AppData بنسخة اتساقية محلية، ثم أُعيد تشغيل `start-api.ps1` على قاعدة البيانات نفسها. نجح verifier كاملًا بعد التحديث على 8000، وأظهرت إعادة تحميل واجهة 5303 حالة اتصال Gemma 4 وبقاء المحادثات السابقة ظاهرة. لا يزال اختبار Flutter التفاعلي المطوّل لمدة 4–5 دقائق باقٍ لإعادة إنتاج بلاغ المستخدم وعزل السبب من الواجهة أو التشغيل. - 2026-10-07 — تحسين تحمل انقطاع تحميل مهارات الوكيل: فحص واجهة الويب على `127.0.0.1:5303` كشف أن أول تحميل عرض خطأً مؤقتًا، ثم عادت الواجهة بعد إعادة التحميل واتصلت بـGemma 4 وأظهرت المحادثات المحفوظة. تحققت خدمة API بـ200، وأعادت `/v1/agent/skills` المهارات الثلاث مع CORS صحيحًا؛ أُلغيت جلسة الفحص المحلية. أضيفت ثلاث محاولات تحميل إجمالًا مع تراجع 300/750ms ومنع الطلبات المتزامنة؛ يزول خطأ المهارات عند النجاح ويبقى ظاهرًا إذا فشلت المحاولات كلها. اجتازت اختبارات Flutter الكاملة 29/29، و`flutter analyze --no-pub` بلا ملاحظات. فحص widget الآلي يمر بمسار اختيار المشروع ومعاينة التعديل؛ بقي التحقق اليدوي من نافذة Windows، لذلك لم يُغلق بندها. - 2026-10-07 — تشغيل Flutter Web Debug من نسخة مصدر معزولة في `%LOCALAPPDATA%\SovereignAI-Starter\web-debug-20261007`: `flutter run -d web-server --web-hostname 127.0.0.1 --web-port 5305 --no-pub` ما زال يعمل وطلب HTTP أعاد 200 بعنوان `Mithqal AI`. تعثر التشغيل أولًا لأن OneDrive جعل `build/flutter_assets` نقطة reparse للقراءة فقط؛ كما فشل استدعاء Flutter snapshot المباشر لغياب إعداد `Isolate.packageConfig`، ثم نجح عبر `flutter.bat` بعد مزامنة المشروع واستعادة الاعتماديات محليًا. أُوقف خادم 5304 الثابت المؤقت. طلب فتح تبويب 5305 في لوحة Codex أُرسل، لكن أداة المتصفح انتهت بمهلة ولم تؤكد العرض المرئي أو تدفق المشروع؛ بند Windows اليدوي ما زال مفتوحًا.