{
  "protocol_version": "1.0.0",
  "created_on": "2026-10-21",
  "license": "CC0-1.0 for synthetic data; MIT for scripts",
  "scope": "Deterministic lexical retrieval and citation-field/exact-quote validation only. No LLM, embeddings, hosted API, authentication system or semantic entailment model. Query metadata and expected labels are supplied before execution.",
  "fixture_notice": "SampleNote, OtherNote and every rule/value are fictional test material. synthetic:// references identify local records and are not external authorities.",
  "rules": {
    "interval": "valid_from inclusive, valid_until exclusive; ISO calendar dates",
    "roles": "public can see public; staff can see public and staff; role supplied by fixture, no authentication tested",
    "record_type": "invoice is a separate explicit policy class; any applies to both",
    "ranking": "query/passage lowercase ASCII-token overlap; stable input-order ties; filtered mode prefers staff-specific rule on equal scores",
    "no_answer": "empty eligible candidate set yields null; not a generated natural-language refusal",
    "citations": "eligible source plus exact quoted substring plus matching controlled claim_key/claim_value; does not evaluate arbitrary paraphrases"
  },
  "documents": [
    {
      "doc_id": "sample-retention-v1",
      "source_ref": "synthetic://sample-retention-v1",
      "product": "SampleNote",
      "record_type": "standard",
      "claim_key": "retention_days",
      "claim_value": "30 days",
      "passage": "SampleNote standard retention: standard records are kept for 30 days. This old policy ended on 2026-07-01.",
      "valid_from": "2026-01-01",
      "valid_until": "2026-07-01",
      "audience": "public"
    },
    {
      "doc_id": "sample-staff-export-v2",
      "source_ref": "synthetic://sample-staff-export-v2",
      "product": "SampleNote",
      "record_type": "any",
      "claim_key": "export_limit",
      "claim_value": "5000 records",
      "passage": "SampleNote export batch limit for staff is 5000 records.",
      "valid_from": "2026-07-01",
      "valid_until": null,
      "audience": "staff"
    },
    {
      "doc_id": "sample-invoice-v1",
      "source_ref": "synthetic://sample-invoice-v1",
      "product": "SampleNote",
      "record_type": "invoice",
      "claim_key": "retention_days",
      "claim_value": "60 days",
      "passage": "SampleNote invoice retention: invoice records are kept for 60 days. This old exception ended on 2026-07-01.",
      "valid_from": "2026-01-01",
      "valid_until": "2026-07-01",
      "audience": "public"
    },
    {
      "doc_id": "sample-retention-v2",
      "source_ref": "synthetic://sample-retention-v2",
      "product": "SampleNote",
      "record_type": "standard",
      "claim_key": "retention_days",
      "claim_value": "14 days",
      "passage": "SampleNote standard retention: standard records are kept for 14 days. Invoice records follow the separate invoice policy.",
      "valid_from": "2026-07-01",
      "valid_until": "2027-01-01",
      "audience": "public"
    },
    {
      "doc_id": "sample-invoice-v2",
      "source_ref": "synthetic://sample-invoice-v2",
      "product": "SampleNote",
      "record_type": "invoice",
      "claim_key": "retention_days",
      "claim_value": "90 days",
      "passage": "SampleNote invoice retention: invoice records are kept for 90 days. This is an exception to standard retention.",
      "valid_from": "2026-07-01",
      "valid_until": null,
      "audience": "public"
    },
    {
      "doc_id": "sample-public-export-v2",
      "source_ref": "synthetic://sample-public-export-v2",
      "product": "SampleNote",
      "record_type": "any",
      "claim_key": "export_limit",
      "claim_value": "100 records",
      "passage": "SampleNote export batch limit for public users is 100 records.",
      "valid_from": "2026-07-01",
      "valid_until": null,
      "audience": "public"
    },
    {
      "doc_id": "other-retention-v1",
      "source_ref": "synthetic://other-retention-v1",
      "product": "OtherNote",
      "record_type": "standard",
      "claim_key": "retention_days",
      "claim_value": "14 days",
      "passage": "OtherNote standard retention: standard records are kept for 14 days.",
      "valid_from": "2026-07-01",
      "valid_until": null,
      "audience": "public"
    },
    {
      "doc_id": "sample-format-v2",
      "source_ref": "synthetic://sample-format-v2",
      "product": "SampleNote",
      "record_type": "any",
      "claim_key": "export_format",
      "claim_value": "CSV",
      "passage": "SampleNote supports CSV export. This document does not state SAML support.",
      "valid_from": "2026-07-01",
      "valid_until": null,
      "audience": "public"
    },
    {
      "doc_id": "sample-retention-v3",
      "source_ref": "synthetic://sample-retention-v3",
      "product": "SampleNote",
      "record_type": "standard",
      "claim_key": "retention_days",
      "claim_value": "7 days",
      "passage": "SampleNote standard retention: standard records are kept for 7 days under the future policy.",
      "valid_from": "2027-01-01",
      "valid_until": null,
      "audience": "public"
    }
  ],
  "retrieval_cases": [
    {
      "case_id": "current_standard",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "expected_doc_id": "sample-retention-v2",
      "expected_value": "14 days"
    },
    {
      "case_id": "historical_standard",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-03-01",
        "product": "SampleNote"
      },
      "expected_doc_id": "sample-retention-v1",
      "expected_value": "30 days"
    },
    {
      "case_id": "invoice_exception",
      "query": {
        "question": "SampleNote invoice retention days",
        "claim_key": "retention_days",
        "record_type": "invoice",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "expected_doc_id": "sample-invoice-v2",
      "expected_value": "90 days"
    },
    {
      "case_id": "public_export",
      "query": {
        "question": "SampleNote export batch limit",
        "claim_key": "export_limit",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "expected_doc_id": "sample-public-export-v2",
      "expected_value": "100 records"
    },
    {
      "case_id": "staff_export",
      "query": {
        "question": "SampleNote export batch limit",
        "claim_key": "export_limit",
        "record_type": "standard",
        "role": "staff",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "expected_doc_id": "sample-staff-export-v2",
      "expected_value": "5000 records"
    },
    {
      "case_id": "no_answer",
      "query": {
        "question": "Does SampleNote support SAML?",
        "claim_key": "saml_support",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "expected_doc_id": null,
      "expected_value": null
    },
    {
      "case_id": "different_product",
      "query": {
        "question": "OtherNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "OtherNote"
      },
      "expected_doc_id": "other-retention-v1",
      "expected_value": "14 days"
    },
    {
      "case_id": "future_policy",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2027-02-01",
        "product": "SampleNote"
      },
      "expected_doc_id": "sample-retention-v3",
      "expected_value": "7 days"
    }
  ],
  "citation_cases": [
    {
      "case_id": "valid_current_quote",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "citation": {
        "doc_id": "sample-retention-v2",
        "quote": "SampleNote standard retention: standard records are kept for 14 days. Invoice records follow the separate invoice policy.",
        "claim_key": "retention_days",
        "claim_value": "14 days"
      },
      "expected_accepted": true,
      "expected_reason": "accepted"
    },
    {
      "case_id": "altered_quote",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "citation": {
        "doc_id": "sample-retention-v2",
        "quote": "Standard records are kept for 41 days.",
        "claim_key": "retention_days",
        "claim_value": "14 days"
      },
      "expected_accepted": false,
      "expected_reason": "quote_not_in_source"
    },
    {
      "case_id": "wrong_value",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "citation": {
        "doc_id": "sample-retention-v2",
        "quote": "SampleNote standard retention: standard records are kept for 14 days. Invoice records follow the separate invoice policy.",
        "claim_key": "retention_days",
        "claim_value": "41 days"
      },
      "expected_accepted": false,
      "expected_reason": "claim_value_mismatch"
    },
    {
      "case_id": "expired_source",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "citation": {
        "doc_id": "sample-retention-v1",
        "quote": "SampleNote standard retention: standard records are kept for 30 days. This old policy ended on 2026-07-01.",
        "claim_key": "retention_days",
        "claim_value": "30 days"
      },
      "expected_accepted": false,
      "expected_reason": "source_not_eligible"
    },
    {
      "case_id": "unauthorized_source",
      "query": {
        "question": "SampleNote export batch limit",
        "claim_key": "export_limit",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "citation": {
        "doc_id": "sample-staff-export-v2",
        "quote": "SampleNote export batch limit for staff is 5000 records.",
        "claim_key": "export_limit",
        "claim_value": "5000 records"
      },
      "expected_accepted": false,
      "expected_reason": "source_not_eligible"
    },
    {
      "case_id": "unknown_source",
      "query": {
        "question": "SampleNote standard retention days",
        "claim_key": "retention_days",
        "record_type": "standard",
        "role": "public",
        "as_of": "2026-10-21",
        "product": "SampleNote"
      },
      "citation": {
        "doc_id": "missing-source",
        "quote": "No such source.",
        "claim_key": "retention_days",
        "claim_value": "14 days"
      },
      "expected_accepted": false,
      "expected_reason": "unknown_source"
    }
  ]
}
