{
  "kind": "proposed native Odoo permission acceptance specification",
  "created_on": "2026-11-05",
  "status": "NOT_RUN",
  "scope": "Approve or replace fixture expectations for the actual business policy before execution. This is not an Odoo module.",
  "cases": [
    {
      "case_id": "P01",
      "scenario": "Own A record, A active",
      "illustrative_expected_result": "ALLOW",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Pair with P02; approve fixture role before native execution."
    },
    {
      "case_id": "P02",
      "scenario": "Other owner in A, own-reader role",
      "illustrative_expected_result": "DENY",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Inspect returned data or explicit denial on the chosen entry point."
    },
    {
      "case_id": "P03",
      "scenario": "User assigned A/B, only A active, own B record",
      "illustrative_expected_result": "DENY",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Record exact company context."
    },
    {
      "case_id": "P04",
      "scenario": "User assigned A/B, both active, own B record",
      "illustrative_expected_result": "ALLOW",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Positive counterpart to P03."
    },
    {
      "case_id": "P05",
      "scenario": "User assigned only A attempts B context",
      "illustrative_expected_result": "REJECT_UNAUTHORIZED_CONTEXT",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Use a controlled ordinary-user identity."
    },
    {
      "case_id": "P06",
      "scenario": "Own-reader plus broader effective group",
      "illustrative_expected_result": "MATCH_APPROVED_ROLE_MATRIX",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "The synthetic broad role expands access; approve or reject that expansion explicitly."
    },
    {
      "case_id": "P07",
      "scenario": "Broad reviewer, B inactive, global company restriction",
      "illustrative_expected_result": "DENY_B_RECORD",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Do not substitute administrator or sudo execution."
    },
    {
      "case_id": "P08",
      "scenario": "Missing company restriction in an isolated mutation fixture",
      "illustrative_expected_result": "ACCEPTANCE_CHECK_DETECTS_UNEXPECTED_ALLOW",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Never remove production restrictions for this case."
    },
    {
      "case_id": "P09",
      "scenario": "Conflicting global restrictions in an isolated mutation fixture",
      "illustrative_expected_result": "POSITIVE_CONTROL_DETECTS_UNEXPECTED_DENIAL",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "The allowed-work control must detect a configuration that blocks everyone."
    },
    {
      "case_id": "P10",
      "scenario": "Shared record with no company",
      "illustrative_expected_result": "MATCH_APPROVED_SHARED_RECORD_POLICY",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Record strict and explicitly shared categories separately."
    },
    {
      "case_id": "P11",
      "scenario": "No matching group grant",
      "illustrative_expected_result": "DENY",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "A global restriction must not be treated as a grant."
    },
    {
      "case_id": "P12",
      "scenario": "Read-only role attempts read, write and delete",
      "illustrative_expected_result": "READ_ALLOWED_WRITE_DELETE_DENIED",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Record each operation separately and inspect absence of forbidden changes."
    },
    {
      "case_id": "P13",
      "scenario": "Actual converted policy versus approved old/new matrix",
      "illustrative_expected_result": "NO_UNAPPROVED_POLICY_DELTA",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Retain converter logs; the downloadable naive rewrite is not converter output."
    },
    {
      "case_id": "P14",
      "scenario": "Both companies visible, company-dependent value",
      "illustrative_expected_result": "EXPECTED_VALUE_FOR_INTENDED_COMPANY",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Record current company and approved native field/value; synthetic 100/120 values are not defaults."
    },
    {
      "case_id": "P15",
      "scenario": "Related record belongs to another company",
      "illustrative_expected_result": "MATCH_APPROVED_RELATION_POLICY",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Check configured fields and method; include an allowed relation counterpart."
    },
    {
      "case_id": "P16",
      "scenario": "Omitted or empty company context",
      "illustrative_expected_result": "NO_UNAPPROVED_FALLBACK_SCOPE",
      "policy_approval": "PENDING",
      "odoo_build": null,
      "module_revision": null,
      "identity": null,
      "effective_groups": null,
      "assigned_companies": null,
      "activated_companies": null,
      "current_company": null,
      "entry_point": null,
      "record_ids": null,
      "approved_expected_result": null,
      "execution_status": "NOT_RUN",
      "observed_result": null,
      "evidence_ref": null,
      "defect_ref": null,
      "owner": null,
      "notes": "Document fallback and explicit-context requirement for the actual entry point."
    }
  ]
}
