{
  "schema": "MAKNOW_AWR003_SYNTHETIC_FIXTURE_v1.0",
  "fixture_id": "AWR003-TRANSFER-001",
  "synthetic": true,
  "rights_and_credentials": "NONE_REQUIRED_OFFLINE",
  "notes": "Second product: exact lookup only, but many independently evolving clients need different nested representations.",
  "search_engine": {
    "technology": "ELASTICSEARCH_OR_OPENSEARCH",
    "layer": "SEARCH_ANALYTICS",
    "problem": "Second product needs exact lookup only",
    "problem_class": "INDEXED_RETRIEVAL",
    "query_pattern": "EXACT_LOOKUP_ONLY",
    "full_text_requirement": "ABSENT",
    "filter_aggregation_requirement": "ABSENT",
    "relevance_requirement": "ABSENT",
    "vector_requirement": "ABSENT",
    "indexing_pipeline": "NOT_REQUIRED_WITH_CURRENT_NEED",
    "source_of_truth": "POSTGRESQL_AUTHORITATIVE",
    "freshness_lag_tolerance": "NOT_REQUIRED_WITH_CURRENT_NEED",
    "consistency_requirement": "PRIMARY_DB_DIRECT_READ",
    "authorization_boundary": "SEARCH_FILTERS_MIRROR_SOURCE_POLICY",
    "simpler_alternative": "POSTGRESQL_FULL_TEXT_AND_EXTENSIONS",
    "operational_owner": "search-platform-owner",
    "cost_risk": "DEDICATED_INDEX_COST_NOT_JUSTIFIED",
    "failure_surface": "INDEX_LAG_DUPLICATE_DATA_PATH",
    "evidence_ref": "synthetic://awr003/transfer/search",
    "authority_refs": [
      "source://AWR-003/OPENSEARCH",
      "source://AWR-003/ELASTIC",
      "lesson://AWR-003#claim/AWR-003-K1",
      "lesson://AWR-003#claim/AWR-003-K2",
      "lesson://AWR-003#claim/AWR-003-K4"
    ]
  },
  "graphql": {
    "technology": "GRAPHQL",
    "layer": "API_QUERY_SHAPING",
    "problem": "Many client types require different nested representations with repeated over/under-fetching",
    "problem_class": "API_QUERY_SHAPING",
    "query_pattern": "MANY_NESTED_REPRESENTATIONS",
    "client_query_variability": "HIGH_MANY_CLIENT_TYPES",
    "schema_owner": "API_PLATFORM_OWNER",
    "resolver_boundary": "EXPLICIT_RESOLVER_DATA_BOUNDARY",
    "authorization_boundary": "FIELD_AND_OBJECT_POLICY_DEFINED",
    "n_plus_one_risk": "BOUNDED_WITH_BATCHING_AND_QUERY_COST_LIMITS",
    "source_of_truth": "UNDERLYING_SERVICES_AND_POSTGRESQL",
    "consistency_requirement": "RESOLVER_READS_FOLLOW_SOURCE_CONTRACTS",
    "simpler_alternative": "EXTEND_EXISTING_REST_ENDPOINTS",
    "operational_owner": "api-platform-owner",
    "cost_risk": "BOUNDED_PILOT_COST",
    "failure_surface": "NEW_SCHEMA_RESOLVER_AUTH_QUERY_COST_SURFACE",
    "evidence_ref": "synthetic://awr003/transfer/graphql",
    "authority_refs": [
      "source://AWR-003/GRAPHQL",
      "lesson://AWR-003#claim/AWR-003-K3",
      "lesson://AWR-003#claim/AWR-003-K4"
    ]
  }
}
