الانتقال إلى المحتوى

الأدلة الإرشادية

حالات الضمان

حالة الضمان هي حجة فريقك على أن النظام جيد بما يكفي لاستخدام معلن: كل ادعاء، والاستخدام الذي يُقدَّم له، والأدلة التي يستند إليها. تعيش الحالة بجانب سياسة الإصدار في assurance.yaml، فتُراجع في طلبات الدمج، ويقرأ Oloproof كل ادعاء مقابل الأدلة التي يحتفظ بها. ولا يقول أبدًا إن ادعاءً قد ثبت: بل يقول أيّ الادعاءات تستند إلى أدلة حالية ناجحة، وأيّها إلى أدلة فاشلة أو متقادمة أو غائبة، وأيّها إلى افتراضات وحدها.

كتابة الحالة

version: 1
goals:
  - id: G1
    statement: The assistant routes tickets well enough for first-line support
    scope: first-line support tickets in English
    strategy: argue over label accuracy and the misrouting hazard
    reassess_when: [the model changes, a new language is supported]
    goals:
      - id: G1.1
        statement: Labels are accurate
        evidence:
          - rule: label-floor
      - id: G1.2
        statement: Misrouting stays rare
        evidence:
          - hazard: missed-label
          - record: records/release-42.json
        defeaters:
          - id: D1
            statement: Tickets in other languages misroute
            resolved_by:
              - rule: label-floor
                suite: multilingual
      - id: G1.3
        statement: The deployment runs the model that was evaluated
        assumptions: [the model is pinned by digest in the deployment manifest]

الهدف ادعاء. يذكر الهدف في المستوى الأعلى scope الخاص به، أي الاستخدام المقصود الذي يُدّعى له؛ ويرثه الهدف الفرعي. يقول strategy بالكلمات كيف تحاجج الأهداف الفرعية للهدف. يسمّي كل عنصر من evidence واحدًا فقط مما يلي:

  • rule: قاعدة من release.yaml، تُقرأ عند آخر تشغيل لكل نظام على كل مجموعة؛ وتضيّق system وsuite عمليات التشغيل التي تُحتسب؛
  • hazard: خطر من hazards.yaml (سجل المخاطر)؛
  • proof: خاصية شكلية، تُقرأ كما تقرؤها قاعدة البرهان (البراهين الشكلية): آخر نتيجة وصلت للخاصية، وتغلب DISPROVED للنموذج نفسه؛ ويضيّقها model (بصمة) إلى نموذج مصاغ واحد؛ وإلى أن يحتفظ المشروع بنتيجة، لا يدعم الرابط شيئًا؛
  • record: ملف سجل قرار كتبه oloproof record export، بمسار نسبي إلى جذر المشروع.

assumptions هي ما يعدّه الهدف مسلّمًا به. وdefeater سبب قد يجعل الهدف خاطئًا؛ ويبقى مفتوحًا إلى أن تدعمه كل عناصر أدلة resolved_by الخاصة به. ويقول reassess_when ما الذي ينبغي أن يعيد الفريق إلى الهدف.

التحقق منها

oloproof assurance check

يرفض التحقق حالةً تسمّي قاعدة لا تحويها السياسة أو خطرًا لا يحويه السجل، أو لا يذكر هدفها في المستوى الأعلى أي نطاق، وينتهي بالرمز 2. وإلا فإنه يطبع الشجرة، كل هدف بواحد من أربعة أوضاع:

  • supported: كل عنصر من أدلته وكل هدف فرعي يدعمه، على أدلة حالية، ولا يوجد ناقض مفتوح؛
  • undermined: بعض الأدلة يفشل أو متقادم أو مُناقَض، أو هدف فرعي مقوَّض، أو ناقض مفتوح؛
  • assumptions_only: لا شيء يدعمه، وهو يستند إلى افتراضات معلنة؛
  • unsupported: كل ما عدا ذلك، مع تسمية كل ثغرة. الهدف الذي له بعض الدعم وثغرة هو هدف غير مدعوم: فقوة الادعاء بقدر أضعف ما يستند إليه.

تدعم القاعدة هدفًا حين يقول كل تشغيل أخير قرّرها PASS، وتقوّضه حين يقول أيٌّ منها FAIL؛ ولا تدعم INSUFFICIENT_EVIDENCE وMANUAL_REVIEW شيئًا. ويدعم الخطر حين تنجح كل قاعدة تقيسه. وتدعم النتيجة الشكلية حين تكون الخاصية PROVED، وتقوّض حين تكون DISPROVED أو حين تختلف نتيجتان لنموذج واحد؛ والنتيجة تقول ما تثبته عن النموذج المُصاغ شكليًا، لا عن النشر أبدًا. ويدعم السجل حين تظل بصمة محتواه مطابقة لمعرّفه ويكون قراره PASS. والأدلة الآتية من تشغيل لم يعد يطابق المشروع (تغيّر نظامه أو مجموعته أو مُقيِّماته أو سياسته) متقادمة وتقوّض. هذه الأوضاع تخص حالة الضمان، وليست قرارات أبدًا، ولا تغيّر رمز خروج أبدًا. يكتب --json التقرير نفسه لخط معالجة.

أين تظهر

يسجّل oloproof run الحالة مع التشغيل، ويحمل oloproof push حالة التشغيل إلى مساحة عملك مع النتائج الشكلية التي تسمّيها روابط البرهان فيها، ويكتب oloproof export قراءة المحرك لها بجانب الحزم. تعرض صفحة Safety and risk الشجرة مع كل وضع كما كتبه المحرك، وكل قاعدة مرتبطة بأدلتها. في مساحة العمل تُقرأ الحالة مقابل عمليات التشغيل التي أرسلتها بـ push: لا تُقارن الحداثة هناك، إذ لا يوجد ملف مشروع للمقارنة به، ولا يقرأ روابط السجلات إلا oloproof assurance check. يسمّي سجل القرار حالة الضمان التي سجّلها تشغيله؛ ويعرضها record verify على أنها قول الفريق.

إلى أين بعد ذلك