{
  "schema": "ashlight.focus.RepositoryAdapterChangeLogV1",
  "version": 1,
  "build": "31.9F3M2",
  "date": "2026-09-12",
  "principle": "A successful HTTP transport is not evidence of query fitness. Classify zero-yield by query shape, entity resolution, API semantics, access policy, or genuine absence before changing ranking.",
  "changes": [
    {
      "repoId": "jpl_sbdb",
      "change": "ENTITY_RESOLVER_V1",
      "problem": "Research prose returned zero objects because SBDB is designation/name driven.",
      "technique": "Extract likely small-body names/designations; query a bounded candidate sequence; keep transport success separate from yield.",
      "reusableFor": [
        "entity registries",
        "taxonomy services",
        "identifier databases",
        "catalogues with object keys"
      ]
    },
    {
      "repoId": "mesh_nlm",
      "change": "NEW_MESH_LOOKUP_V1",
      "problem": "Medical prose needs controlled terminology normalization.",
      "technique": "Use NLM MeSH descriptor lookup; degrade prose to distinctive terminology candidates; preserve that terminology evidence is not medical advice.",
      "reusableFor": [
        "controlled vocabularies",
        "legal thesauri",
        "subject heading systems"
      ]
    },
    {
      "repoId": "pubchem",
      "change": "NEW_CHEM_ENTITY_LOOKUP_V1",
      "problem": "Chemistry services often expect compound/entity shaped queries rather than paragraphs.",
      "technique": "Use official compound autocomplete/entity services and bounded distinctive-term degradation.",
      "reusableFor": [
        "compound registries",
        "materials registries",
        "gene/protein identifiers"
      ]
    },
    {
      "repoId": "arxiv",
      "change": "NEW_ATOM_SEARCH_V1",
      "problem": "Physics/preprint discovery was catalogued but not Probe-ready.",
      "technique": "Use the public arXiv API and normalize Atom records into candidate objects.",
      "reusableFor": [
        "Atom/RSS scholarly services"
      ]
    },
    {
      "repoId": "inspirehep",
      "change": "NEW_REST_SEARCH_V1",
      "problem": "High-energy physics domain source absent from Probe.",
      "technique": "Use INSPIRE REST literature search and normalize title/abstract/date metadata.",
      "reusableFor": [
        "domain scholarly JSON APIs"
      ]
    },
    {
      "repoId": "tga",
      "change": "RELAY_LIVE_V1",
      "problem": "Australian medicine regulation was catalogued but not directly usable in main Focus.",
      "technique": "Bounded official-domain index + normal Focus hydration.",
      "reusableFor": [
        "official guidance sites"
      ]
    },
    {
      "repoId": "fed_leg_au",
      "change": "OFFICIAL_SITE_RELAY_V1",
      "problem": "Commonwealth legislation was Probe-only without main-run hydration.",
      "technique": "Official-site relay is enabled now; dedicated OAS title/version adapter remains the preferred future path.",
      "reusableFor": [
        "official legislation registers"
      ]
    },
    {
      "repoId": "nsw_leg",
      "change": "OFFICIAL_SITE_RELAY_V1",
      "problem": "NSW legislation lacked main-run parity.",
      "technique": "Official-site relay + source-specific exact/date testing; dedicated structured adapter later.",
      "reusableFor": [
        "state legislation sites"
      ]
    },
    {
      "repoId": "nhmrc_au",
      "change": "NEW_OFFICIAL_RELAY_V1",
      "problem": "Australian clinical guideline/evidence source missing.",
      "technique": "Bounded official-domain index and normal Focus page hydration.",
      "reusableFor": [
        "guideline publishers"
      ]
    },
    {
      "repoId": "healthdirect_au",
      "change": "NEW_OFFICIAL_RELAY_V1",
      "problem": "Australian consumer-health advice source missing.",
      "technique": "Bounded official-domain index; service-directory/FHIR integration remains a separate future adapter.",
      "reusableFor": [
        "consumer health guidance"
      ]
    },
    {
      "repoId": "aihw_au",
      "change": "NEW_OFFICIAL_RELAY_V1",
      "problem": "Australian health statistics/report source missing.",
      "technique": "Bounded official-domain index now; dataset/API-specific adapters can be layered later.",
      "reusableFor": [
        "government data/report sites"
      ]
    },
    {
      "repoId": "dcceew_envlaw",
      "change": "NEW_OFFICIAL_RELAY_V1",
      "problem": "Commonwealth environmental-law guidance family missing.",
      "technique": "Bounded DCCEEW EPBC/environment domain traversal with provenance.",
      "reusableFor": [
        "regulatory guidance domains"
      ]
    },
    {
      "repoId": "nsw_epa_law",
      "change": "NEW_OFFICIAL_RELAY_V1",
      "problem": "NSW environmental compliance/law guidance missing.",
      "technique": "Bounded EPA law/compliance traversal with provenance.",
      "reusableFor": [
        "regulator guidance domains"
      ]
    },
    {
      "repoId": "arxiv",
      "change": "RELAY_FIRST_TRANSPORT_V2",
      "problem": "Browser-direct Atom requests commonly raise CORS errors even when the source is otherwise reachable through the Ashlight relay.",
      "technique": "Use relay-first transport for the arXiv Atom Probe adapter; preserve direct/relay distinction in diagnostics so CORS rejection is not misclassified as source failure.",
      "reusableFor": [
        "CORS-restricted public APIs",
        "XML/Atom endpoints behind browser cross-origin limits"
      ]
    },
    {
      "repoId": "nsw_leg",
      "change": "F3J_ZERO_YIELD_DIAGNOSTIC_F3K",
      "problem": "The exact-title NSW environmental-law acceptance query completed transport successfully but returned zero candidates through the generic relay.",
      "technique": "Flag the source as needing a dedicated title/version resolver rather than interpreting transport success as useful search fitness. Keep the authoritative source registered and do not substitute broad regulator guidance for the Act itself.",
      "reusableFor": [
        "legislation portals",
        "title/version registries",
        "JavaScript-heavy search surfaces"
      ]
    },
    {
      "repoId": "nsw_epa_law",
      "change": "QUOTED_PHRASE_PROMOTION_GUARD_F3K",
      "problem": "Broad NSW EPA pages could pass the earlier entity-anchor gate by matching only generic words such as environment even when the user supplied a quoted Act title.",
      "technique": "When a Probe query contains quoted phrases, require normalized phrase presence before promotion. Broad topical pages remain discoverable but cannot satisfy the quoted-title gate.",
      "reusableFor": [
        "legal exact-title queries",
        "named standards",
        "policy documents",
        "quoted scientific phrases"
      ]
    },
    {
      "repoId": "fed_leg_au",
      "change": "STRUCTURED_API_PRIORITY_NOTE_F3K",
      "problem": "Generic domain indexing returned help/navigation pages for a state-law query and is not an appropriate substitute for structured legislation discovery.",
      "technique": "Prefer the official Federal Register REST/OpenAPI title/version/content interfaces for future Commonwealth-law parity; retain relay browsing as a fallback only.",
      "reusableFor": [
        "official legislation registers",
        "versioned document registries"
      ]
    }
  ]
}
