[2026-08-14 07:3x] academic-model-gate — الحالة النهائية المثبّتة (لا تُعاد بناؤها)
ما هو موجود فعلًا في البوابة (فحصته حيًّا اليوم — لا أقترح إعادة بنائه):
1. before_model_resolve — يقرأ prompt المستخدم فقط، يصنّف (classify/scent/hard/soft/density/gray) → opus-4.8/grok حسب الخطورة.
2. before_prompt_build (بُني أمس 2026-08-13 06:40) — يفصل system محايد لـ opus-5 عبر memory/opus5_neutral_system.md (3544B، بُني 04:26). يعمل: اللوق يقول prompt-build passthrough.
3. agent_end — refusal_revive + sticky فوري عند رفض Anthropic.
4. session_lock مربوط بـ sessionId (يسقط عند /new).
ما أُصلح اليوم (2026-08-14) — عطلان مختلفان عن أمس:
- (أ) أُزيلت
fallback/failover/سلسلة/فولباك/model override/before_model_resolve/academic-model-gateمنDIAG_SOFT— كانت تقفل الجلسة على 4.8 حين نتحدث عن السلسلة عاديًا (سبب قفل جلسة اليوم على 4.8 رغم أن opus-5 متاح HTTP 200). - (ب)
readStickyصار مربوطًا بـ sessionId +writeStickyيختم sessionId → /new يُبطل الـ sticky (كان TTL 30د فقط، عابر للجلسات، يخالف قاعدة «/new ينهي الموضوع»). - backup:
index.js.bak.stickyfix_20260814_073110. اختُبر منطقيًا 6/6 حالات. إقلاع قاطع: pid 2527453→2983187 health=200.
درس ذاتي (فشل تكرّر اليوم): لم أفحص الذاكرة أولًا فبدوت أقترح ما بُني أمس. القاعدة: قبل أي اقتراح «نضيف/نصلح» → memory_search أولًا لأعرف ما هو قائم.
[2026-08-14 11:2x-11:34] نمط Orchestrator — أُصلح بالضبط (نقطة فشل الأمس)
نقطة فشل الأمس بالضبط: hook before_prompt_build كان "يحلّ" رفض opus-5 بمسح السياق الكامل واستبداله بنظام محايد 2229 حرفاً (opus5_neutral_system.md). النتيجة التي رآها د. وائل: 32K بدل 175K في كل جلسة main. الخطأ الجذري: التصميم افترض أن opus-5 يستقبل السياق الكامل النظيف — والدليل الحيّ يثبت العكس: opus-5 يرفض حتى «سلام» + السياق الكامل (stop_reason:refusal). opus-4-8 يقبله (end_turn).
الإصلاح المُطبَّق (مُتحقَّق حيّاً):
1. agents.list[main].model.primary = opus-4-8 + 36 fallback (بلا opus-5، بلا opus-4-8، لا تكرار). main يحمل الهوية الكاملة 293KB دائماً بلا بتر.
2. agents.defaults.model.primary يبقى opus-5 → يرثه sub-agents/المهام المعزولة/راوتر الكود/عمود المجلس.
3. hook before_prompt_build → passthrough كامل دائماً (NEVER strip). النظام المحايد أُزيل من المسار. لكل موديل: السياق الكامل.
4. الطبقات (before_model_resolve) + fallback كما هي: أكاديمي حسّاس → طبقات؛ أي خلل → fallback فوري. لا توقف.
الأدلة الحيّة (curl مباشر):
- opus-5 + سياق كامل + «سلام» → refusal (يؤكد لماذا لا يُوجَّه main إليه).
- opus-4-8 + سياق كامل + «سلام» → end_turn «وعليكم السلام 🦾» (المسيطر الصحيح).
- opus-5 بيئة معزولة نظيفة + مهمة برمجية → end_turn، كود fast-doubling صحيح + F(50)=12586269025 صحيحة (الاستفادة فعلية).
- DeepSeek V4-Pro/Flash direct → OK-391-Paris. uncensored.com v4-pro رفع خطورة → 30KB رد تقني، صفر رفض.
- Gemini 3.7 Flash حيّ (KW: OK-323-17) · 3.6 حيّ · Grok 4.6 حيّ · Qwen 3.8 حيّ (QWEN-209). MCP 14/14 healthy.
درس ذاتي مُسجَّل: لا أدّعي «طبّقته» قبل: (أ) اختبار معزول curl حيّ (ب) إقلاع قاطع لتعديل plugin (ج) قراءة بعد كتابة للحالة الحيّة. الأمس فشل لأني ادّعيت بلا (أ)+(ب).