{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-24T21:56:24.175Z",
  "record_id": "VXI-EXT-PROCUREMENT-OPENFGA-CHANGE-LOG-CONTEXT-OMISSION-01-v1",
  "record_kind": "external_reference",
  "title": "OpenFGA change log and decision reconstruction",
  "system": "OpenFGA",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Can OpenFGA Read Changes alone reconstruct decisions that used contextual tuples?",
  "near_questions": [
    "Are ephemeral FGA permissions present in Read Changes?",
    "Can an OpenFGA tuple-change export explain every authorization?",
    "What is missing from a permission index built only from FGA writes?",
    "How should contextual tuples be accounted for in an FGA audit?"
  ],
  "supported_claims": [
    {
      "claim": "OpenFGA contextual tuples exist only for a request and are not stored. Read Changes reports stored tuple writes and deletes, and the token-claims guide warns that permission-aware indexes built from it may not account for contextual tuples. A complete reconstruction needs the request-local inputs as well as the stored changes; the change stream is not an execution trace.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Request logs, omitted context and actual tool execution are unknown.",
    "Authentication or a policy result does not establish business approval, safe tool behaviour or completed execution.",
    "Buyer deployment testing, live runtime enforcement, certification or permission to act",
    "Expanded capabilities or licences for existing INDEX executables"
  ],
  "public_summary": "OpenFGA contextual tuples exist only for a request and are not stored. Read Changes reports stored tuple writes and deletes, and the token-claims guide warns that permission-aware indexes built from it may not account for contextual tuples. A complete reconstruction needs the request-local inputs as well as the stored changes; the change stream is not an execution trace.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "Contextual Tuples",
    "source_url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/interacting/contextual-tuples.mdx",
    "checked_on": "2026-10-24",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-OPENFGA-CHANGE-LOG-CONTEXT-OMISSION-01-v1",
    "candidate_record_sha256": "e8ac403d5f02a7dcc1709f0ce798b94d3a14a0374fa536f886094b7ef6c3fb2b",
    "method": "Primary documentation reviewed for the published bounded statement.",
    "deployment_tested_by_varexis": false,
    "revalidation": "The delivered snapshot preserves the review date shown. Recheck current primary documentation and deployment context before relying on present applicability; payment does not trigger fresh research."
  },
  "answer_policy": {
    "classification": "DOCUMENTED_WITH_DEPLOYMENT_BOUNDARY",
    "bounded_answer": "OpenFGA contextual tuples exist only for a request and are not stored. Read Changes reports stored tuple writes and deletes, and the token-claims guide warns that permission-aware indexes built from it may not account for contextual tuples. A complete reconstruction needs the request-local inputs as well as the stored changes; the change stream is not an execution trace.",
    "required_buyer_context": "Read Changes export and cursor coverage; Decision requests containing contextual tuples; Authorization model version and input-retention policy. Buyer deployment not inspected.",
    "missing_evidence": "A broader claim needs evidence matching the intended use. Payment does not upgrade the evidence state."
  },
  "private_boundary": "Raw logs, thresholds, private paths, source code, protected mechanisms and reconstruction-level details are excluded from public and paid delivery.",
  "decision_profile": {
    "schema": "varexis-vendor-evidence-review/1",
    "review_status": "documentation_review_only",
    "checked_on": "2026-10-24",
    "claim_to_check": "Can OpenFGA Read Changes alone reconstruct decisions that used contextual tuples?",
    "documented_statement": {
      "status": "documented",
      "statement": "OpenFGA contextual tuples exist only for a request and are not stored. Read Changes reports stored tuple writes and deletes, and the token-claims guide warns that permission-aware indexes built from it may not account for contextual tuples. A complete reconstruction needs the request-local inputs as well as the stored changes; the change stream is not an execution trace.",
      "source_ids": [
        "fga-context",
        "fga-changes",
        "fga-token-claims"
      ]
    },
    "review_inference": {
      "status": "review_inference",
      "statement": "Recognize missing request-local authority in an exported relationship history. This is a source-based review decision, not an observed deployment result.",
      "source_ids": [
        "fga-context",
        "fga-changes",
        "fga-token-claims"
      ]
    },
    "buyer_evidence_required": [
      "Read Changes export and cursor coverage",
      "Decision requests containing contextual tuples",
      "Authorization model version and input-retention policy"
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Do not claim complete decision reconstruction from stored relationship changes alone."
    },
    "unknowns": "Request logs, omitted context and actual tool execution are unknown.",
    "unknown_finding": {
      "status": "unknown",
      "statement": "Request logs, omitted context and actual tool execution are unknown."
    },
    "evidence_sources": [
      {
        "source_id": "fga-context",
        "url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/interacting/contextual-tuples.mdx",
        "final_url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/interacting/contextual-tuples.mdx",
        "status": 200,
        "captured_at_utc": "2026-10-24T21:45:02.197Z",
        "sha256": "a2f69100dea52414e63bfb41f8b2b0b475a21311cf385ae51fe99670cf370678",
        "bytes": 4010,
        "title": "Contextual Tuples",
        "hash_basis": "Decoded HTTP response body bytes",
        "rights_review": "Original factual paraphrase and source metadata only; Apache-2.0 repository captures retained privately and not redistributed.",
        "checked_on": "2026-10-24",
        "capture_status": 200,
        "claim_review_completed": true,
        "reviewed_sections": [
          "How Contextual Tuples Work",
          "Important Considerations",
          "User Directories, Identity Tokens, And Relationships",
          "02. Get changes for all object types",
          "Warning"
        ],
        "version_context": "Pinned openfga/openfga.dev revision fb5359796e1e1027985675cfdd2413e6dcbfdf5d captured 2026-10-24. Documentation review, not evidence that a buyer implementation conforms."
      },
      {
        "source_id": "fga-changes",
        "url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/interacting/read-tuple-changes.mdx",
        "final_url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/interacting/read-tuple-changes.mdx",
        "status": 200,
        "captured_at_utc": "2026-10-24T21:45:02.658Z",
        "sha256": "d75493f66f6ee2bc7966bddd45cd8abc0557a4596996cdfa06689c729133063c",
        "bytes": 8743,
        "title": "How to get tuple changes",
        "hash_basis": "Decoded HTTP response body bytes",
        "rights_review": "Original factual paraphrase and source metadata only; Apache-2.0 repository captures retained privately and not redistributed.",
        "checked_on": "2026-10-24",
        "capture_status": 200,
        "claim_review_completed": true,
        "reviewed_sections": [
          "How Contextual Tuples Work",
          "02. Get changes for all object types",
          "Warning",
          "03. Get changes for a specific object type"
        ],
        "version_context": "Pinned openfga/openfga.dev revision fb5359796e1e1027985675cfdd2413e6dcbfdf5d captured 2026-10-24. Documentation review, not evidence that a buyer implementation conforms."
      },
      {
        "source_id": "fga-token-claims",
        "url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/modeling/token-claims-contextual-tuples.mdx",
        "final_url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/modeling/token-claims-contextual-tuples.mdx",
        "status": 200,
        "captured_at_utc": "2026-10-24T21:45:03.097Z",
        "sha256": "5853ed9616a25b73007bbbc80884fed632a0a412cec0e1387cc02ad9e38c76da",
        "bytes": 7606,
        "title": "Use Token Claims As Contextual Tuples",
        "hash_basis": "Decoded HTTP response body bytes",
        "rights_review": "Original factual paraphrase and source metadata only; Apache-2.0 repository captures retained privately and not redistributed.",
        "checked_on": "2026-10-24",
        "capture_status": 200,
        "claim_review_completed": true,
        "reviewed_sections": [
          "User Directories, Identity Tokens, And Relationships",
          "Important Considerations",
          "How Contextual Tuples Work",
          "02. Get changes for all object types",
          "Warning"
        ],
        "version_context": "Pinned openfga/openfga.dev revision fb5359796e1e1027985675cfdd2413e6dcbfdf5d captured 2026-10-24. Documentation review, not evidence that a buyer implementation conforms."
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Documentation review only; the buyer must establish applicability and actual outcomes. INDEX does not inspect or control the deployment.",
    "paid_value": {
      "decision_context": "Recognize missing request-local authority in an exported relationship history.",
      "free": "Complete review, sources, practical questions and limitations; may be saved locally.",
      "single_request": "Existing server-saved version-bound route snapshot for later authenticated retrieval.",
      "evidence_receipt": "The same snapshot plus the existing unsigned delivery receipt.",
      "excluded": [
        "Fresh vendor research",
        "Continuous monitoring or change alerts",
        "Testing the buyer configuration",
        "Private evidence or vendor certification"
      ],
      "integrity": "Hashes identify content versions; they do not prove truth or provide a signature."
    },
    "revalidation": {
      "trigger": "A saved purchase does not recheck the source or buyer configuration.",
      "specific_watch": "Recheck the pinned source, actual implementation version, policy inputs and retained decision evidence before relying on a current outcome."
    },
    "buyer_relevance": "Recognize missing request-local authority in an exported relationship history.",
    "refusal_conditions": [
      "Do not claim complete decision reconstruction from stored relationship changes alone."
    ]
  },
  "niche": {
    "niche_id": "agent-authority-action-evidence",
    "label": "Agent Authority & Action Evidence",
    "classification_id": "identity",
    "classification_label": "Agent Identity, Credentials & Delegation",
    "topic_id": "identity",
    "buyer_intent": "Recognize missing request-local authority in an exported relationship history.",
    "comparison_role": "supplementary_discovery"
  },
  "paid_access_note": "The full published answer and boundaries are free. Paid access saves the selected route and source versions, with an unsigned receipt when purchased. Preview coverage before paying. Fresh research, bespoke assessment and protected evidence are excluded.",
  "service_route": {
    "request_guide": "/varexis-index/request.html",
    "request_workflow": "/varexis-index/request-workflow.json",
    "service_id": "single_request",
    "service_routes_url": "/varexis-index/service-routes.json",
    "payment_required": true,
    "availability_endpoint": "/api/index/capabilities",
    "operational_status": "AUTOMATIC_SERVICE_CAPABILITIES_GATED",
    "checkout_url": "/index-access"
  },
  "authority_boundary": "VAREXIS-INDEX informs evidence reliance. It does not provide advice, certification, deployment authority, security assurance, production approval, or guarantee.",
  "human_page": "/varexis-index/catalog.html#openfga-change-log-context-omission",
  "machine_readable_record": "/varexis-index/records/openfga-change-log-context-omission.json"
}
