2026-07-09 ~15:20 — فحص النشرة التقنية (Grok 4.5 / GPT-5.6 / MCP) — اختبار حي
Grok 4.5 — غير متاح لنا (حظر إقليمي xAI)
- xAI مباشر: غير مدرج (أحدث 4.3 + 4.20). OpenRouter: مدرج لكن 403 "not available in your region". EvoLink: لا grok-4.x. MuleRouter: "grok-4.5 not supported".
- القرار: لا تبنّي. grok-4.3 يبقى كما هو في (fallback chain #7 + مسار liberate_code الأكاديمي first layer + وثائق). image/video تستخدم grok-imagine- منفصلة (غير متأثرة). مراقبة أسبوعية.
- P3-P5 (اختبار 4.5 vs 4.3 chat/image/video/أكاديمي soft-refusal): محجوبة — الموديل غير قابل للاستدعاء أصلاً.
GPT-5.6 — غير متاح (OpenAI مباشر أقصاه 5.5-pro؛ ليس على OpenRouter). مراقبة.
MCP — TestSprite + Serena يعملان (اختبار استدعاء حقيقي)
- TestSprite: صيغة
npx @testsprite/testsprite-mcp@latest (بلا وسيط) = stdio صحيح ✅. وسيط server يفتح HTTP بدل stdio = سبب التعثّر السابق. handshake OK + 8 أدوات + استدعاء check_account_info رجّع حساب حي (Starter, 550 credits, wayrk76@gmail.com). server ver 0.0.19 (pkg npm 0.0.38).
- Serena:
serena start-mcp-server --context codex --project <ws> ✅. server ver 1.27.0 (CLI 1.5.3). handshake OK + 22 أداة LSP + get_symbols_overview حلّل ملفاً فعلياً بدقة.
- أدوات: scripts/mcp_probe.py + scripts/mcp_call.py (اختبار MCP stdio قابل لإعادة الاستخدام).
ملاحظة تنظيف: تكرار متداخل obsidian/obsidian/obsidian/... في workspace (يلوّث grep) — يحتاج تنظيف لاحق.
2026-07-09 ~15:40 — تنظيف تكرار obsidian (طلب د. وائل)
- السبب الجذري: مجلدان Syncthing متداخلان (openclaw-vault=workspace ⊃ obsidian-vault=workspace/obsidian) → نسخ الأب داخل الابن متكرراً. مُصلَح مسبقاً أمس M-081 (workspace/.stignore يتجاهل /obsidian) → لا يتكرر.
- حُذف: obsidian/obsidian (تداخل عميق 2298 ملف) + 68 نسخة .md بجذر obsidian + 9 مجلدات تلوّث (memory 395/skills 100/logs/.serena/.ruff_cache/.clawhub/.openclaw/.work-1000/.learnings = 514) = ~2880 ملف junk.
- تحقّق: كل محذوف له أصل مطابق (cmp) في workspace/ + صفر مرجع حي + inode-check (ليس bind). الـ vault سليم 100% (00-الترسانة 274 + كل المجلدات + .obsidian). سجل: memory/obsidian_cleanup_2026-07-09.txt.
- بقي للـ host: config.xml فيه إدخال obsidian-vault مكرّر (لغم) + المجلدان المتداخلان — يُصلَحان على الـ host Syncthing عند إذن د. وائل.
- تصحيح الإجمالي: باس ثانٍ أزال المزيد (projects 11094 + scripts/mcp-servers/arsenal_export/data/config/backups + نسخ ملفات). النتيجة النهائية: obsidian 14334→290 ملف، 619M→6.7M. vault سليم (00-الترسانة 274). whitelist+inode+source-check حَمَت الـ vault. الحذف يُنشَر لأجهزة د. وائل عبر Syncthing (تنظيف شامل مقصود).
2026-07-09 ~12:50 — تشخيص الخطأين + بناء نظام النسخ الاحتياطي المدمج
الخطأان:
fast-meadow failed (10:56): خرقي أنا — قتلت exec يدوياً (M-076). الإصلاح السلوكي: صفر قتل يدوي، timeout داخل الأمر.
LLM request failed (12:24): Anthropic messages.7.content.33: Invalid signature in thinking block (replay_invalid, M-063/M-070). أعاد 3 محاولات ثم تعافى ذاتياً (cron replay-autoregen 12:25). حميد. الحل عند التعطّل الفعلي = /new. لا تجريد thinking blocks.
نظام النسخ الاحتياطي (قرار د. وائل — توصية مدمجة):
- بُني
scripts/full_server_secure_backup.sh: VPS كامل (docker+volumes) → tar|gzip|openssl AES-256-CBC|rclone rcat (بثّ، بلا temp) → presigned URL 7d → إيميل HTML (M365/Hotmail + gog fallback) لـ hotmail+gmail+kcpc مع عبارة السر + أوامر الاستعادة (فك تشفير). عبارة سر ثابتة مخزّنة chmod 600 في secrets/.server_backup_passphrase.
- التحقّق: syntax OK · AES roundtrip OK · presign OK · M365 OK.
- cron cc8a985b حُدّث: الأربعاء → الأحد+الخميس 04:00 (expr 0 4 * 0,4)، سكربت آمن، مهلة 7200s. نسخة الأحد الخفيفة (b37d2662 weekly_recovery_point) تبقى.
- شُغّلت نسخة الخميس الحقيقية الآن (PID 641987، TS=20260709-125016).
🎬 Entertainment Hub — إصلاح شامل لمنظومة التشغيل (ليلة 2026-07-09)
شكوى د. وائل: أفلام/مسلسلات كثيرة لا تعمل (loading أبدي/شاشة سوداء) + الشريط لا يمتد لطول الفيلم (mkv). الجذور المكتشفة بالفحص الحيّ + الإصلاحات (كلها في projects/entertainment-hub/app.py + templates/index.html):
1.
شاشة سوداء/بلا صوت (mp4): المشغّل كان يثق بالامتداد؛ ملفات .mp4 كثيرة بداخلها mpeg4/HEVC/ac3 لا يفكّها المتصفح. الحل: mp4/mov/ts ذات h264/aac → redirect مباشر (302، فوري)؛ غير المتوافق → remux/transcode. NATIVE_EXT قُلّص، أُضيف BROWSER_CONTAINERS.
2.
تعليق mkv (loading أبدي + 19GB كاش): mkv كان يُحمَّل كاملاً قبل العرض. الحل: بثّ فوري (fragmented mp4، -c copy) — TTFB ~1-3ث بدل تعليق. نُظّف الكاش + قُتلت عمليات ffmpeg عالقة.
3.
بطء Adam vip: probe كان يعلّق حتى 25ث. الحل: probe timeout=7s + probesize 2M؛ عند timeout لحاوية متصفّح → redirect مباشر.
4.
HEVC تكيّفي: كشف دعم الجهاز في العميل (_HEVC_OK) → hevc=1 → السيرفر ينسخ H.265 مباشرة للأجهزة الداعمة (جوّال/كروم/سمارت TV)، ويحوّل للقديمة. يعمل على الكل.
5.
انهيار 500 (سبب loading أبدي لمسلسلات كثيرة): xt_series_info كان ينهار 'list has no attribute get' عندما يرجع المزوّد (مثل المدمر) شكلاً غير متوقّع. حُصّنت بالكامل (كل الأشكال). المدمر يرجع قائمة فارغة لبعض العناوين = محتوى ميت عندهم (استخدم مزوّداً آخر).
6.
الشريط لا يمتد (mkv): الشريط الأصلي للمتصفح يرى 10ث فقط للبثّ المجزّأ. الحل: أُزيل
controls الأصلي؛ الشريط المخصّص يعرف المدة الكاملة (/api/duration) ويقفز لأي نقطة بإعادة بثّ من السيرفر (&ss=). أُضيفت أزرار تشغيل/إيقاف/صوت/ملء شاشة مخصّصة. مُختبَر headless (Playwright/Chromium): mkv+mp4 → شريط كامل + قفز 80% + تحكّم يعمل، صفر أخطاء.
التحقق: كل الواجهات 200، مسلسلات 6/6 بلا انهيار، live كلها 200، player E2E ناجح. الاستقرار: صفر أخطاء بالسجل.