{
  "schema_version": "1.0",
  "baseline": "A-document-access-service-v2",
  "phase": "Batch 12 · gating envelope",
  "updated_at": "2026-04-20",
  "owner": "session_a",
  "purpose_en": "Sample /api/access/gate responses. Pairs with gating_contract.json. Use as QA fixtures.",
  "examples": [
    {
      "id": "GATE-01",
      "scenario": "admin · planning doc · full render",
      "query": { "doc_id": "/planning/document-access-model.html", "email": "admin@pattayatogether.example" },
      "expected": {
        "state": "visible", "render_mode": "full",
        "allow_render": true, "allow_read": true, "allow_share": true, "allow_export": true,
        "stub_html": null
      }
    },
    {
      "id": "GATE-02",
      "scenario": "external partner · restricted doc · include_stub=false · content + banner",
      "query": { "doc_id": "/planning/feature-flags-batch-4-readiness.html", "email": "partner@external.example", "include_stub": false },
      "expected": {
        "state": "hidden-group", "render_mode": "blocked",
        "allow_render": false, "allow_read": false, "allow_share": false, "allow_export": false,
        "stub_html": null,
        "reason_en": "This document's group is not visible under your current access profile.",
        "note": "external partner does not have 'planning' in visible_groups · group rule fires"
      }
    },
    {
      "id": "GATE-03",
      "scenario": "external partner · restricted doc · include_stub=true · stub returned",
      "query": { "doc_id": "/planning/feature-flags-batch-4-readiness.html", "email": "partner@external.example", "include_stub": true },
      "expected": {
        "state": "hidden-group", "render_mode": "blocked",
        "allow_render": false,
        "stub_html": "<!DOCTYPE html>... · self-contained inline-styled fragment"
      }
    },
    {
      "id": "GATE-04",
      "scenario": "external · explicit deny via hidden_documents",
      "query": { "doc_id": "/planning/document-access-model.html", "email": "denied@external.example", "include_stub": true },
      "expected": {
        "state": "hidden-group", "render_mode": "blocked",
        "allow_render": false,
        "note": "group rule fires first (planning not in visible_groups); explicit deny would fire only if group were allowed"
      }
    },
    {
      "id": "GATE-05",
      "scenario": "external · knowledge doc · visible",
      "query": { "doc_id": "/kb/phase-overview-1a-12f.html", "email": "partner@external.example" },
      "expected": {
        "state": "visible", "render_mode": "full", "allow_read": true, "allow_share": true, "allow_export": true
      }
    },
    {
      "id": "GATE-06",
      "scenario": "anonymous · planning doc · blocked",
      "query": { "doc_id": "/planning/admin-control-plane-phase-2b.html", "email": null, "include_stub": true },
      "expected": {
        "state": "hidden-group", "render_mode": "blocked",
        "stub_html": "present"
      }
    },
    {
      "id": "GATE-07",
      "scenario": "admin · unlisted doc · visible by default (group filter skipped)",
      "query": { "doc_id": "/some/unlisted/page.html", "email": "admin@pattayatogether.example" },
      "expected": { "state": "visible", "render_mode": "full", "group_id": null }
    }
  ],
  "cross_references": {
    "contract":        "docs/runtime/document-access-service/gating_contract.json",
    "access_contract": "docs/runtime/document-access-service/access_contract.json",
    "decision_examples":"docs/runtime/document-access-service/access_decision_examples.json"
  }
}
