محرك حالة المهارة
محرك حالة المهارة (SSE) هو خط الأنابيب الحتمي الذي يُحوّل أدلة القياس الخام (صفوف θ من جلسات التشخيص واختبارات CBM وأنواع أدلة أخرى) إلى حالات قابلة للتفسير على ثلاثة مستويات: per-sub-skill وper-domain وper-macro-domain. تلك الحالات هي المدخل الرئيسي لـملفات الطلاب.
تُصدر جميع قواعد SSE بتعيين إصدار لها ثم تُجمَّد. لا يُعدَّل إصدار القاعدة المنشور أبداً؛ يُستعاض عنه فقط بإصدار جديد. هذا العقد (النشر ثم التجميد) هو ما يجعل إعادة التدقيق V-6 ممكنة: تُعيد جولة الإعادة تنفيذ إصدار القاعدة الذي كان فعّالاً حين اتُّخذ القرار الأصلي.
خط الأنابيب الخماسي الطبقات
يعالج SSE الأدلة عبر خمس طبقات متتالية. كل طبقة تقرأ فقط من مدخلاتها وتكتب فقط إلى مخرجاتها المخصصة. لا توجد قنوات خلفية بين الطبقات.
أدلة واردة
│
▼
[ADR] قواعد قرار التقييم (ADR-01..ADR-12)
│ استجابة خام → Final_Status_Code
▼
[FSC] Final_Status_Code (12 كوداً)
│
▼
[PAC/CIS] التأكيد الواعي بالأنماط (PAC-01..PAC-13 + CIS-01..CIS-04)
│ يؤكد أو يحجب FSC بناءً على أنماط متقاطعة
▼
[SSR] Skill_Status_Rules_v2 (SSR-01..SSR-12)
│ → 9-قيم SkillStatus + confidence + decision_strength
▼
[DDR] Domain_Decision_Rules_v2 (DDR-01..DDR-10)
│ → 9-قيم DomainStatus
▼
[DSM] Domain_Status_To_Macro_Map (DSM-01..DSM-09)
│ → حالات الألواح للنطاق الكلي (DSM يُصدر مباشرةً 5؛ Severe عبر التصعيد)
▼
حالة مُخرجة → ملفات الطلابالطبقة 1: ADR (قواعد قرار التقييم)
تُصنّف القواعد ADR-01 إلى ADR-12 كل استجابة بخصائصها السلوكية. هي ميكانيكية بحتة: نظراً
لسجل استجابة، تُخرج قاعدة ADR Final_Status_Code. لا تُطبَّق منطق النطاق أو سياق الأنماط
في هذه الطبقة.
الطبقة 2: FSC (كود الحالة النهائية)
يوجد 12 كوداً للحالة النهائية. هي معرّفات داخلية، لا تُعرض في أي سطح موجّه للطالب أو الوالد.
الطبقة 3: PAC/CIS (التأكيد الواعي بالأنماط)
تفحص قواعد PAC (PAC-01..PAC-13) ما إذا كان FSC من الطبقة 2 متسقاً مع نمط الأدلة الأشمل
للطالب والمهارة الفرعية. تتولى قواعد CIS (CIS-01..CIS-04) الفحوص الفرعية لاتساق البنود
المتقاطعة. يمكن لقاعدة PAC أن تؤكد FSC أو تحجبه في انتظار مزيد من البيانات أو تُفعّل المشعر
do_not_decide_yet.
الطبقة 4: SSR (قواعد حالة المهارة)
تُركّب SSR-01 إلى SSR-12 الحالة المؤكدة في SkillStatus ذات 9 قيم، مع تقييم confidence
وdecision_strength. قيم SkillStatus التسع هي:
| SkillStatus | المعنى |
|---|---|
adequate | المهارة في المسار الصحيح |
monitor | المهارة قيد المتابعة لكنها ليست مصدر قلق بعد |
weak_isolated | ضعف في هذه المهارة وحدها |
monitor_gateway | مهارة بوابة قيد المراقبة |
weak_gateway | مهارة البوابة ضعيفة |
weak_domain_related | ضعف مرتبط بنمط النطاق |
broad_weakness_related | جزء من ضعف أشمل عبر النطاقات |
cautionary_weakness_with_metadata | ضعف مُلاحظ مع سياق إضافي |
contextual_review | يتطلب مراجعة سياقية من المعلم |
الطبقة 5: DDR وDSM
تجمع DDR-01 إلى DDR-10 حالات per-skill داخل نطاق في إحدى قيم DomainStatus التسع (نفس
المفردات كـ SkillStatus). ثم تُربط DSM-01 إلى DSM-09 حالات النطاقات بحالات الألواح للنطاق
الكلي. تُصدر DSM مباشرةً خمس قيم: Meets وApproaching وBelow وPartial وContextual.
Severe ليست إصداراً مباشراً من DSM؛ تُنتَج فقط عبر مسارَي التصعيد في الطبقة الخامسة
الموصوفَين أدناه. Not_Assessed هو القيمة الافتراضية للتجميع ولا تُصدَر أبداً من DSM.
كيف تُنتَج Severe
Severe ليست أبدًا إصدارًا مباشرًا من DSM. تُنتَج فقط عبر مسارَي تصعيد في الطبقة الخامسة
(l5-dsm.ts)، وفق إجابات الشريك الرئيسية Q1/Q3 (2026-06-21):
- المسار A — شدّة البوابة: شدّة بوابة
≥ DTH-SEV-01على نطاقgateway_driven_domain_concern. - المسار B — العجز الموزون:
weighted_deficit_rateالخام≥ DTH-DEF-03(50%) على نطاق متماسك أو واسع أو بوابة وله دليل صالح.
وهي صراحةً ليست قائمة على العدّ أبدًا ولا على المئينات أبدًا.
DDR-LC: تحسين متقاطع النطاقات لنطاق COMP (FR-SSE-21)
بعد تنفيذ DDR القياسي، يخضع نطاق COMP (فهم القراءة) لفحص إضافي متقاطع النطاقات مقارنةً
بحالتَي نطاق LISTEN والنطاقات التأسيسية. تُصنّف أربع قواعد DDR-LC (DDR-LC-01..DDR-LC-04)
نمط الفهم إلى إحدى قيم CompDiagnosticPattern الخمس:
| النمط | المعنى |
|---|---|
decoding_bottleneck | فجوة الفهم مدفوعة أساساً بصعوبة فك التشفير |
language_bottleneck | فجوة الفهم مدفوعة أساساً بضعف لغوي |
combined_dual_bottleneck | كلٌّ من فك التشفير واللغة يُسهمان في الفجوة |
text_strategy_bottleneck | الأدلة تشير إلى فجوة في استراتيجية النص لا في الأساسيات |
inconclusive_needs_more_data | النمط متقاطع النطاقات غير واضح؛ مطلوب مزيد من الأدلة |
تُرفق DDR-LC أيضاً compRoutingHint يقرأه موصي حزمة التدخل عند اختيار حزمة مجاورة لـ COMP.
يظهر كلا الحقلَين في DTO حالة النطاق المُرجَعة بواسطة GET /api/sse/students/{id}/domain-status.
مشعر do_not_decide_yet
do_not_decide_yet هو إيقاف كامل. حين يُصدر SSE هذا المشعر لتركيبة طالب × مهارة فرعية،
يجب على جميع المستهلكين اللاحقين التوقف فوراً. محرك الملف الشخصي وموصي حزم التدخل
ولوحة معلومات المعلم وأي سطح تقارير يجب أن يعامل هذا الطالب على أنه “بيانات إضافية مطلوبة”
لا كحالة بعينها.
لا يوجد مسار PATCH أو تجاوز لإلغاء do_not_decide_yet على مستوى API. يُلغى تلقائياً حين
تتراكم أدلة كافية في نافذة تقييم لاحقة.
يُفعَّل المشعر بسبب:
- أدلة مقارنة غير كافية (GSR-01: أقل من الحد الأدنى من البنود المتميزة المُسجَّلة)
- تعارضات قاعدة التعادل حين يشير مصدرا أدلة بالوزن ذاته في اتجاهين متعاكسين دون إمكانية فضّ التعادل
عند وجود do_not_decide_yet تُرجع API قيمة nextRecommendedDataAction تصف جمع البيانات
الذي سيُحل الإيقاف.
بيانات التعريف السلوكية للاستجابة (RBM)
يجمع SSE أيضاً بيانات التعريف السلوكية للاستجابة (RBM-00..RBM-11) جنباً إلى جنب مع كل
جولة تسجيل. تُسجّل علامات RBM مجموعة من إشارات التطبيق (التخمين السريع، وتكرار اختيار
الخيار نفسه، وملاحظات المعلم السياقية، وما شابه ذلك). تُفعَّل RBM-08 تحديداً حين يُسجّل
المعلم علامة سياقية مضبوطة عبر قاموس علامات السياق (FR-SSE-20). جميع علامات RBM داخلية
فقط: تُعلم مراجعة المعلم لكنها لا تُعدّل درجة أو حالة قط (scoreImpact: None مُفرض على
كل صف RBM). لا تُعرض أبداً للطلاب أو الوالدين.
مهارات البوابة واستثناء الدقة العربية
يطبّق SSE تصنيف البوابة من تصنيف المهارات في طبقة DDR.
يُصعّد weak_gateway أو monitor_gateway للـ SkillStatus نتيجة DDR للنطاق المحيط.
تُستثنى صراحةً مهارات المؤشر الفرعي للدقة العربية (الشدة، التنوين، المد، علامات الحركات
القصيرة والسمات الإملائية المرتبطة) من مسارات التصعيد عبر البوابة، يُفرض هذا الاستثناء
بـ FR-SSE-10. الضعف في إحدى هذه المهارات يُنتج المُعدِّل ARABIC_ACCURACY_ONLY_MONITOR
على ملف الطالب بدلاً من تصعيد النطاق.
التعيين بإصدار والإعادة V-6
تُنشر القواعد برقم إصدار عبر نقطة نهاية الخلفية. يُجمَّد الإصدار المنشور فوراً؛ لا يُسمح
بأي تعديلات. تصل القواعد الجديدة كإصدار جديد. تحمل جميع جداول قواعد SSE (skill_status_rules
وdomain_decision_rules وdomain_status_macro_map) قيد version + @@unique([key, version])
بحيث تظل الإصدارات التاريخية قابلة للاستعلام.
تُطبع كل صف مُخرَج من SSE بـ ruleVersion الذي استخدمه. نقطة النهاية
POST /api/sse/admin/dry-run-replay (مقيّدة بالخلفية، صلاحية RUN_BACKOFFICE) تقبل
{studentId, evidenceWindow, proposedVersions?} وتُعيد اشتقاق حالات per-skill مقابل
إصدارات القواعد المقترحة دون كتابة أي صفوف. في حال اختلاف الحالات المشتقة عن اللقطة
المخزّنة، يُسجّل سجل التدقيق التناقض؛ هذا هو فحص النزاهة V-6.
كيف يرتبط SSE بملفات الطلاب
يكتب SSE صفوف حالة per-sub-skill وper-domain. تقرأ وحدة ملف الطالب تلك الصفوف وتقوم بما يلي:
- تطبيق قواعد منع التداخل (AO-01..AO-04) لاختيار ملف أساسي واحد تحديداً
- إرفاق الملفات المُعدِّلة (بما فيها
ARABIC_ACCURACY_ONLY_MONITORمن الاستثناء) - اشتقاق العلامات الفرعية (
AR_MADD_FLAGوVOCAB_ALERTوغيرها) - اختيار قالب سرد SPOT
- إرجاع الملف لمراجعة المعلم (الحالة الأولية
pending_teacher_review، وفق V-12)
جسر القياس
التشخيص المُنتهي يُحفِّز projectBridge، الذي يُوزِّع recomputeForEvidence مرّةً لكل
مهارة فرعية ثم يُشغِّل recomputeMacroForStudent مرّةً واحدة. ويعيش الكاتب الكلي
(writeMacroSnapshot) في snapshot-writer.ts بهذه الوحدة، فيملك SSE الإسقاط الذي يملأ
الألواح الكلية الستة وصف GLOBAL الميتا عند الانتهاء. ولسلسلة التحفيز وشكل evidence_row
وعقد مفتاح المعرِّف والحتمية انظر دليل جسر القياس.
أبرز واجهات API
يعرض SSE 5 نقاط نهاية قراءة للمستهلكين (معلم أو مدير، VIEW_OWN_CLASSES OR RUN_BACKOFFICE)
و2 نقطتَي نهاية للمدير فقط (RUN_BACKOFFICE). تُرجع أسطح القراءة للمستهلكين لقطات حالة
المهارات المحلَّلة، ولقطات حالة النطاقات، وسجل تصنيف الأنماط، وسجلات السلوك، وطبقات
قواعد الإعداد. تنشر نقاط نهاية المدير إصدارات قواعد جديدة وتُنفّذ عمليات إعادة تجريبية.
للاطلاع على قائمة نقاط النهاية الكاملة انظر مرجع API (tag skill-status-engine).
الأنظمة المرتبطة
- تصنيف المهارات: يُعرّف علامات البوابة ومؤشرات الدقة العربية التي يستخدمها SSE
- ملفات الطلاب: المستهلك المباشر لمخرجات حالة SSE
- حزم التدخل: اختيار الحزمة يعتمد على الملف الذي يعتمد على SSE
- مراقبة التقدم: قواعد السلامة GSR (GSR-01..GSR-05) تنطبق على قرارات SSE
- محرك القرار: نظرة عامة مفاهيمية على خط الأنابيب الكامل
- قاموس المصطلحات: SkillStatus (9) وDomainStatus (9) وdo_not_decide_yet ومهارة البوابة وRBM