Skip to Content

سير عمل تفعيل المعلم

سير عمل تفعيل المعلم (WP-TAW) هو آلة حالات من 17 خطوة موجَّهة تقود المعلم من رؤية توصية حزمة الدعم وصولاً إلى مراجعة الخطة والخروج منها. تمثّل هذه الوحدة طبقة تنسيق صرفة، لا تضيف أي منطق قرار جديد، بل تنسّق بين محركات الحزم والتجميع والمراقبة المبنية مسبقاً.

يتّبع سير العمل المبدأ المنصوص عليه في V-12: النظام يقترح، والمعلم يقرّر. كل إجراء جوهري يستلزم اختياراً صريحاً من المعلم.

الأسطح الستة المسمّاة للواجهة

السطحالغرض
لوحة التوصياتتعرض توصيات حزمة الدعم النشطة للفصل (توصية واحدة لكل طالب) المستمَدّة من محرك الملفات الشخصية
لوحة التجميع الذكيتعاين الطلاب الذين يمكن تجميعهم معاً (نفس الحزمة، والمهارة الأساسية، ومستوى الدعم، وأسلوب التقديم)
معاينة توزيع مستويات الدعميعرض توزيع المستوى_1 / المستوى_2 / المستوى_3 عبر المجموعة قبل أن يُقرّ المعلم التفعيل
مراجعة التفعيلخطوة التأكيد لكل عضو؛ يمكن للمعلم تطبيق تعديلات لكل عضو (قواعد OVR_*) قبل الاعتماد النهائي
تأكيد التفعيلالاعتماد النهائي؛ يُشغّل التفعيل الجماعي عبر مسار الكتابة الموجود في وحدة التجميع
مراجعة الخطة والخروجالسطح المستمر الذي يعود إليه المعلم لمتابعة حالة المراقبة وحل التنبيهات والاستمرار في الخطة أو الخروج منها

آلة الحالات من 17 خطوة (TAW_01..TAW_17)

تكتسب مسارات الكتابة الفردية (المراجعة والخروج) قفلاً استشارياً لكل (org, bundleAssignment)؛ والتعيينات المستقلة لا تعطّل بعضها. أما مسار التفعيل الجماعي فيفوّض المعاملة الكاملة إلى كاتب المجموعة الذي يمتلك قفله الخاص لكل (org, class). تُنفَّذ كل خطوة عبر التفويض إلى الكاتب المنشور ذي الصلة. لا يُدخل هذا الوحدة أي مسار كتابة جديد، وتبقى قواعد الكشف عن مسار الكتابة الفردي الخمسة (bundle-assignment, cluster-result, monitoring, وما شابه) خضراء.

تجميع الخطوات (خريطة STEP_STAGE القانونية):

  1. مرحلة المراجعة (TAW_01..03): تحميل التوصيات، والتحقق من الضمانات، وعرض لوحة التوصيات.
  2. مرحلة التجميع (TAW_04..06): حساب المجموعات، وعرض معاينة توزيع مستويات الدعم، والسماح للمعلم بتعديل العضوية.
  3. مرحلة التفعيل (TAW_07..12): مراجعة التفعيل، وتأكيد OVR لكل عضو، ثم إمّا إقرار حزمة (TAW_11 جماعي / TAW_12 فردي) أو تسجيل توجيه من غير الحزم (TAW_12). راجع ناتجَي التفعيل أدناه.
  4. مرحلة المراقبة (TAW_13..14): قراءة حالة الخطة، وسطح التنبيه الحاد.
  5. مرحلة القرار (TAW_15..17): TAW_15 حل تنبيه الانتكاس الحاد، TAW_16 انتقال حالة الخطة، TAW_17 الخروج.

استمرارية المسودة

صف workflow_draft (واحد لكل (org, teacher, class)) هو الجدول المتغيّر الوحيد الذي تمتلكه وحدة سير العمل. ولهذا الصف مهلة 7 أيام (انتهاء صلاحية ناعم عبر last_write_wins upsert). يقطن كل سجل تدقيق في teacher_action_log وbundle_assignment_history.triggeringWorkflowStep، لا في المسودة قط.

تدفقات الضمانات الثلاثة

تُطبَّق هذه الضمانات عند حدود سير العمل ولا يمكن تجاوزها بأي رمز تجاوز.

الضمانةالمشغِّلاستجابة النظام
أدلة غير كافيةتحمل توصية الطالب do_not_decide_yetيُحظر التفعيل (409)؛ يُحوَّل الطالب إلى دلو “يحتاج مزيداً من البيانات” ويُستبعد من أي مجموعة
الانتكاس الحاديوجد acute_regression_alert مفتوح للطالبيجب على المعلم حل التنبيه أولاً (/api/workflow/review): إما بالرفض مع علامة سياق، أو بالتصعيد لترشيح مراجعة المستوى. لا تُعدَّل حالة الخطة تلقائياً أبداً (GSR-02)
بيانات غير مكتملةاستثنى محرك التجميع الطالب عبر QA_003يُؤجَّل الطالب؛ يستمر التفعيل لبقية أعضاء المجموعة

رموز التجاوز وعلامات السياق

عندما يُعدّل المعلم توصية ما، يجب أن يأتي السبب من 9 رموز في كتالوج التجاوز، ولا يُقبل النص الحر أبداً. يُطبَّق النطاق المعمول به على مستوى واجهة برمجة التطبيقات (SCOPE_MISMATCH → 400 عند استخدام رمز إنهاء الحزمة على مسار غير مناسب، وما إلى ذلك).

تستخدم علامات السياق قاموس ContextFlagId المغلق (7 رموز مسموح بها: CTX_SESSION_INTERRUPTED, CTX_TECHNICAL_ISSUE, CTX_AUDIO_PROBLEM, CTX_GROUP_NOT_COMPLETED, CTX_STUDENT_ABSENT, CTX_NEEDED_REPETITION, CTX_PAPER_CHECK_ADMIN). تُسجَّل علامة السياق في context_flag_log فحسب، ولا تُخزَّن أبداً على صف التنبيه ذاته.

أي انحراف عن مستوى الدعم الموصى به يستلزم confirmed: true في جسم الطلب، وإلا أعاد الخادم 409 CONFIRMATION_REQUIRED.

ناتجا التفعيل (R12 Tier-D، D-015)

صار POST /api/workflow/activate يُحَلّ إلى أحد ناتجين بحسب نوع كائن التوصية. وهذا يحلّ محلّ مسار NO_BUNDLE_SYSTEM_GUARD المُلغى: لم تعد التوصيات من غير الحزم تُنشئ تعيينًا بديلًا.

الناتجمتىما الذي يُكتبشكل الاستجابة
kind="activated"التوصية حزمة حقيقية INTERVENTION / COMPOSITE (recommended_bundle_id غير فارغ)صف bundle_assignment واحد + صفوف السقالةbundleId + activated[]، وrouting: null
kind="routed"التوصية كائن من غير الحزم (recommended_bundle_id فارغ NULL)لا يُكتب bundle_assignment، ولا سقالة؛ يُلحَق رمز التوجيه/الإجراء المضبوط بـ teacher_action_log (actionType='individual_routing'، وworkflowStep TAW_12)routing: { studentId, objectType, routingOutcome }، وbundleId: null، وactivated: []

يُعيد كلا الناتجين رمز HTTP 200. ولا يحمل ناتج التوجيه إلا رموز BundleObjectType ورموز توجيه/إجراء مضبوطة — لا نص حر أبدًا.

مستوى الاستجابة للتدخل التعليمي

وحدة سير العمل لا تكتب مستوى RTI أبداً. التصعيد / خفض المستوى مملوكان لوحدة RTI المستقلة. مسار التصعيد في سير العمل يفتح ترشيح TeacherReviewRequest فحسب؛ أما TierReviewRequest الرسمي وapplyDecision() فيقعان في محرك RTI.

نقاط نهاية واجهة برمجة التطبيقات (7)

جميع المسارات تستلزم مصادقة المعلم ونطاق ClassTeacher.

الأسلوبالمسارالغرض
GET/api/workflow/stepsتحميل تعريفات الخطوات الـ 17 (مثبّتة الإصدار)
GET/api/workflow/recommendations/:classIdجلب توصيات الفصل (مصدر بيانات لوحة التوصيات)
GET/api/workflow/draft/:teacherId/:classIdاستئناف مسودة قيد التنفيذ
POST/api/workflow/save-draftاستمرار حالة المسودة (upsert بمهلة 7 أيام)
POST/api/workflow/activateإقرار التفعيل — إمّا تعيين حزمة (kind="activated") أو تسجيل توجيه من غير الحزم (kind="routed")؛ راجع “ناتجا التفعيل” أعلاه
POST/api/workflow/reviewحل تنبيه الانتكاس الحاد (رفض أو تصعيد)
POST/api/workflow/exitإنهاء / إغلاق الخطة

للاطلاع على أشكال الطلب والاستجابة الكاملة، راجع مرجع واجهة برمجة التطبيقات.

أدلة ذات صلة