{
  "kind": "executed synthetic permission-policy model",
  "run_on": "2026-11-05",
  "runtime": "Python standard library",
  "case_count": 16,
  "all_expected_observations_matched": true,
  "cases": [
    {
      "case": "own_record_active_a",
      "expected": true,
      "observed": true
    },
    {
      "case": "other_owner_active_a",
      "expected": false,
      "observed": false
    },
    {
      "case": "authorized_b_not_activated",
      "expected": false,
      "observed": false
    },
    {
      "case": "authorized_b_activated",
      "expected": true,
      "observed": true
    },
    {
      "case": "activate_unassigned_b",
      "expected": {
        "error": "unauthorized_company_context"
      },
      "observed": {
        "error": "unauthorized_company_context"
      }
    },
    {
      "case": "extra_group_expands_records",
      "expected": true,
      "observed": true
    },
    {
      "case": "global_company_still_limits_broad_group",
      "expected": false,
      "observed": false
    },
    {
      "case": "omitted_global_company_restriction",
      "expected": true,
      "observed": true
    },
    {
      "case": "conflicting_global_restrictions",
      "expected": false,
      "observed": false
    },
    {
      "case": "shared_record_requires_explicit_policy",
      "expected": {
        "strict": false,
        "shared_allowed": true
      },
      "observed": {
        "strict": false,
        "shared_allowed": true
      }
    },
    {
      "case": "global_restriction_alone_grants_nothing",
      "expected": false,
      "observed": false
    },
    {
      "case": "operations_are_separate",
      "expected": {
        "read": true,
        "write": false,
        "delete": false
      },
      "observed": {
        "read": true,
        "write": false,
        "delete": false
      }
    },
    {
      "case": "naive_conversion_expands_old_policy",
      "expected": {
        "old_policy": false,
        "naive_rewrite": true
      },
      "observed": {
        "old_policy": false,
        "naive_rewrite": true
      }
    },
    {
      "case": "visibility_does_not_select_company_value",
      "expected": {
        "record_b_readable": true,
        "value_with_a": "100.00",
        "value_with_b": "120.00"
      },
      "observed": {
        "record_b_readable": true,
        "value_with_a": "100.00",
        "value_with_b": "120.00"
      }
    },
    {
      "case": "visibility_does_not_validate_relation_company",
      "expected": {
        "access_allowed": true,
        "relation_consistent": false
      },
      "observed": {
        "access_allowed": true,
        "relation_consistent": false
      }
    },
    {
      "case": "empty_context_is_fallback_not_deny_all",
      "expected": {
        "active": [
          "A",
          "B"
        ],
        "record_b_readable": true
      },
      "observed": {
        "active": [
          "A",
          "B"
        ],
        "record_b_readable": true
      }
    }
  ],
  "limits": [
    "No Odoo, database, HTTP endpoint or real user was exercised.",
    "No official upgrade converter was executed.",
    "The naive rewrite is an intentional counterexample, not converter output.",
    "Groups are already-expanded fixture inputs; inheritance is not implemented.",
    "No domain parser, field-access engine, sudo, caches or create/write hooks.",
    "Company-dependent values and relation consistency are illustrative controls.",
    "Native role/company/operation cases remain NOT_RUN."
  ]
}
