{
  "version": 1,
  "description": "Credits permission matrix (Model-3 pilot, #3880). Generated from a read-only prod dump. Definitions only (PermissionSet/ObjectPermissions/FieldPermissions), never PermissionSetAssignment. Existing rows carry prod ids and are adopted by PRIMARY key (upsert, IsDeleted=0 reactivates); the applier is additive/upsert-only. ObjectPermissions are Credits__c-only (Topup is a ControlledByParent child); explicit read=0 DENY rows are preserved and mirrored onto Topup; Sales Ops ModifyAll cascades to full CRUD incl. delete (decision 2026-07-20); Regional_Ops_User__c read FLS added to Credits_Sales_Manager on both objects (#3921 forcing item).",
  "source": {
    "env": "prod",
    "generator": "gen_credits_permissions_seed.py"
  },
  "permissionSets": [
    {
      "id": "permset_credits_ae_manual_20260531",
      "name": "Credits_AE",
      "label": "Credits AE",
      "description": "AE / Sales Rep persona — owns the engagement record. CRUD on own records of Credits__c. No delete.",
      "isActive": 1,
      "isCustom": 1
    },
    {
      "id": "permset_credits_finance_ops_manual_20260531",
      "name": "Credits_Finance_Ops",
      "label": "Credits Finance Ops",
      "description": "Finance Ops persona — reads all Credits records, approves Step 2 (Finance) of the 3-step chain. No direct edit/create/delete.",
      "isActive": 1,
      "isCustom": 1
    },
    {
      "id": "permset_credits_marketing_read_manual_20260531",
      "name": "Credits_Marketing_Read",
      "label": "Credits Marketing Read",
      "description": "Marketing persona — reads context fields only on Credits__c. Credit amounts hidden via FLS. No edit/create/delete.",
      "isActive": 1,
      "isCustom": 1
    },
    {
      "id": "permset_credits_sales_manager_manual_20260531",
      "name": "Credits_Sales_Manager",
      "label": "Credits Sales Manager",
      "description": "Sales Manager persona — reads team Credits records via role hierarchy. Approves in role chain. No direct edit or create.",
      "isActive": 1,
      "isCustom": 1
    },
    {
      "id": "permset_credits_sales_ops_manual_20260531",
      "name": "Credits_Sales_Ops",
      "label": "Credits Sales Ops",
      "description": "Sales Ops persona — CRUD across teams on Credits__c for batch cleanup. Cross-team writes trigger the audit notification Flow (Phase 2 per NX#930).",
      "isActive": 1,
      "isCustom": 1
    }
  ],
  "objectPermissions": [
    {
      "id": "objperm_credits_ae_manual_20260531",
      "parentId": "permset_credits_ae_manual_20260531",
      "sobjectType": "Credits__c",
      "read": 1,
      "create": 1,
      "edit": 1,
      "delete": 0,
      "viewAll": 0,
      "modifyAll": 0
    },
    {
      "id": "objperm_credits_finance_manual_20260531",
      "parentId": "permset_credits_finance_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "read": 1,
      "create": 0,
      "edit": 0,
      "delete": 0,
      "viewAll": 1,
      "modifyAll": 0
    },
    {
      "id": "objperm_credits_marketing_manual_20260531",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits__c",
      "read": 1,
      "create": 0,
      "edit": 0,
      "delete": 0,
      "viewAll": 0,
      "modifyAll": 0
    },
    {
      "id": "objperm_credits_sm_manual_20260531",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits__c",
      "read": 1,
      "create": 0,
      "edit": 0,
      "delete": 0,
      "viewAll": 0,
      "modifyAll": 0
    },
    {
      "id": "objperm_credits_salesops_manual_20260531",
      "parentId": "permset_credits_sales_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "read": 1,
      "create": 1,
      "edit": 1,
      "delete": 1,
      "viewAll": 1,
      "modifyAll": 1
    }
  ],
  "fieldPermissions": [
    {
      "id": "fieldperm_credits_topup_ae_Approval_Status_pilot",
      "parentId": "permset_credits_ae_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_ae_Requires_Finance_Approval_pilot",
      "parentId": "permset_credits_ae_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_ae_approval_manual_20260531",
      "parentId": "permset_credits_ae_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_ae_lifecycle_manual_20260531",
      "parentId": "permset_credits_ae_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Credit_Lifecycle__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_ae_requires_finance_manual_20260531",
      "parentId": "permset_credits_ae_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_finance_ops_Approval_Status_pilot",
      "parentId": "permset_credits_finance_ops_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_finance_ops_Requires_Finance_Approval_pilot",
      "parentId": "permset_credits_finance_ops_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_finance_approval_manual_20260531",
      "parentId": "permset_credits_finance_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_finance_lifecycle_manual_20260531",
      "parentId": "permset_credits_finance_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Credit_Lifecycle__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_finance_requires_finance_manual_20260531",
      "parentId": "permset_credits_finance_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 1
    },
    {
      "id": "fieldperm_credits_topup_marketing_read_Approval_Status_pilot",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Approval_Status__c",
      "read": 0,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_marketing_read_Requires_Finance_Approval_pilot",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Requires_Finance_Approval__c",
      "read": 0,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_marketing_read_Topup_Amount_pilot",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Topup_Amount__c",
      "read": 0,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_marketing_approval_manual_20260531",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Approval_Status__c",
      "read": 0,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_marketing_lifecycle_manual_20260531",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Credit_Lifecycle__c",
      "read": 0,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_marketing_initial_hidden_manual_20260531",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Initial_Credits__c",
      "read": 0,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_marketing_requires_finance_manual_20260531",
      "parentId": "permset_credits_marketing_read_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Requires_Finance_Approval__c",
      "read": 0,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_sales_manager_Approval_Status_pilot",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_sm_regionalops_topup_pilot",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Regional_Ops_User__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_sales_manager_Requires_Finance_Approval_pilot",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_sm_approval_manual_20260531",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_sm_lifecycle_manual_20260531",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Credit_Lifecycle__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_sm_regionalops_credits_pilot",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Regional_Ops_User__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_sm_requires_finance_manual_20260531",
      "parentId": "permset_credits_sales_manager_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_sales_ops_Approval_Status_pilot",
      "parentId": "permset_credits_sales_ops_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_topup_sales_ops_Requires_Finance_Approval_pilot",
      "parentId": "permset_credits_sales_ops_manual_20260531",
      "sobjectType": "Credits_Topup__c",
      "field": "Credits_Topup__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_salesops_approval_manual_20260531",
      "parentId": "permset_credits_sales_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Approval_Status__c",
      "read": 1,
      "edit": 0
    },
    {
      "id": "fieldperm_credits_salesops_lifecycle_manual_20260531",
      "parentId": "permset_credits_sales_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Credit_Lifecycle__c",
      "read": 1,
      "edit": 1
    },
    {
      "id": "fieldperm_credits_salesops_requires_finance_manual_20260531",
      "parentId": "permset_credits_sales_ops_manual_20260531",
      "sobjectType": "Credits__c",
      "field": "Credits__c.Requires_Finance_Approval__c",
      "read": 1,
      "edit": 1
    }
  ]
}
