diff --git a/docs/REMAINING_TASKS_AFTER_MIGRATION.md b/docs/REMAINING_TASKS_AFTER_MIGRATION.md new file mode 100644 index 0000000..4cc6eb9 --- /dev/null +++ b/docs/REMAINING_TASKS_AFTER_MIGRATION.md @@ -0,0 +1,75 @@ +# المهام المتبقية بعد اكتمال migrations + +آخر حالة مؤكدة على الخادم: + +- جميع migrations الحالية: `APPLIED`. +- `backfill_curriculum_identity.php`: وجد 74 درسًا، منها 55 قابلة لطابور المراجعة و19 مرجعًا ناقصًا. +- لا توجد تعارضات هوية. +- API health يعمل بحالة HTTP 200. +- لا يوجد اعتماد تلقائي للمحتوى؛ الدروس والأصول تبدأ `unverified/draft`. + +## P0 — اعتماد المحتوى الحقيقي + +- [ ] مراجعة الـ55 درسًا القابلة للمراجعة، مع التحقق من الصف والمبحث والفصل والوحدة والدرس ونسخة المنهج. +- [ ] اعتماد ملفات Markdown التي اجتازت المراجعة فقط. +- [ ] معالجة الـ19 مرجعًا الناقصًا في manifest أو إبقاؤها غير متاحة بوضوح. +- [ ] إنشاء publication bundle لكل درس مع Markdown وPDF وworksheet وmindmap المتوفرة فقط. +- [ ] اختبار أن الدرس غير المنشور لا يظهر كفيديو أو مصدر قابل للفتح. + +## P0 — دورة فيديو المعلم + +- [ ] ربط تطبيق المعلم بـpreflight و`Idempotency-Key`. +- [ ] اختبار الحصة الأولى، ثم منع الحصة الثانية، ثم إنشاء replacement candidate. +- [ ] رفع النسخة وربطها بـ`video_version_id` فقط. +- [ ] إدخال transcript وvisual evidence وcoverage للفحص. +- [ ] اعتماد قرار مراجع بشري ثم اختبار النشر الذري مع تعارض النسخة الحالية. + +## P1 — تجربة الطالب + +- [ ] اختبار درس بلا حصص. +- [ ] اختبار درس بحصة واحدة وفتح مباشر. +- [ ] اختبار درس بعدة حصص وقائمة المعلمين بالتقييم الموثق. +- [ ] اختبار منع كشف المعلم أو العدد لطالب غير مصرح. +- [ ] اختبار جلسات المشاهدة والـheartbeat والـseek والـend وتسلسل الأحداث. +- [ ] إضافة أسئلة Socratic بعد توفر transcript وMarkdown bindings المعتمدين. + +## P1 — موارد وحزمة الإنجليزية + +- [ ] زرع حزم English المنشورة من الكتاب الفعلي. +- [ ] مراجعة الترجمة والقواعد والصوت وIPA قبل اعتمادها. +- [ ] ربط PDF الكتاب وورقة العمل Markdown والخريطة الذهنية كأصول مستقلة. +- [ ] إضافة remediation plans مبنية على learning attempts حقيقية. +- [ ] اختبار عدم ظهور أي محتوى إنجليزي بديل عند غياب الحزمة. + +## P1 — لوحة المدرسة وولي الأمر + +- [ ] استبدال آخر بيانات العرض الثابتة ببيانات قاعدة البيانات. +- [ ] اختبار ربط ولي الأمر بالطالب وصلاحيات القراءة. +- [ ] فصل تقارير المدارس عن السوق المستقل. +- [ ] اختبار الصفوف والمديريات والصلاحيات. + +## P2 — المال والدفع + +- [ ] تثبيت سياسة تجارية مكتوبة لسعر الدقيقة ونسبة الصندوق وفترة التسوية. +- [ ] اختبار ledger وholds وreversal في قاعدة staging. +- [ ] اختيار مزود دفع وتحويل حقيقي وقناة sandbox. +- [ ] بناء webhook موقّع وتسوية قابلة للتتبع. +- [ ] إضافة تأكيد بصمة/Face ID على الجهاز دون تخزين بيانات بيومترية. + +## P2 — الاختبارات والإطلاق + +- [ ] أخذ backup واستعادة تجريبية لقاعدة staging. +- [ ] تشغيل اختبارات PHP وFlutter وتكامل MySQL. +- [ ] اختبار 12 درسًا حقيقيًا من الصف العاشر. +- [ ] فحص cron وWebSocket وhealth endpoints. +- [ ] مراجعة أمنية نهائية للمال والصلاحيات والنشر. +- [ ] قرار إطلاق محدود بعد نجاح جميع بوابات القبول. + +## ترتيب الجلسة القادمة + +1. اعتماد أول حزمة محتوى حقيقية من الـ55. +2. ربط تطبيق المعلم بدورة preflight/رفع/فحص. +3. اختبار حالات صفر/واحد/متعدد في الطالب. +4. تشغيل جلسات المشاهدة على staging. +5. بناء حزم الإنجليزية والموارد. +6. تثبيت السياسة التجارية قبل أي تفعيل مالي.