{
  "provenance": "Copied subset of supplied docs/feature_coverage.json. Coverage status was not independently reclassified.",
  "summary": {
    "app": "BriefBunon",
    "requirements": 12,
    "implemented_local": 7,
    "partial": 5,
    "blocked": 0
  },
  "requirements": [
    {
      "id": "BB-F01",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Evidence-backed intake",
      "original_priority": "P0",
      "source_requirement": "Accept text and approved documents; store original language, file hash and paragraph reference. Scan uploads and keep quoted evidence separate from instructions.\nAcceptance: Re-uploading the same hash creates no duplicate source; every extracted requirement links to a source span.",
      "status": "partial",
      "implementation_scope": "Text intake with language, paragraph identifiers, hash deduplication and exact source quotations.",
      "residual_limitation": "Binary document intake, malware scanning, OCR and file extraction are not enabled.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_source_hash_deduplicates_and_evidence_is_exact"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F02",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Requirement register",
      "original_priority": "P0",
      "source_requirement": "Maintain functional and quality requirements, owner, priority, dependency, status and bilingual acceptance criteria under stable IDs.\nAcceptance: Changing a title preserves its ID and audit history; an approved requirement cannot lose its acceptance criteria.",
      "status": "implemented_local",
      "implementation_scope": "Stable requirement IDs/codes, bilingual criteria, priority, owner, links and revision history; material edits invalidate approval.",
      "residual_limitation": "Native-language acceptance review remains external; no autonomous requirement inference is claimed.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_requirement_identity_history_and_approval_invalidation"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F03",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Ambiguity inbox",
      "original_priority": "P0",
      "source_requirement": "Flag unclear quantities, actors, deadlines and exclusions. Generate questions rather than silently inventing missing requirements.\nAcceptance: A brief saying “fast dashboard” opens a measurable performance question, not an invented service guarantee.",
      "status": "implemented_local",
      "implementation_scope": "Transparent local ambiguity rules create editable questions; unanswered questions block commercial approval.",
      "residual_limitation": "Detection is a bounded rule list, not a guarantee of complete natural-language interpretation.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_ambiguity_rule_asks_instead_of_inventing_service_guarantee"
        },
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_scope_gate_rejects_unanswered_questions"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F04",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Work breakdown",
      "original_priority": "P0",
      "source_requirement": "Create epics, stories and tasks linked to requirements; validate dependencies and include design, testing, migration and release work.\nAcceptance: A circular task dependency is rejected with the cycle path shown to the analyst.",
      "status": "implemented_local",
      "implementation_scope": "Requirement-linked epics, stories and tasks, hierarchy checks, dependency-cycle paths and enabling-work coverage.",
      "residual_limitation": "Human planning and feasibility review remain required.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_work_dependency_cycle_is_rejected_with_path"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F05",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Range-based estimation",
      "original_priority": "P0",
      "source_requirement": "Store optimistic, most-likely and pessimistic hours; compute PERT as (O+4M+P)/6 and label the result an estimate, not a commitment.\nAcceptance: Inputs 4, 8 and 18 produce 9 hours; invalid ordering or negative hours is rejected.",
      "status": "implemented_local",
      "implementation_scope": "Ordered optimistic/likely/pessimistic estimates, PERT, whole-minute display and exact poisha pricing.",
      "residual_limitation": "Estimates are explicitly not commitments; production estimation accuracy has not been measured.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_pert_exactness_and_integer_poisha"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F06",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Commercial guardrails",
      "original_priority": "P0",
      "source_requirement": "Use editable BDT rates, contingency and explicit tax placeholders; separate internal cost from client price and restrict margin visibility.\nAcceptance: A client viewer cannot retrieve internal cost through UI, export or API.",
      "status": "implemented_local",
      "implementation_scope": "Editable BDT rates, contingency, visible tax allowance/note and private internal cost/margin collections.",
      "residual_limitation": "The tax allowance is a reviewed input placeholder, not a tax calculation or filing service.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_client_receives_only_named_commercial_artifact"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F07",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Proposal studio",
      "original_priority": "P0",
      "source_requirement": "Export Bengali, English or paired proposals with scope, exclusions, milestones, assumptions, support terms and accessible headings.\nAcceptance: Export preserves Bengali conjuncts and includes the approved scope version and export timestamp.",
      "status": "partial",
      "implementation_scope": "Versioned English/Bangla/paired proposal artifacts with terms, scope, hash, timestamp and printable UTF-8 preview.",
      "residual_limitation": "Dedicated DOCX/PDF generation and native Bangla typography/export acceptance remain unavailable or unverified.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_client_receives_only_named_commercial_artifact"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F08",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Version approval",
      "original_priority": "P0",
      "source_requirement": "Record reviewer identity, approved document hash, time and comment; invalidate pending approval when content changes.\nAcceptance: Approval for version 2 cannot authorize version 3; both histories remain readable.",
      "status": "implemented_local",
      "implementation_scope": "Named-client access, exact-hash decisions, author/client separation, expiry, revocation and immutable approval history.",
      "residual_limitation": "Real client acceptance must be performed by the authorized human; demo decisions are synthetic.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_owner_cannot_forge_client_approval"
        },
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_changed_scope_cannot_use_stale_client_approval"
        },
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_revoke_removes_client_reads_and_cached_preview_access"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F09",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Change-impact control",
      "original_priority": "P0",
      "source_requirement": "Compare requirements between versions, highlight additions/removals and propose cost and schedule effects for human approval.\nAcceptance: A new payment integration creates a change request without modifying the accepted baseline.",
      "status": "partial",
      "implementation_scope": "Accepted-baseline differences, separately priced change requests and attributable client decisions preserve the original baseline.",
      "residual_limitation": "Cost and schedule impact are entered by people; automated impact modelling and negative price adjustments are not implemented.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_change_request_preserves_accepted_baseline"
        },
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_client_change_request_does_not_reveal_unshared_draft_scope"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F10",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Historical retrieval",
      "original_priority": "P1",
      "source_requirement": "Search only approved tenant-owned historical projects; show references, age and similarity limitations rather than copying confidential client data.\nAcceptance: A retrieval test containing another tenant’s project returns zero unauthorized evidence.",
      "status": "partial",
      "implementation_scope": "Tenant-scoped literal retrieval of accepted historical proposals returns source references and timestamps.",
      "residual_limitation": "No semantic similarity, embeddings or external CRM retrieval is implemented.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_handoff_traces_to_accepted_requirements_and_scopes_history"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F11",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Delivery handoff",
      "original_priority": "P1",
      "source_requirement": "Export the accepted scope into a project backlog with requirement IDs, owners, unresolved assumptions and acceptance tests.\nAcceptance: Every exported story traces to an accepted requirement or an explicitly approved enabling task.",
      "status": "implemented_local",
      "implementation_scope": "Accepted backlog export preserves requirement IDs, owners, criteria, dependencies and assumptions from the accepted snapshot.",
      "residual_limitation": "No external project-management connector is supplied.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.py",
        "tests/test_proposals_social.py"
      ],
      "test_references": [
        {
          "path": "tests/test_proposals_social.py",
          "class": "BriefBunonTests",
          "method": "test_handoff_traces_to_accepted_requirements_and_scopes_history"
        }
      ],
      "verification_note": "Listed tests support the named invariants, not every sentence of the original feature or production operation."
    },
    {
      "id": "BB-F12",
      "app": "BriefBunon",
      "slug": "briefbunon",
      "source_title": "Decision analytics",
      "original_priority": "P1",
      "source_requirement": "Track estimation variance, unresolved questions, proposal turnaround and paid scope changes; show sample size with every comparison.\nAcceptance: A dashboard with no completed projects displays “insufficient data,” not a fabricated accuracy score.",
      "status": "partial",
      "implementation_scope": "Actual local counts of questions, requirement approvals and proposal versions; insufficient-data state for accuracy.",
      "residual_limitation": "No completed-project variance, paid-change analytics or observed accuracy dataset is supplied.",
      "evidence_paths": [
        "docs/blueprint_requirements.json",
        "docs/PROPOSALS_SOCIAL.md",
        "suite/apps/briefbunon.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."
    }
  ]
}