{
  "provenance": "Copied subset of supplied docs/feature_coverage.json. Coverage status was not independently reclassified.",
  "summary": {
    "app": "MedhaNoksha",
    "requirements": 12,
    "implemented_local": 8,
    "partial": 2,
    "blocked": 2
  },
  "requirements": [
    {
      "id": "MN-F01",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Admission and identity",
      "original_priority": "P0",
      "source_requirement": "Assign institution-local student IDs; capture minimum identity, guardian relationship, consent and document verification without mandatory NID.\nAcceptance: Two siblings can share a guardian phone without merging their student records.",
      "status": "partial",
      "implementation_scope": "Immutable institution-local student ID, minimum identity, admission review, consent and evidence-linked guardian relationship.",
      "residual_limitation": "Binary document upload and document-verification service integrations are not implemented.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_guardian_relationships_do_not_use_shared_phone_and_revocation_is_immediate"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F02",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Academic configuration",
      "original_priority": "P0",
      "source_requirement": "Configure session, branch, class, section, subject and curriculum version; support separate school and madrasa structures without assuming equivalence.\nAcceptance: A curriculum update creates a new version and leaves historical transcripts unchanged.",
      "status": "implemented_local",
      "implementation_scope": "Session, branch, class/section, subject/components, institution-defined structure and immutable approved academic policy versions.",
      "residual_limitation": "Institutions must review their own curricula; no national school/madrasa equivalence is asserted.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_published_correction_keeps_original_snapshot_and_guardian_replay_revokes"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F03",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Enrollment and transfer",
      "original_priority": "P0",
      "source_requirement": "Record active enrollment dates, section moves, withdrawal and promotion with approval; avoid duplicate active enrollment in one session.\nAcceptance: A transferred student retains prior attendance and fee history under the original enrollment.",
      "status": "implemented_local",
      "implementation_scope": "Unique active session enrollment, date boundaries, approved transfer/withdrawal/promotion and preserved earlier history.",
      "residual_limitation": "Cross-institution data migration is not supplied.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_duplicate_enrollment_transfer_and_original_history"
        },
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_promotion_preserves_old_enrollment_and_notice_access_changes"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F04",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Attendance and correction",
      "original_priority": "P0",
      "source_requirement": "Support present, absent, late and excused states; require teacher identity and a reason for retrospective edits.\nAcceptance: A second sync of the same student/date does not duplicate attendance or send another absence notice.",
      "status": "implemented_local",
      "implementation_scope": "Present/absent/late/excused attendance, assigned-teacher checks, duplicate-safe entries and reasoned corrections.",
      "residual_limitation": "External absence notifications are not connected.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_attendance_replay_correction_and_assignment"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F05",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Fee structures and waivers",
      "original_priority": "P0",
      "source_requirement": "Define fee heads, due dates, installment plans and explicit waiver approval; make late charges configurable and visible before billing.\nAcceptance: An approved waiver reduces the correct invoice and remains visible as a separate adjustment.",
      "status": "implemented_local",
      "implementation_scope": "Fee heads, due dates, exact-total installment plans, visible optional late charges and separately approved bounded waivers.",
      "residual_limitation": "Complex recurring billing automation is outside this edition; policy amounts require institution review.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_installments_match_total_and_failed_plan_creates_nothing"
        },
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_fee_waiver_partial_payment_duplicate_and_digital_boundary"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F06",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Receipts and reconciliation",
      "original_priority": "P0",
      "source_requirement": "Issue unique receipts for cash or verified digital collections; link partial payments, voids and reversals to the original invoice.\nAcceptance: Duplicate gateway notices do not create duplicate receipts or overpay the invoice.",
      "status": "partial",
      "implementation_scope": "Unique cash receipts, partial collections, overpayment prevention and linked full reversals.",
      "residual_limitation": "Verified digital collections and gateway callback reconciliation remain unavailable.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_fee_waiver_partial_payment_duplicate_and_digital_boundary"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F07",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Exam and grading rules",
      "original_priority": "P0",
      "source_requirement": "Version assessment components, maximum marks, pass conditions and grade boundaries; validate the configuration before mark entry.\nAcceptance: Marks above the configured maximum are rejected with subject and component identified.",
      "status": "implemented_local",
      "implementation_scope": "Versioned components, maxima/pass marks and grade boundaries; invalid structures and excessive marks are rejected.",
      "residual_limitation": "This edition supports integer marks; institution grading-policy acceptance is still required.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_mark_maximum_and_separate_review_publication"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F08",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Moderation and publication",
      "original_priority": "P0",
      "source_requirement": "Separate teacher entry, examiner moderation and principal publication; freeze published results and issue auditable corrections.\nAcceptance: A teacher cannot publish or silently change an already published result.",
      "status": "implemented_local",
      "implementation_scope": "Assigned teacher entry, distinct examiner moderation, distinct principal publication and immutable corrected revisions.",
      "residual_limitation": "Human review must be performed by the actual institution roles; no accreditation is implied.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_mark_maximum_and_separate_review_publication"
        },
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_published_correction_keeps_original_snapshot_and_guardian_replay_revokes"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F09",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Guardian portal",
      "original_priority": "P0",
      "source_requirement": "Show linked children, notices, attendance summaries, fee receipts and approved results through verified, revocable guardian access.\nAcceptance: Removing a guardian link immediately removes access to that child’s private records.",
      "status": "implemented_local",
      "implementation_scope": "Verified revocable child relationships, current notices, attendance, fees, receipts and approved-result portal with replay reauthorization.",
      "residual_limitation": "Real guardian identity/authority must be verified by the institution; shared phone alone grants no access.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_guardian_relationships_do_not_use_shared_phone_and_revocation_is_immediate"
        },
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_published_correction_keeps_original_snapshot_and_guardian_replay_revokes"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "MN-F10",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Hifz progress module",
      "original_priority": "P1",
      "source_requirement": "Allow institution-defined memorization, revision and teacher-observation fields; store progress without automatic religious or ability judgments.\nAcceptance: Only assigned teachers can update progress; guardians see an approved understandable summary.",
      "status": "blocked",
      "implementation_scope": "No Hifz progress feature is offered.",
      "residual_limitation": "Institution-defined memorization, revision and assigned-teacher progress summaries are not implemented.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py"
      ],
      "test_references": [],
      "verification_note": "Implementation/status is source-reviewed here; no dedicated feature test is cited. Consult final suite evidence and required human reviews."
    },
    {
      "id": "MN-F11",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Consented device integration",
      "original_priority": "P1",
      "source_requirement": "Prefer manual or card-based attendance first; assess necessity, consent, retention and alternatives before any biometric integration.\nAcceptance: Declining biometrics leaves a working non-biometric attendance option.",
      "status": "blocked",
      "implementation_scope": "Manual attendance remains available without biometrics.",
      "residual_limitation": "RFID/card-reader/biometric device integration and its consent/retention/alternative assessment are not implemented.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py"
      ],
      "test_references": [],
      "verification_note": "Implementation/status is source-reviewed here; no dedicated feature test is cited. Consult final suite evidence and required human reviews."
    },
    {
      "id": "MN-F12",
      "app": "MedhaNoksha",
      "slug": "medhanoksha",
      "source_title": "Institution reports and exports",
      "original_priority": "P0",
      "source_requirement": "Produce admit cards, report cards, fee aging and enrollment summaries; restrict bulk student exports and log their purpose.\nAcceptance: An unauthorized teacher cannot export all student contact details across branches.",
      "status": "implemented_local",
      "implementation_scope": "Admit cards, approved report cards, fee aging/enrollment summaries and role/purpose-scoped bulk exports.",
      "residual_limitation": "Native Bangla print/accessibility review and institution-approved export-purpose/retention policy remain external gates.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/COMMERCE_SCHOOL.md",
        "suite/apps/medhanoksha.py",
        "tests/test_commerce_school.py",
        "suite/server.py",
        "suite/__main__.py"
      ],
      "test_references": [
        {
          "path": "tests/test_commerce_school.py",
          "class": "MedhaNokshaTests",
          "method": "test_published_correction_keeps_original_snapshot_and_guardian_replay_revokes"
        },
        {
          "path": "tests/test_commerce_school.py",
          "class": "ActionACLTests",
          "method": "test_every_configured_action_denies_an_unprivileged_role_before_reading_payload"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    }
  ]
}