اصطلاح — انضباط التدقيق-أولًا
ما هو
العملية الهندسية التي تسير بها جولات ManpowerIQ: كل مرحلة من ميزة مبوَّبة بتدقيق للقراءة فقط قبل بدء المرحلة التالية. يتحقّق التدقيق من الخطة مقابل الشيفرة/المخطط الحقيقيين، ويسجّل قرارات مرقّمة، ويُعلِّم أي شيء غير مؤكّد — ولا تتقدّم مرحلة إلّا حين يُوقَّع على تدقيقها وقرار-بنائها. هذا اصطلاح عملية، لا نمط شيفرة، لكنه سبب الوثوق بادّعاءات قاعدة الشيفرة.
متى ينطبق
على أي تغيير غير تافه يُدار كجولة متعدّدة المراحل (MIQ-131/132/133، الجولة Sprint 10/11، RosterPublishApproval، عناصر PB، و — بوضوح — جهد الويكي هذا نفسه). كل انتقال مرحلة (0→1→2→3) بوّابة.
دورة الحياة
- المرحلة N — البناء. نفّذ المرحلة؛ شغّل الاختبارات محليًا.
- المرحلة N — التدقيق (للقراءة فقط). أنتج
Phase_N_AuditReport.md(أوBuildDecision) يسجّل: - حالة البناء — البناء أخضر، اكتساح الاختبارات نجاح/فشل (أو تخطيات مُوثَّقة).
- قرارات مرقّمة — كل تغيير
Decision #X، مُستشهَدًا بالشيفرة/الاختبار الذي يجسّده. - الانحدارات المفحوصة — مُتحقَّق منها مقابل المرحلة السابقة.
- قائمة "do NOT assume" — عناصر غير مؤكّدة يجب أن تتحقّق منها المرحلة التالية قبل الاعتماد عليها.
- فحوص الواقع — تناقضات بيانات/شيفرة تُطفَأ على السطح بدلًا من "إصلاحها" بصمت.
- مراجعة المهندس المعماري. يُراجَع التدقيق؛ عند الموافقة يسجّل
Phase_N_BuildDecision.mdالمضيّ قدمًا إضافةً إلى أي قيود لـ N+1. - تبدأ المرحلة N+1 فقط بعد التوقيع على تدقيق N + قرار-بنائها.
التدقيق للقراءة فقط: يتحقّق المدقّق مقابل الهجرات وإعدادات EF ومصدر الخدمة — مُستشهِدًا بـ file:line — وحيث تناقض الشيفرة الموجز، تفوز الشيفرة وتُعلَّم. تُسلَّم SQL التحقّق إلى المطوّر ليشغّلها؛ لا يُغيِّر المدقّق قاعدة البيانات.
لماذا بُني بهذه الطريقة
يلتقط الانضباط الافتراضات الخاطئة عند أرخص لحظة. مثال حقيقي: استعلام تعريف-نشر للمرحلة Phase-0 استخدم ar.state = 4 (عدد صحيح) لجولات التخصيص، لكن الجولات تخزّن الحالة كسلسلة ('Locked')؛ التقطت بوّابة التدقيق ذلك قبل أن تبني عليه المرحلة Phase 1، فصُحِّح وأُعيد التحقّق منه (تدقيق المرحلة Phase 1 للجولة Sprint 11). دون البوّابة، لكان الخطأ انتشر.
مزالق / قيود
- تحجب بوّابات التدقيق التقدّم. إذا وجد تدقيق مرحلة عيبًا، لا تبدأ المرحلة التالية حتى يُصلَح ويُعاد تدقيقه. لا تدفع قدمًا بنيّة "إصلاحه لاحقًا".
- قوائم "do NOT assume" حمّالة. تسمّي نقاطًا معمارية غير مؤكّدة؛ يجب أن تتحقّق منها المرحلة التالية قبل التوصيل مقابلها.
- القرارات غير قابلة للتغيير بعد التوقيع. إذا وجدت مرحلة لاحقة أن قرارًا أسبق كان خاطئًا، تودِع قرارًا جديدًا ناسخًا مُستشهِدًا بالاكتشاف — لا تعيد كتابة القديم بصمت.
- لا يكتب المدقّق شيفرة إنتاج ولا يشغّل هجرات — إنه تمريرة تحقّق، مفصولة عمدًا عن البناء.
حالة البناء
Available — الانضباط مرئي في أنحاء Sprint/ (سلاسل *_AuditReport.md، و*_BuildDecision.md، وPhase*_Decisions.md لـ MIQ-131/132/133، والجولة Sprint 10/11، وRosterPublishApproval، وعناصر PB).
ذات صلة
- انضباط §G — قاعدة قرار-الاستخراج التي تطبّقها تلك التدقيقات.
- أنماط الاختبار — ما تفحص التدقيقات أن تفعله الاختبارات.
- المصدر: سلاسل تدقيق/قرار
Sprint/(مثلًاMIQ-131_Phase0_Decisions.md،Sprint11_Phase1_Audit.md،RosterPublishApproval_Phase0_AuditReport.md).