{
  "objective": "Build Aristotle into a complete website that satisfies DEFINITION_OF_DONE.md, including UK education coverage from EYFS through A-Level with age-scoped user experiences and running-app validation.",
  "criteria": [
    {
      "key": "analytics",
      "section": "Beta Definition of Done",
      "requirement": "Admins and educators can inspect progress and analytics showing where students struggle.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Educator view, learner model, aggregate analytics, cohort trend rows, operations and records pages expose progress, struggle patterns and longitudinal learning signals.",
      "gap": "Needs richer charting and school/cohort filters once real beta cohorts exist.",
      "artifact": "core/templates/core/learning_analytics.html, core/analytics.py"
    },
    {
      "key": "multi-evidence-comprehension",
      "section": "Comprehension measurement",
      "requirement": "Assessment uses recall, fluency, explanation, transfer, error correction, confidence calibration, teach-back and retention evidence.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Evidence dimensions, stored rubric signals and mastery review tasks cover recall, procedural fluency, explanation, application, transfer, error correction, teach-back, confidence calibration and explicit retention_check evidence; accepted psychometric validations recorded=0.",
      "gap": "Validated item difficulty, real delayed learner data and subject-specific rubric review remain external calibration gates.",
      "artifact": "LearningEvidence.evidence_dimension, LearningEvidence.rubric_signals, core/learning.py, /validation/"
    },
    {
      "key": "dod-file",
      "section": "Definition artifact",
      "requirement": "The repository has an explicit Definition of Done that governs Aristotle readiness.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "DEFINITION_OF_DONE.md exists in the repository.",
      "gap": "",
      "artifact": "DEFINITION_OF_DONE.md"
    },
    {
      "key": "structured-learner-model",
      "section": "Learner model",
      "requirement": "Learner state is structured, inspectable, queryable and actionable rather than a chat-history blob.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "StudentProfile, ConceptProgress, LearningEvidence, learner model pages, five-question report and learner-model JSON expose structured strengths, gaps, rubric signals, confidence, frustration, retention, learning gain and next actions; accepted psychometric validations recorded=0.",
      "gap": "Psychometric validation and longitudinal learner studies remain separate external evidence gates.",
      "artifact": "core/models.py, core/learning.py, /learner-model/data/, /learner-model/questions/"
    },
    {
      "key": "adaptive-lesson-loop",
      "section": "Lesson quality",
      "requirement": "Lessons teach, ask the student to do something, interpret the answer and decide whether to remediate, stretch, review or move on.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Lesson views include objective, prerequisite checks, explanation, worked example, guided practice, independent practice, misconception probe, summary, hints, evidence capture, safety handling, targeted feedback plans and next-action updates.",
      "gap": "Subject-expert review of explanations, examples and lesson variants remains the production trust gate.",
      "artifact": "adaptive_lesson_blueprint, targeted_feedback_plan, lesson.html"
    },
    {
      "key": "mvp-gate",
      "section": "MVP Definition of Done",
      "requirement": "A new student can choose any stage/subject, complete diagnostics and adaptive lessons, see mastery maps, learning gain and progression links.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "This is an implementation-readiness signal, not proof that the full definition of done is complete.",
      "gap": "MVP implementation signal is not proof of expert-reviewed content or real student outcomes.",
      "artifact": "core/readiness.py"
    },
    {
      "key": "evidence-backed-mastery",
      "section": "Mastery states",
      "requirement": "Concept mastery states move from unseen to mastered based on evidence, not lesson completion alone.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "ConceptProgress stores the full mastery-state ladder; update_progress now gates transferable, retained and mastered states on varied clean evidence dimensions, no scaffolding, delayed retention evidence and no active misconceptions.",
      "gap": "Threshold calibration against live learner data remains a psychometric and outcome-study gate.",
      "artifact": "ConceptProgress, update_progress, mastery_evidence_profile"
    },
    {
      "key": "evidence-driven-personalization",
      "section": "Personalization",
      "requirement": "Personalization changes learning path, strategy, assessment and readiness decisions, not just tone or examples.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Learning path, next actions, targeted feedback plans and lesson assessment dimensions adapt to evidence, missing mastery dimensions, misconceptions, confidence calibration, scaffolding, frustration, pace and practice preferences.",
      "gap": "Controlled learner studies showing personalization improves outcomes remain part of beta and retained-learning validation.",
      "artifact": "adaptive_assessment_plan, targeted_feedback_plan, learning_path_for_profile, core/learning.py"
    },
    {
      "key": "five-learning-questions",
      "section": "Product definition",
      "requirement": "Aristotle can answer what the student understands, misses, should learn next, which teaching approach fits and whether comprehension improved.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Dedicated five-question report and JSON export answer the product contract from learner-model evidence, learning path, teaching-strategy signals, learning gain and retention summaries; accepted outcome studies recorded=0.",
      "gap": "Reliability of those answers across real learners remains covered by the beta, psychometric and retained-learning validation gates.",
      "artifact": "learning_question_insights, /learner-model/questions/, /learner-model/questions.json"
    },
    {
      "key": "student-experience",
      "section": "Student experience",
      "requirement": "A learner can onboard, take diagnostics, see a learning path, complete lessons, receive feedback, continue later and revisit concepts.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Core onboarding, diagnostic, dashboard, lesson, scaffolded lesson-session resume, mastery review, account persistence and retention queue flows are implemented.",
      "gap": "Needs broader usability testing with students across ages and access needs.",
      "artifact": "core/views.py, core/templates/core/"
    },
    {
      "key": "subject-fundamentals",
      "section": "Subject fundamentals",
      "requirement": "Every claimed subject/stage has core concepts, prerequisites, misconceptions, representative problems, mastery signals, remediation and extension paths.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Structural curriculum audit passed: 0 missing metadata items.",
      "gap": "Structural completeness is not the same as content accuracy; expert review remains incomplete.",
      "artifact": "audit_curriculum command"
    },
    {
      "key": "browser-validation",
      "section": "UI validation and browser testing",
      "requirement": "Meaningful UI changes are validated by running the app and interacting in browser across desktop and mobile.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "14 clean browser validation run(s) recorded; desktop=True, mobile=True; required flows covered=7/7.",
      "gap": "",
      "artifact": "UIValidationRun, /quality/"
    },
    {
      "key": "nation-pathways",
      "section": "UK education coverage",
      "requirement": "England, Scotland, Wales and Northern Ireland pathways are modelled explicitly.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "Curriculum pathways are modelled for England, Scotland, Wales and Northern Ireland.",
      "gap": "Needs deeper qualification equivalence and nation-specific curriculum detail before production.",
      "artifact": "CURRICULUM_PATHWAYS"
    },
    {
      "key": "uk-coverage",
      "section": "UK education coverage",
      "requirement": "MVP covers the UK education journey from EYFS through A-Level across required stages and subjects.",
      "status": "met",
      "status_tag": "secure",
      "evidence": "6 stages, 126 stage-subject entries and 768 concepts; missing metadata 0.",
      "gap": "Coverage is structurally broad, but starter-map content still needs expert validation before trust claims.",
      "artifact": "core/curriculum.py"
    },
    {
      "key": "failure-conditions",
      "section": "Failure conditions",
      "requirement": "The system avoids being a generic chatbot, shallow quiz tracker or unsupported subject generator.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "Structured curriculum maps, evidence dimensions, rubric signals, mastery thresholds, safety blocks, curriculum review gates and learner-facing trust-boundary warnings reduce generic tutoring risk. Failure-mode harness ready=False, source=ephemeral_self_check, checks=6, failures=1.",
      "gap": "Run python manage.py run_failure_mode_checks --json --fail-on-error and resolve any failing unsupported-generation, shallow-mastery or safety-boundary checks.",
      "artifact": "run_failure_mode_checks, /quality/failure-modes.json, curriculum audit, review queue, lesson trust boundary"
    },
    {
      "key": "north-star",
      "section": "North star metric",
      "requirement": "The system reports verified concept mastery gained per student hour and supporting learning metrics.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "LearningEvidence records timed evidence, mastery-gain deltas and retention_check evidence; dashboards and analytics report mastery gained per tracked student hour, concept-level pre/post gain and delayed retention success; north-star metric integrity ready=False, checks=0, failures=None; retained-learning validation ready=False, open real-world validation items=8; accepted retained-learning outcome studies recorded=0.",
      "gap": "Needs retained-learning outcome validation from real learners before the metric can be treated as reliable.",
      "artifact": "core/learning.py, run_north_star_metric_check, /analytics/north-star-validation.json, /validation/"
    },
    {
      "key": "operations",
      "section": "Production Definition of Done",
      "requirement": "Errors are monitored, backups exist, production smoke checks run and the system has reliability evidence.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "Open operational errors: 0; latest backup=False; restore drill=False; smoke=False; load=False; failure modes=False; rehearsal=False; accepted production-operations evidence=0.",
      "gap": "Needs deployed external monitoring, alerting, production database setup, backup restore drills in the target environment and higher-volume load testing.",
      "artifact": "core/operations.py, run_operations_rehearsal, verify_backup_restore, OPERATIONS_RUNBOOK.md, /validation/"
    },
    {
      "key": "safety-privacy",
      "section": "Production Definition of Done",
      "requirement": "Privacy, child-safety, safeguarding and unsupported-input concerns are handled properly.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "Guardian acknowledgements, safety audit events, raw-answer minimization for safety-triggering inputs, safety log resolution, no-mastery safety handling, adult access audit, learner data export/delete and safety/privacy rehearsal checks exist; rehearsal ready=False, checks=0, failures=None; accepted safeguarding reviews=0; accepted legal/privacy reviews=0.",
      "gap": "Needs external safeguarding/legal review, moderation ownership and production policy sign-off.",
      "artifact": "core/safety.py, run_safety_privacy_rehearsal, safety log, /validation/"
    },
    {
      "key": "expert-review",
      "section": "Subject fundamentals",
      "requirement": "Concept maps and teaching content are expert-reviewed before production trust claims.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "0 live expert approvals; 768 concepts still awaiting live review; curriculum audit expert-review-complete=False; expert-reviewed-only teaching gate active in this environment=False; production trust gate configured=True.",
      "gap": "Complete expert review or block unsupported concepts from production claims.",
      "artifact": "core/curriculum_review.py"
    },
    {
      "key": "beta-real-students",
      "section": "Beta Definition of Done",
      "requirement": "20 to 50 real test students can use the system without manual intervention and produce useful learning outcome evidence.",
      "status": "missing",
      "status_tag": "warning",
      "evidence": "0 accepted real learner beta participant(s) recorded in the validation evidence registry; beta workspace studies=0, included participants=0, ready studies=0.",
      "gap": "Run an observed beta programme and record outcome evidence, failure patterns and remediation results.",
      "artifact": "ValidationEvidence, /validation/"
    }
  ],
  "counts": {
    "met": 14,
    "partial": 5,
    "missing": 1,
    "blocked": 0
  },
  "total": 20,
  "met_count": 14,
  "open_count": 6,
  "completion_gate": {
    "passed": false,
    "status": "not_complete",
    "summary": "Definition of Done is not complete; unresolved criteria remain."
  },
  "open_items": [
    {
      "key": "expert-review",
      "section": "Subject fundamentals",
      "requirement": "Concept maps and teaching content are expert-reviewed before production trust claims.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "0 live expert approvals; 768 concepts still awaiting live review; curriculum audit expert-review-complete=False; expert-reviewed-only teaching gate active in this environment=False; production trust gate configured=True.",
      "gap": "Complete expert review or block unsupported concepts from production claims.",
      "artifact": "core/curriculum_review.py"
    },
    {
      "key": "beta-real-students",
      "section": "Beta Definition of Done",
      "requirement": "20 to 50 real test students can use the system without manual intervention and produce useful learning outcome evidence.",
      "status": "missing",
      "status_tag": "warning",
      "evidence": "0 accepted real learner beta participant(s) recorded in the validation evidence registry; beta workspace studies=0, included participants=0, ready studies=0.",
      "gap": "Run an observed beta programme and record outcome evidence, failure patterns and remediation results.",
      "artifact": "ValidationEvidence, /validation/"
    },
    {
      "key": "safety-privacy",
      "section": "Production Definition of Done",
      "requirement": "Privacy, child-safety, safeguarding and unsupported-input concerns are handled properly.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "Guardian acknowledgements, safety audit events, raw-answer minimization for safety-triggering inputs, safety log resolution, no-mastery safety handling, adult access audit, learner data export/delete and safety/privacy rehearsal checks exist; rehearsal ready=False, checks=0, failures=None; accepted safeguarding reviews=0; accepted legal/privacy reviews=0.",
      "gap": "Needs external safeguarding/legal review, moderation ownership and production policy sign-off.",
      "artifact": "core/safety.py, run_safety_privacy_rehearsal, safety log, /validation/"
    },
    {
      "key": "operations",
      "section": "Production Definition of Done",
      "requirement": "Errors are monitored, backups exist, production smoke checks run and the system has reliability evidence.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "Open operational errors: 0; latest backup=False; restore drill=False; smoke=False; load=False; failure modes=False; rehearsal=False; accepted production-operations evidence=0.",
      "gap": "Needs deployed external monitoring, alerting, production database setup, backup restore drills in the target environment and higher-volume load testing.",
      "artifact": "core/operations.py, run_operations_rehearsal, verify_backup_restore, OPERATIONS_RUNBOOK.md, /validation/"
    },
    {
      "key": "north-star",
      "section": "North star metric",
      "requirement": "The system reports verified concept mastery gained per student hour and supporting learning metrics.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "LearningEvidence records timed evidence, mastery-gain deltas and retention_check evidence; dashboards and analytics report mastery gained per tracked student hour, concept-level pre/post gain and delayed retention success; north-star metric integrity ready=False, checks=0, failures=None; retained-learning validation ready=False, open real-world validation items=8; accepted retained-learning outcome studies recorded=0.",
      "gap": "Needs retained-learning outcome validation from real learners before the metric can be treated as reliable.",
      "artifact": "core/learning.py, run_north_star_metric_check, /analytics/north-star-validation.json, /validation/"
    },
    {
      "key": "failure-conditions",
      "section": "Failure conditions",
      "requirement": "The system avoids being a generic chatbot, shallow quiz tracker or unsupported subject generator.",
      "status": "partial",
      "status_tag": "warning",
      "evidence": "Structured curriculum maps, evidence dimensions, rubric signals, mastery thresholds, safety blocks, curriculum review gates and learner-facing trust-boundary warnings reduce generic tutoring risk. Failure-mode harness ready=False, source=ephemeral_self_check, checks=6, failures=1.",
      "gap": "Run python manage.py run_failure_mode_checks --json --fail-on-error and resolve any failing unsupported-generation, shallow-mastery or safety-boundary checks.",
      "artifact": "run_failure_mode_checks, /quality/failure-modes.json, curriculum audit, review queue, lesson trust boundary"
    }
  ],
  "closure_handoff": {
    "purpose": "Single release-closure view for the remaining real-world and external Definition of Done gates.",
    "ready_for_completion": false,
    "open_item_count": 5,
    "ready_item_count": 0,
    "items": [
      {
        "key": "expert-review",
        "label": "Subject expert review",
        "section": "Subject fundamentals",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/curriculum/expert-review-launch-pack.json",
        "workspace_route": "/curriculum/review/",
        "json_route": "/curriculum/expert-review-launch-pack.json",
        "review_packet_route": "/curriculum/review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/curriculum/review-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Send 768 pending concept(s) to subject experts in traceable batches.",
          "Start with A-Level / Mathematics, where 8 concept(s) remain open."
        ],
        "evidence_summary": "0/768 concept(s) approved; 768 concept review(s) open; 126 subject scope(s) open.",
        "accepted_evidence": "0 accepted subject-expert validation record(s).",
        "validation_requests": [
          {
            "key": "subject_expert_review",
            "label": "Subject expert validation return",
            "detail_route": "/validation/review-request/subject_expert_review/",
            "return_template_route": "/validation/review-return-template.json?request=subject_expert_review",
            "registry_route": "/validation/?request=subject_expert_review#record-evidence",
            "category": "subject_expert_review",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Subject expert or curriculum lead",
            "workspace_path": "/curriculum/review/",
            "pack_path": "/curriculum/expert-review-launch-pack.json",
            "review_packet_path": "/curriculum/review-work-order.json",
            "campaign_path": "/curriculum/review-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the subject expert curriculum review workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/subject_expert_review/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "beta-real-students",
        "label": "Real learner beta",
        "section": "Beta Definition of Done",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/beta/launch-pack.json",
        "workspace_route": "/beta/",
        "json_route": "/beta/launch-pack.json",
        "review_packet_route": "/beta/runbook.json",
        "review_packet_label": "Study runbook",
        "campaign_route": "/beta/recruitment-pack.json",
        "campaign_label": "Recruitment",
        "next_actions": [
          "Create a beta study before recruiting real learners."
        ],
        "evidence_summary": "0 included learner(s); 20 short of the 20 learner minimum; 0 over the 50 learner maximum.",
        "accepted_evidence": "Accepted real-learner beta validation must include 20 to 50 real learners.",
        "validation_requests": [
          {
            "key": "real_learner_beta",
            "label": "Real learner beta validation return",
            "detail_route": "/validation/review-request/real_learner_beta/",
            "return_template_route": "/validation/review-return-template.json?request=real_learner_beta",
            "registry_route": "/validation/?request=real_learner_beta#record-evidence",
            "category": "real_learner_beta",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Real learner beta study lead",
            "workspace_path": "/beta/",
            "pack_path": "/beta/export.json",
            "review_packet_path": "/beta/runbook.json",
            "campaign_path": "/beta/recruitment-pack.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Study runbook linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Recruitment linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the 20 to 50 real learner beta workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/real_learner_beta/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "safety-privacy",
        "label": "Safeguarding and privacy sign-off",
        "section": "Production Definition of Done",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/safety-and-privacy/launch-pack.json",
        "workspace_route": "/safety-and-privacy/",
        "json_route": "/safety-and-privacy/launch-pack.json",
        "review_packet_route": "/safety-and-privacy/review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/safety-and-privacy/signoff-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Run the safety/privacy rehearsal and resolve any failed consent, redaction, export/delete or access-control check.",
          "Configure the moderation SLA and resolve breached open caution or urgent safety events.",
          "Resolve: Named safeguarding owner is configured (No safeguarding owner configured).",
          "Resolve: Traceable safeguarding policy reference exists (missing).",
          "Resolve: Moderation response SLA is configured (0 hour(s)).",
          "Resolve: Named privacy/data-rights owner is configured (No privacy owner configured).",
          "Resolve: Traceable privacy policy reference exists (missing).",
          "Resolve: Traceable data retention policy reference exists (missing)."
        ],
        "evidence_summary": "7 external review item(s) open; 0 open safety review event(s); 0 SLA breach(es).",
        "accepted_evidence": "0 accepted safeguarding record(s); 0 accepted legal/privacy record(s).",
        "validation_requests": [
          {
            "key": "safeguarding_review",
            "label": "Safeguarding validation return",
            "detail_route": "/validation/review-request/safeguarding_review/",
            "return_template_route": "/validation/review-return-template.json?request=safeguarding_review",
            "registry_route": "/validation/?request=safeguarding_review#record-evidence",
            "category": "safeguarding_review",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "External safeguarding reviewer",
            "workspace_path": "/safety-and-privacy/",
            "pack_path": "/safety-and-privacy/launch-pack.json",
            "review_packet_path": "/safety-and-privacy/review-work-order.json?category=safeguarding_review",
            "campaign_path": "/safety-and-privacy/signoff-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Sign-off campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the safeguarding review workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/safeguarding_review/",
            "structured_decision_available": true
          },
          {
            "key": "legal_privacy_review",
            "label": "Legal/privacy validation return",
            "detail_route": "/validation/review-request/legal_privacy_review/",
            "return_template_route": "/validation/review-return-template.json?request=legal_privacy_review",
            "registry_route": "/validation/?request=legal_privacy_review#record-evidence",
            "category": "legal_privacy_review",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Legal/privacy reviewer",
            "workspace_path": "/safety-and-privacy/",
            "pack_path": "/safety-and-privacy/launch-pack.json",
            "review_packet_path": "/safety-and-privacy/review-work-order.json?category=legal_privacy_review",
            "campaign_path": "/safety-and-privacy/signoff-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Sign-off campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the legal and privacy review workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/legal_privacy_review/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "operations",
        "label": "Production operations sign-off",
        "section": "Production Definition of Done",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/operations/launch-pack.json",
        "workspace_route": "/operations/",
        "json_route": "/operations/launch-pack.json",
        "review_packet_route": "/operations/review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/operations/signoff-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Run a learning-data backup and keep the generated backup path with the release evidence.",
          "Verify the latest backup can be deserialized without writing over live learner data.",
          "Run the learner-facing route smoke check against the intended release build.",
          "Run the adaptive-learning load check and confirm response timings stay within the release threshold.",
          "Set ARISTOTLE_DEPLOYMENT_ENVIRONMENT to the named target environment this evidence applies to.",
          "Set ARISTOTLE_PRODUCTION_URL to the HTTPS learner-facing URL and rerun smoke/preflight checks.",
          "Add ARISTOTLE_MONITORING_DASHBOARD_URL for the external uptime, error-rate and latency dashboard.",
          "Add ARISTOTLE_ALERTING_ROUTE_REFERENCE for the human alert route used during learner-impacting incidents."
        ],
        "evidence_summary": "7 internal evidence item(s) open; 8 target-environment sign-off item(s) open.",
        "accepted_evidence": "Accepted production-operations validation must come from the target release context.",
        "validation_requests": [
          {
            "key": "production_operations",
            "label": "Production operations validation return",
            "detail_route": "/validation/review-request/production_operations/",
            "return_template_route": "/validation/review-return-template.json?request=production_operations",
            "registry_route": "/validation/?request=production_operations#record-evidence",
            "category": "production_operations",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Production operations owner",
            "workspace_path": "/operations/",
            "pack_path": "/operations/evidence.json",
            "review_packet_path": "/operations/review-work-order.json",
            "campaign_path": "/operations/signoff-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Sign-off campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the production operations evidence workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/production_operations/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "north-star",
        "label": "Verified north-star metric",
        "section": "North star metric",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/analytics/north-star-launch-pack.json",
        "workspace_route": "/analytics/",
        "json_route": "/analytics/north-star-launch-pack.json",
        "review_packet_route": "/analytics/north-star-review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/analytics/north-star-study-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Run the north-star metric integrity command and resolve any timing, formula, retention-chain or privacy failures.",
          "Collect at least one baseline diagnostic or first-attempt evidence point before claiming learning gain.",
          "Collect a later lesson check or mastery review so the study can compare before and after evidence.",
          "Collect a delayed retention check for the same learner, subject and concept.",
          "Build at least one complete baseline, post-test and retention chain before exporting the study pack.",
          "Record an unscaffolded, non-safety retention success so retained learning is not inferred from supported work."
        ],
        "evidence_summary": "1 metric integrity item(s) open; 14 real-world validation item(s) open.",
        "accepted_evidence": "0 accepted retained-learning outcome study record(s).",
        "validation_requests": [
          {
            "key": "learning_outcome_study",
            "label": "Retained-learning outcome validation return",
            "detail_route": "/validation/review-request/learning_outcome_study/",
            "return_template_route": "/validation/review-return-template.json?request=learning_outcome_study",
            "registry_route": "/validation/?request=learning_outcome_study#record-evidence",
            "category": "learning_outcome_study",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Learning outcomes reviewer",
            "workspace_path": "/analytics/",
            "pack_path": "/analytics/retained-learning-outcomes.json",
            "review_packet_path": "/analytics/north-star-review-work-order.json",
            "campaign_path": "/analytics/north-star-study-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Study campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the retained-learning outcome study workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/learning_outcome_study/",
            "structured_decision_available": true
          }
        ]
      }
    ],
    "open_items": [
      {
        "key": "expert-review",
        "label": "Subject expert review",
        "section": "Subject fundamentals",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/curriculum/expert-review-launch-pack.json",
        "workspace_route": "/curriculum/review/",
        "json_route": "/curriculum/expert-review-launch-pack.json",
        "review_packet_route": "/curriculum/review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/curriculum/review-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Send 768 pending concept(s) to subject experts in traceable batches.",
          "Start with A-Level / Mathematics, where 8 concept(s) remain open."
        ],
        "evidence_summary": "0/768 concept(s) approved; 768 concept review(s) open; 126 subject scope(s) open.",
        "accepted_evidence": "0 accepted subject-expert validation record(s).",
        "validation_requests": [
          {
            "key": "subject_expert_review",
            "label": "Subject expert validation return",
            "detail_route": "/validation/review-request/subject_expert_review/",
            "return_template_route": "/validation/review-return-template.json?request=subject_expert_review",
            "registry_route": "/validation/?request=subject_expert_review#record-evidence",
            "category": "subject_expert_review",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Subject expert or curriculum lead",
            "workspace_path": "/curriculum/review/",
            "pack_path": "/curriculum/expert-review-launch-pack.json",
            "review_packet_path": "/curriculum/review-work-order.json",
            "campaign_path": "/curriculum/review-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the subject expert curriculum review workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/subject_expert_review/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "beta-real-students",
        "label": "Real learner beta",
        "section": "Beta Definition of Done",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/beta/launch-pack.json",
        "workspace_route": "/beta/",
        "json_route": "/beta/launch-pack.json",
        "review_packet_route": "/beta/runbook.json",
        "review_packet_label": "Study runbook",
        "campaign_route": "/beta/recruitment-pack.json",
        "campaign_label": "Recruitment",
        "next_actions": [
          "Create a beta study before recruiting real learners."
        ],
        "evidence_summary": "0 included learner(s); 20 short of the 20 learner minimum; 0 over the 50 learner maximum.",
        "accepted_evidence": "Accepted real-learner beta validation must include 20 to 50 real learners.",
        "validation_requests": [
          {
            "key": "real_learner_beta",
            "label": "Real learner beta validation return",
            "detail_route": "/validation/review-request/real_learner_beta/",
            "return_template_route": "/validation/review-return-template.json?request=real_learner_beta",
            "registry_route": "/validation/?request=real_learner_beta#record-evidence",
            "category": "real_learner_beta",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Real learner beta study lead",
            "workspace_path": "/beta/",
            "pack_path": "/beta/export.json",
            "review_packet_path": "/beta/runbook.json",
            "campaign_path": "/beta/recruitment-pack.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Study runbook linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Recruitment linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the 20 to 50 real learner beta workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/real_learner_beta/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "safety-privacy",
        "label": "Safeguarding and privacy sign-off",
        "section": "Production Definition of Done",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/safety-and-privacy/launch-pack.json",
        "workspace_route": "/safety-and-privacy/",
        "json_route": "/safety-and-privacy/launch-pack.json",
        "review_packet_route": "/safety-and-privacy/review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/safety-and-privacy/signoff-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Run the safety/privacy rehearsal and resolve any failed consent, redaction, export/delete or access-control check.",
          "Configure the moderation SLA and resolve breached open caution or urgent safety events.",
          "Resolve: Named safeguarding owner is configured (No safeguarding owner configured).",
          "Resolve: Traceable safeguarding policy reference exists (missing).",
          "Resolve: Moderation response SLA is configured (0 hour(s)).",
          "Resolve: Named privacy/data-rights owner is configured (No privacy owner configured).",
          "Resolve: Traceable privacy policy reference exists (missing).",
          "Resolve: Traceable data retention policy reference exists (missing)."
        ],
        "evidence_summary": "7 external review item(s) open; 0 open safety review event(s); 0 SLA breach(es).",
        "accepted_evidence": "0 accepted safeguarding record(s); 0 accepted legal/privacy record(s).",
        "validation_requests": [
          {
            "key": "safeguarding_review",
            "label": "Safeguarding validation return",
            "detail_route": "/validation/review-request/safeguarding_review/",
            "return_template_route": "/validation/review-return-template.json?request=safeguarding_review",
            "registry_route": "/validation/?request=safeguarding_review#record-evidence",
            "category": "safeguarding_review",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "External safeguarding reviewer",
            "workspace_path": "/safety-and-privacy/",
            "pack_path": "/safety-and-privacy/launch-pack.json",
            "review_packet_path": "/safety-and-privacy/review-work-order.json?category=safeguarding_review",
            "campaign_path": "/safety-and-privacy/signoff-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Sign-off campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the safeguarding review workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/safeguarding_review/",
            "structured_decision_available": true
          },
          {
            "key": "legal_privacy_review",
            "label": "Legal/privacy validation return",
            "detail_route": "/validation/review-request/legal_privacy_review/",
            "return_template_route": "/validation/review-return-template.json?request=legal_privacy_review",
            "registry_route": "/validation/?request=legal_privacy_review#record-evidence",
            "category": "legal_privacy_review",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Legal/privacy reviewer",
            "workspace_path": "/safety-and-privacy/",
            "pack_path": "/safety-and-privacy/launch-pack.json",
            "review_packet_path": "/safety-and-privacy/review-work-order.json?category=legal_privacy_review",
            "campaign_path": "/safety-and-privacy/signoff-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Sign-off campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the legal and privacy review workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/legal_privacy_review/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "operations",
        "label": "Production operations sign-off",
        "section": "Production Definition of Done",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/operations/launch-pack.json",
        "workspace_route": "/operations/",
        "json_route": "/operations/launch-pack.json",
        "review_packet_route": "/operations/review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/operations/signoff-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Run a learning-data backup and keep the generated backup path with the release evidence.",
          "Verify the latest backup can be deserialized without writing over live learner data.",
          "Run the learner-facing route smoke check against the intended release build.",
          "Run the adaptive-learning load check and confirm response timings stay within the release threshold.",
          "Set ARISTOTLE_DEPLOYMENT_ENVIRONMENT to the named target environment this evidence applies to.",
          "Set ARISTOTLE_PRODUCTION_URL to the HTTPS learner-facing URL and rerun smoke/preflight checks.",
          "Add ARISTOTLE_MONITORING_DASHBOARD_URL for the external uptime, error-rate and latency dashboard.",
          "Add ARISTOTLE_ALERTING_ROUTE_REFERENCE for the human alert route used during learner-impacting incidents."
        ],
        "evidence_summary": "7 internal evidence item(s) open; 8 target-environment sign-off item(s) open.",
        "accepted_evidence": "Accepted production-operations validation must come from the target release context.",
        "validation_requests": [
          {
            "key": "production_operations",
            "label": "Production operations validation return",
            "detail_route": "/validation/review-request/production_operations/",
            "return_template_route": "/validation/review-return-template.json?request=production_operations",
            "registry_route": "/validation/?request=production_operations#record-evidence",
            "category": "production_operations",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Production operations owner",
            "workspace_path": "/operations/",
            "pack_path": "/operations/evidence.json",
            "review_packet_path": "/operations/review-work-order.json",
            "campaign_path": "/operations/signoff-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Sign-off campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the production operations evidence workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/production_operations/",
            "structured_decision_available": true
          }
        ]
      },
      {
        "key": "north-star",
        "label": "Verified north-star metric",
        "section": "North star metric",
        "status": "open",
        "status_tag": "warning",
        "ready": false,
        "launch_route": "/analytics/north-star-launch-pack.json",
        "workspace_route": "/analytics/",
        "json_route": "/analytics/north-star-launch-pack.json",
        "review_packet_route": "/analytics/north-star-review-work-order.json",
        "review_packet_label": "Work order",
        "campaign_route": "/analytics/north-star-study-campaign.json",
        "campaign_label": "Campaign",
        "next_actions": [
          "Run the north-star metric integrity command and resolve any timing, formula, retention-chain or privacy failures.",
          "Collect at least one baseline diagnostic or first-attempt evidence point before claiming learning gain.",
          "Collect a later lesson check or mastery review so the study can compare before and after evidence.",
          "Collect a delayed retention check for the same learner, subject and concept.",
          "Build at least one complete baseline, post-test and retention chain before exporting the study pack.",
          "Record an unscaffolded, non-safety retention success so retained learning is not inferred from supported work."
        ],
        "evidence_summary": "1 metric integrity item(s) open; 14 real-world validation item(s) open.",
        "accepted_evidence": "0 accepted retained-learning outcome study record(s).",
        "validation_requests": [
          {
            "key": "learning_outcome_study",
            "label": "Retained-learning outcome validation return",
            "detail_route": "/validation/review-request/learning_outcome_study/",
            "return_template_route": "/validation/review-return-template.json?request=learning_outcome_study",
            "registry_route": "/validation/?request=learning_outcome_study#record-evidence",
            "category": "learning_outcome_study",
            "state": "needs_record",
            "ready_to_send": true,
            "gate_counting": false,
            "accepted_records": 0,
            "submitted_accepted_records": 0,
            "blocked_accepted_records": 0,
            "total_records": 0,
            "reviewer_role": "Learning outcomes reviewer",
            "workspace_path": "/analytics/",
            "pack_path": "/analytics/retained-learning-outcomes.json",
            "review_packet_path": "/analytics/north-star-review-work-order.json",
            "campaign_path": "/analytics/north-star-study-campaign.json",
            "handoff_checks": [
              {
                "key": "workspace",
                "label": "Workspace linked",
                "passed": true,
                "detail": "A workspace is available for preparing this evidence pack."
              },
              {
                "key": "evidence_pack",
                "label": "Evidence pack linked",
                "passed": true,
                "detail": "A JSON or workspace pack route is available for reviewer handoff."
              },
              {
                "key": "review_packet",
                "label": "Work order linked",
                "passed": true,
                "detail": "A reviewer-facing work order or runbook is available for handoff."
              },
              {
                "key": "campaign",
                "label": "Study campaign linked",
                "passed": true,
                "detail": "A campaign or recruitment pack is available for coordinating the gate."
              },
              {
                "key": "review_brief",
                "label": "Review brief linked",
                "passed": true,
                "detail": "A reviewer-facing brief is available with scope, evidence links, guardrails and import controls."
              },
              {
                "key": "return_template",
                "label": "Return template linked",
                "passed": true,
                "detail": "A reviewer-return JSON template is available for this gate."
              },
              {
                "key": "registry_import",
                "label": "Registry/import route linked",
                "passed": true,
                "detail": "A validation registry route is available for drafting records and importing returned decisions."
              },
              {
                "key": "validation_record",
                "label": "Validation record created",
                "passed": false,
                "detail": "Create or draft a validation record for this gate."
              },
              {
                "key": "external_decision",
                "label": "External decision submitted",
                "passed": false,
                "detail": "An accountable reviewer still needs to accept, return or reject the evidence."
              },
              {
                "key": "gate_counting_acceptance",
                "label": "Gate-counting acceptance",
                "passed": false,
                "detail": "No accepted record currently satisfies this gate's guardrails."
              }
            ],
            "acceptance_gaps": [],
            "next_action": "Prepare the retained-learning outcome study workspace or pack, then create a validation record with reviewer, scope, outcome, risk and evidence links.",
            "structured_decision_route": "/validation/review-request/learning_outcome_study/",
            "structured_decision_available": true
          }
        ]
      }
    ],
    "next_actions": [
      "Send 768 pending concept(s) to subject experts in traceable batches.",
      "Start with A-Level / Mathematics, where 8 concept(s) remain open.",
      "Create a beta study before recruiting real learners.",
      "Run the safety/privacy rehearsal and resolve any failed consent, redaction, export/delete or access-control check.",
      "Configure the moderation SLA and resolve breached open caution or urgent safety events.",
      "Run a learning-data backup and keep the generated backup path with the release evidence.",
      "Verify the latest backup can be deserialized without writing over live learner data.",
      "Run the north-star metric integrity command and resolve any timing, formula, retention-chain or privacy failures.",
      "Collect at least one baseline diagnostic or first-attempt evidence point before claiming learning gain."
    ],
    "trust_boundary": "This closure handoff coordinates evidence; it does not replace real learners, external review, target-environment operations evidence or accepted validation records."
  }
}