{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-24T21:56:24.175Z",
  "record_id": "VXI-EXT-PROCUREMENT-OPENFGA-RELATION-RENAME-MIGRATION-01-v1",
  "record_kind": "external_reference",
  "title": "OpenFGA model and tuple migration",
  "system": "OpenFGA",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does publishing a renamed relation in OpenFGA migrate existing relationship tuples automatically?",
  "near_questions": [
    "Are existing tuples renamed when an OpenFGA relation changes?",
    "What must accompany a new OpenFGA model during migration?",
    "Does a new authorization model ID prove tuple migration finished?",
    "How should a permission review bind model, tuples and application rollout?"
  ],
  "supported_claims": [
    {
      "claim": "The pinned immutable-model guide describes relation renaming as a coordinated migration: create the new model, update application relation names, copy existing tuples to the new relation and deploy against the new model ID. Creating an immutable model version alone is not the tuple or application migration. Rollout evidence must connect all three states.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Tuple completeness and application rollout are not observed.",
    "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": "The pinned immutable-model guide describes relation renaming as a coordinated migration: create the new model, update application relation names, copy existing tuples to the new relation and deploy against the new model ID. Creating an immutable model version alone is not the tuple or application migration. Rollout evidence must connect all three states.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "Immutable Authorization Models",
    "source_url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/getting-started/immutable-models.mdx",
    "checked_on": "2026-10-24",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-OPENFGA-RELATION-RENAME-MIGRATION-01-v1",
    "candidate_record_sha256": "d183ca8b7f763604110e783b7e702cb471683ee2f8fc8eea48a90c0d0290134d",
    "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": "The pinned immutable-model guide describes relation renaming as a coordinated migration: create the new model, update application relation names, copy existing tuples to the new relation and deploy against the new model ID. Creating an immutable model version alone is not the tuple or application migration. Rollout evidence must connect all three states.",
    "required_buyer_context": "Old and new models with relation names; Tuple migration result and deployed application model ID; Post-migration checks comparing expected and effective access. 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": "Does publishing a renamed relation in OpenFGA migrate existing relationship tuples automatically?",
    "documented_statement": {
      "status": "documented",
      "statement": "The pinned immutable-model guide describes relation renaming as a coordinated migration: create the new model, update application relation names, copy existing tuples to the new relation and deploy against the new model ID. Creating an immutable model version alone is not the tuple or application migration. Rollout evidence must connect all three states.",
      "source_ids": [
        "fga-models"
      ]
    },
    "review_inference": {
      "status": "review_inference",
      "statement": "Avoid losing or unintentionally changing access during a relation rename. This is a source-based review decision, not an observed deployment result.",
      "source_ids": [
        "fga-models"
      ]
    },
    "buyer_evidence_required": [
      "Old and new models with relation names",
      "Tuple migration result and deployed application model ID",
      "Post-migration checks comparing expected and effective access"
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Do not mark a relation migration complete solely because a new model was written."
    },
    "unknowns": "Tuple completeness and application rollout are not observed.",
    "unknown_finding": {
      "status": "unknown",
      "statement": "Tuple completeness and application rollout are not observed."
    },
    "evidence_sources": [
      {
        "source_id": "fga-models",
        "url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/getting-started/immutable-models.mdx",
        "final_url": "https://raw.githubusercontent.com/openfga/openfga.dev/fb5359796e1e1027985675cfdd2413e6dcbfdf5d/docs/content/getting-started/immutable-models.mdx",
        "status": 200,
        "captured_at_utc": "2026-10-24T21:45:01.675Z",
        "sha256": "c8e62b9fa4cc872d406c19bb36c47704d5aad65d75d998c19911bad261a13ed7",
        "bytes": 5026,
        "title": "Immutable Authorization Models",
        "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 to target a particular model",
          "Benefits of passing in an authorization model ID",
          "Complex model migrations"
        ],
        "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": "Avoid losing or unintentionally changing access during a relation rename.",
      "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": "Avoid losing or unintentionally changing access during a relation rename.",
    "refusal_conditions": [
      "Do not mark a relation migration complete solely because a new model was written."
    ]
  },
  "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": "Avoid losing or unintentionally changing access during a relation rename.",
    "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-relation-rename-migration",
  "machine_readable_record": "/varexis-index/records/openfga-relation-rename-migration.json"
}
