{
  "schema": "OPS016_SYNTHETIC_FIXTURES_v1",
  "cases": [
    {
      "id": "baseline-semantic-match",
      "object_identity": "public.table.accounts",
      "target_definition": "accounts(id uuid not null, email text not null)",
      "runtime_observation": "accounts(id uuid NOT NULL, email text NOT NULL)",
      "observation_source": "information_schema+catalog",
      "visibility_scope": "COMPLETE_SYNTHETIC",
      "target_present": true,
      "runtime_present": true,
      "semantic_equivalent": true,
      "raw_text_equal": false,
      "expected_authority": null,
      "visibility_limited": false,
      "runtime_extension_owned": false,
      "transfer": false,
      "changed_dimension": "formatting"
    },
    {
      "id": "missing-foreign-key-drift",
      "object_identity": "public.constraint.orders_customer_fk",
      "target_definition": "FOREIGN KEY (customer_id) REFERENCES customers(id)",
      "runtime_observation": "MISSING",
      "observation_source": "information_schema+pg_get_constraintdef",
      "visibility_scope": "COMPLETE_SYNTHETIC",
      "target_present": true,
      "runtime_present": false,
      "semantic_equivalent": false,
      "raw_text_equal": false,
      "expected_authority": null,
      "visibility_limited": false,
      "runtime_extension_owned": false,
      "transfer": false,
      "changed_dimension": "constraint_missing"
    },
    {
      "id": "raw-diff-semantic-equivalent",
      "object_identity": "public.index.orders_created_idx",
      "target_definition": "CREATE INDEX orders_created_idx ON orders (created_at, id)",
      "runtime_observation": "CREATE INDEX orders_created_idx ON public.orders USING btree (created_at, id)",
      "observation_source": "schema_only_dump+catalog",
      "visibility_scope": "COMPLETE_SYNTHETIC",
      "target_present": true,
      "runtime_present": true,
      "semantic_equivalent": true,
      "raw_text_equal": false,
      "expected_authority": null,
      "visibility_limited": false,
      "runtime_extension_owned": false,
      "transfer": false,
      "changed_dimension": "dump_format_order"
    },
    {
      "id": "restricted-visibility-unknown",
      "object_identity": "private.view.billing_rollup",
      "target_definition": "CREATE VIEW private.billing_rollup AS SELECT ...",
      "runtime_observation": "NOT_VISIBLE_TO_SYNTHETIC_ROLE",
      "observation_source": "information_schema",
      "visibility_scope": "RESTRICTED_SYNTHETIC_ROLE",
      "target_present": true,
      "runtime_present": null,
      "semantic_equivalent": null,
      "raw_text_equal": false,
      "expected_authority": null,
      "visibility_limited": true,
      "runtime_extension_owned": false,
      "transfer": false,
      "changed_dimension": "visibility"
    },
    {
      "id": "extension-object-expected",
      "object_identity": "public.function.gen_random_uuid",
      "target_definition": "NOT_DECLARED_IN_APPLICATION_DDL",
      "runtime_observation": "EXTENSION_OWNED_OBJECT_PRESENT",
      "observation_source": "catalog_snapshot",
      "visibility_scope": "COMPLETE_SYNTHETIC",
      "target_present": false,
      "runtime_present": true,
      "semantic_equivalent": null,
      "raw_text_equal": false,
      "expected_authority": "ENVIRONMENT_EXTENSION_PGCRYPTO",
      "visibility_limited": false,
      "runtime_extension_owned": true,
      "transfer": false,
      "changed_dimension": "environment_extension"
    },
    {
      "id": "column-default-drift",
      "object_identity": "public.column.accounts.created_at.default",
      "target_definition": "DEFAULT now()",
      "runtime_observation": "DEFAULT clock_timestamp()",
      "observation_source": "information_schema+catalog",
      "visibility_scope": "COMPLETE_SYNTHETIC",
      "target_present": true,
      "runtime_present": true,
      "semantic_equivalent": false,
      "raw_text_equal": false,
      "expected_authority": null,
      "visibility_limited": false,
      "runtime_extension_owned": false,
      "transfer": false,
      "changed_dimension": "default"
    },
    {
      "id": "decompiled-constraint-equivalent",
      "object_identity": "public.constraint.accounts_email_key",
      "target_definition": "UNIQUE (email)",
      "runtime_observation": "UNIQUE (email) /* reconstructed */",
      "observation_source": "pg_get_constraintdef",
      "visibility_scope": "COMPLETE_SYNTHETIC",
      "target_present": true,
      "runtime_present": true,
      "semantic_equivalent": true,
      "raw_text_equal": false,
      "expected_authority": null,
      "visibility_limited": false,
      "runtime_extension_owned": false,
      "transfer": false,
      "changed_dimension": "reconstructed_text"
    },
    {
      "id": "transfer-second-environment",
      "object_identity": "tenant_b.index.events_lookup_idx",
      "target_definition": "INDEX (tenant_id, occurred_at)",
      "runtime_observation": "INDEX (tenant_id, event_type, occurred_at)",
      "observation_source": "catalog_snapshot+schema_only_dump",
      "visibility_scope": "COMPLETE_SYNTHETIC_TRANSFER",
      "target_present": true,
      "runtime_present": true,
      "semantic_equivalent": false,
      "raw_text_equal": false,
      "expected_authority": null,
      "visibility_limited": false,
      "runtime_extension_owned": false,
      "transfer": true,
      "changed_dimension": "index_definition"
    }
  ]
}
