Weekly Full Audit — 05:15
- 3 changes: Hermes→v0.17.0 · gh 2.92.0→2.95.0 (apt) · 256 Python pkgs outdated (critical auto-updated). No new AI flagship.
- New models spotted: Mistral OCR 4 (watch for engineering-OCR/blueprints upgrade) · GLM-5v-turbo (vision, EvoLink chain) · grok-4.20-multi-agent · nex-n2-pro · sakana/fugu-ultra. None override current SOTA picks yet — KEEP all.
- APIs: 15/15 reachable. Nexos 401 (intentionally excluded). No critical installation drift.
🏛️ Elite Council — GPT غاب من تقرير الاستبصار 08:30 (شُخّص + أُصلح 10:1x)
العَرَض: تقرير Foresight 08:30 بُني على 3 موديلات (Opus/Gemini/Grok) و"GPT غائب — لا يمكن تقييمه".
السبب الجذري (مزدوج، لا افتراض — مُثبت حياً):
1.
مهلة المجلس 90s/عضو مع 4 نداءات متزامنة → GPT-5.5 (reasoning أبطأ) تجاوزها مع البرومبت التحليلي الطويل فسقط، بينما الأسرع نجح. (ليس SSL — لكان فشل الأربعة.)
2.
ثغرة SSL كامنة (python-dependent): linuxbrew python3.14 يضع
capath على مجلد فارغ (
/data/linuxbrew/.../etc/openssl@3/certs) و
cafile=None → مخزن CA فعلياً صفر → CERTIFICATE_VERIFY_FAILED لكل النداءات.
/usr/bin/python3 سليم (cafile=/usr/lib/ssl/cert.pem). الكرون كان يستدعي
python3 المجرّد = قنبلة موقوتة حسب الـ PATH.
الإصلاح (skills/elite-council/council.py — 3 طبقات):
- مهلة 90s ثم 180s (HTTP_TIMEOUT).
- إعادة محاولة تلقائية واحدة لأي عضو فاشل (transient) قبل بناء valid.
_make_ssl_context() يحمّل certifi دائماً كإضافة (يصلح المخزن الفارغ، غير ضار مع السليم). ⚠️ درس: الشرط not (cafile or capath) خاطئ لأن capath قد يكون مجلداً فارغاً موجوداً → حمّل certifi دائماً.
- الكرون 564b6faa ثُبّت على
/usr/bin/python3 صراحةً.
التحقق: 4/4 ردّوا (GPT included) تحت
/usr/bin/python3 (4.5s)
و تحت linuxbrew python3.14 المعطوب سابقاً (7.8s). py_compile OK.
🔑 Google Gemini dual-key backup (أُكمل 10:3x)
- مفتاح الكويت (GEMINI_API_KEY سطر4) = google:default.key — مُتحقَّق حيّاً ✓ (كان محفوظاً سلفاً، طابق ما أرسله د. وائل).
- مفتاح US (GEMINI_API_KEY_US سطر164 = AIzaSyB_Lx…Cpns) — مُتحقَّق حيّاً ✓.
- أُصلح: كان google:us مجرد stub أجوف في openclaw.json/auth/profiles بلا مفتاح. الآن كُتب profile حقيقي في auth-profiles.json: {type:api_key, provider:google, key:US_KEY} → 8 profiles. backup auth-profiles.json.bak محفوظ.
- النتيجة: google صار له profilان (default=الكويت، us=US) = redundancy حقيقي يدور تلقائياً عند rate-limit. البوابة الحيّة تقرأ auth-profiles.json (session_status عرض anthropic:default منه).
- درس M (تصحيح ذاتي): «google:us غير موجود» في 10:10 كان خطأ — فحصت auth-profiles.json فقط لا openclaw.json. القاعدة: افحص كل مخازن الـ profiles قبل الجزم.
✅ Google dual-key failover — مؤكّد كاملاً (10:4x)
- آلية التدوير: openclaw.json
/auth/cooldowns فيه rateLimitedProfileRotations=1 + overloadedProfileRotations=1 → google:default (الكويت) عند rate-limit يدور آلياً لـ google:us (US).
- بنية المخازن: auth-profiles.json = مخزن المفاتيح الفعلي (google:default + google:us كلاهما بمفتاح). openclaw.json/auth/profiles = طبقة إعلان اختيارية (فيها google:us stub بلا مفتاح — غير ضار، المفتاح يُحَل من auth-profiles.json كما يفعل google:default الذي ليس مُعلناً هناك أصلاً).
- تحقق نهائي: كلا المفتاحين live OK، الربط مطابق، المفتاحان مختلفان، config سليم. أداة قابلة لإعادة الاستخدام: scripts/verify_google_dualkey.py (تقرأ المفاتيح من env، بلا تضمين).
KFH Teaching-Model Statement — RESOLVED 20:42 GMT+3
- Authoritative source = inbound
Account_Statement---35cee9fd...xlsx (sheet "Table 1", 104 tx, cols B=date,E=desc,M=debit,N=credit,O=balance). Account 011020038692 / IBAN KW72 (teaching version).
- Excel reconciles perfectly: 0 balance breaks, total debit 7,808.278, credit 7,205.350, opening 734.199, closing 131.271.
- Final file
KFH_Account_Statement.pdf (→ outbound KFH_Statement_TeachingModel.pdf, 8pg) verified cell-by-cell: 312/312 tx values match Excel, 0 mismatch, 0 missing dates, header fields from Excel. PDF=format only.
- ROOT of Dr. Wael's anger: an EARLIER image-derived file had invented numbers (M-074). The corrected file was actually right but delivery failed (MEDIA: directive silently failed; he said "لم أرى الفايل").
- DELIVERY LESSON: PDF reached him only via
message action=send + media=<path> + caption. MEDIA: directive lines failed repeatedly this session. upload-file action is NOT supported on Telegram → use action=send with media. For guaranteed file delivery, use message tool send with media param, not MEDIA: directive.
🦾 Coding Arsenal Expansion (2026-06-28 ~21:45) — د. وائل approved "ثبّت الكل"
- Serena MCP v1.5.3 ⭐ — LSP semantic code tools (symbol find/refs/rename, 40+ langs). Installed via
uv tool install -p 3.13 serena-agent + serena init + serena setup claude-code|codex (official, NOT marketplace per Serena warning). ✔ Connected in Claude Code + Codex.
- Chrome DevTools MCP v1.4.0 (Google) —
npx -y chrome-devtools-mcp@latest --headless --isolated --executablePath /usr/bin/chromium (Chromium 148). ✔ Connected both.
- CLI: ast-grep 0.44, shellcheck 0.11, oxlint, git-delta, hyperfine, tokei.
- Plugin updates same session: Superpowers 6.0.2→6.0.3, compound-engineering 3.13.0→3.15.0.
- Stability: all changes in ~/.claude.json + ~/.codex/config.toml only; openclaw.json untouched (gateway zero-impact). Configs backed up in /tmp. Codex MCP count 11→13. All pre-existing MCPs still ✔ Connected (testsprite, wael-arsenal, streamlinear).
- Docs updated: TOOLS.md + CODING_STRATEGIES.md.
📄 Mistral OCR 4 — LOCKED as primary OCR (2026-06-28 ~21:50)
- Confirmed live via api.mistral.ai/v1/models: mistral-ocr-4 + mistral-ocr-4-0 visible to our key.
mistral-ocr-latest alias → OCR 4 now.
- Script
document-ocr-arsenal/ocr_router.py already calls mistral-ocr-latest (= OCR 4 at runtime). Kept alias (auto-newest).
- Arabic benchmark (live, controlled): rendered known Arabic+digits paragraph (NotoNaskh, raqm RTL) → OCR 4 → WER 2.78% / CER 3.06% / char-accuracy 96.94%. Only error: inline Latin code "KCPC-2026-A" reduced to "2026". Pure Arabic + Arabic-context numbers ≈ perfect.
- Real doc: KFH bilingual bank statement PDF → extracted accurately (AR+EN headers, markdown tables, IBAN KW72KFHO..., amounts 520.000/214.199, Arabic address). Real-world efficiency confirmed.
- Note (rendering lesson): first synthetic attempt used arabic_reshaper+get_display → produced reversed text image → false 20% score. Correct method = PIL raqm direction='rtl' WITHOUT manual reshape. (Logical-order ground truth needs natively-shaped image.)
- Docs updated: DOMAIN_MODEL_RANKINGS.md (3 spots) + MODEL_REGISTRY.md (LOCKED).
🔬 Hermes Agent updated (2026-06-29 02:18) — د. وائل طلب التأكد من آخر إصدار
- كان: v2026.6.19 tag (commit 1dde7e2f2).
hermes update --check = 211 commits behind origin/main (rolling release; Hermes update يستهدف main).
- نفّذت
hermes update -y --backup الرسمي → الآن commit 65d45a001 = upstream HEAD، 0 behind. backup: /data/.hermes/backups/pre-update-2026-06-29-021554.zip + snapshot 20260628-231600.
- config migrated v30→v31. skill research-paper-writing updated. 28 lazy backends current. Node deps updated.
- التحقق: hermes status سليم، 17 toolset مفعّل، مفاتيح API (OpenRouter/OpenAI/Google/DeepSeek/xAI/GLM/Kimi/MiniMax/Firecrawl/Tavily/FAL/ElevenLabs) ✓.
- ملاحظة: hermes internal model = anthropic/claude-opus-4.6 عبر OpenRouter (يمكن ترقيته لـ 4.8 عند الطلب). disabled toolsets اختيارية: video_gen, x_search, context_engine, homeassistant, spotify, yuanbao.
- TOOLS.md Hermes line حُدّث.
⚙️ Hermes config upgrade (2026-06-29 03:25) — د. وائل approved
- Model: anthropic/claude-opus-4.6 → anthropic/claude-opus-4.8 (via
hermes config set model.default, provider auto → OpenRouter). Verified: hermes status shows Opus 4.8; live hermes -z test returned HERMES_48_OK. OpenRouter confirmed has anthropic/claude-opus-4.8.
- Enabled toolsets: video_gen, x_search, context_engine (
hermes tools enable). Now 20 toolsets enabled.
- Left disabled (need own setup/keys, niche for Dr. Wael): homeassistant (needs HA server), spotify (needs Spotify auth), yuanbao (Chinese model tool).
- TOOLS.md Hermes line updated.
➕ Skill added: code-refactorer (2026-06-29 03:55) — د. وائل approved
- Source: Kings-Of-The-Web/futrx-skills (GitHub, code-refactorer, created 2026-06-23, 33⭐, no license → internal use + attribution). Studied full SKILL.md (294 lines).
- Verdict was ADD (high value, zero risk): architectural refactoring playbook (layered arch + real SOLID + safe-move mechanics + behavior-freeze). Does NOT duplicate ce-simplify-code (that = recent-diff cleanup; this = system-level restructuring).
- Created skills/code-refactorer/SKILL.md (18.8KB, adapted + Arabic) with OUR integration layer: Serena MCP = safe-move mechanism (rename/move symbol-level), TestSprite + existing tests = §11 verify, Opus 4.8 (arch) / GLM-5.2 (bulk), pairs with greenfield (S2), feeds Continuous Improvement (stage 11), git commit-per-move, Arabic reporting.
- Wired into CODING_STRATEGIES.md: new "Refactoring المعماري" subsection + cheat-sheet row.
- Trigger: "أعد هيكلة / نظّف / طبّق SOLID / قسّم god class / decouple".