{
  "checked": "2026-10-14",
  "principles": [
    "Precompute relationships from stable source IDs. Proximity is not access.",
    "Fresh cached context may be server-rendered; a cold cache never holds HTML waiting for an upstream provider.",
    "The first interaction requests only relevant feeds, reuses in-flight requests and shared edge caches.",
    "Use provider timestamps as well as retrieval time. Unknown, missing and failed responses never mean zero or safe.",
    "Preserve Chinese/English source names; all controls and contextual explanations are localized in 21 editions.",
    "No paid airport API, restricted source or bulk imagery prefetch is implicitly enabled."
  ],
  "implemented": {
    "weather": "HKO observation cache shared across source languages; fresh temperature and station/time in initial HTML when cached. Client hydrates from the same payload. Shared API for observations, warnings and forecast.",
    "rail": "Preverified stationCode joins select MTR lines at station/entrance pages. Predictions load automatically for the selected place and may be embedded in HTML when fresh.",
    "ferries": "Verified route liveServices; pier suggestions require matching source place IDs plus explicit departure labels. At most four feeds per place. Schedules remain distinct from estimated arrivals.",
    "airportAccess": "Only pre-existing MTR transitAction is used for airport rail information. Flight board licensing remains unchanged.",
    "transportSearch": "Saved operator route directories load on demand while the live route list is checked; search includes both source languages and MTR station names.",
    "coverage": {
      "railRecordsWithStationCode": 705,
      "ferryRoutesWithLiveServiceDefinitions": 12
    }
  },
  "freshnessPolicy": {
    "weatherObservations": {
      "cacheSeconds": 60,
      "observationMaxAgeMinutes": 120
    },
    "weatherWarnings": {
      "cacheSeconds": 60,
      "display": "Existing warning expiry/action-code checks retained"
    },
    "weatherForecast": {
      "cacheSeconds": 300,
      "sourceMaxAgeHours": 6
    },
    "mtr": {
      "cacheSeconds": 10,
      "sourceMaxAgeSeconds": 120
    },
    "ferry": {
      "cacheSeconds": 30,
      "sourceMaxAgeSeconds": 120
    },
    "html": {
      "browserMaxAgeSeconds": 0,
      "edgeMaxAgeSeconds": 10,
      "coldBehaviour": "Serve the static page immediately, warm relevant feeds with waitUntil, then hydrate in the client."
    },
    "timeouts": {
      "upstreamSeconds": 8,
      "clientSeconds": 11
    },
    "limits": {
      "perPlaceFeeds": 4,
      "workerMemoryEntries": 128,
      "browserPlaceEntries": 24
    }
  },
  "opportunities": [
    {
      "area": "Opening hours and holiday exceptions",
      "priority": 1,
      "status": "needs-structured-enrichment",
      "connection": "Venue → actual entrance → opening interval → expected arrival time",
      "evidence": "Current market records have hours; current library records do not. Avoid open-now badges inferred from category."
    },
    {
      "area": "Water, baby care, Wi-Fi, postal and recycling",
      "priority": 1,
      "status": "official-datasets-identified-not-imported",
      "connection": "Known venue → practical facilities → route detour",
      "evidence": "See Everyday opportunity record and the existing 22-source opportunity register."
    },
    {
      "area": "Pedestrian and indoor routing",
      "priority": 1,
      "status": "schema-and-travel-modes-verified-route-solve-not-integrated",
      "connection": "Station exit → floor-aware path → public passage → destination entrance",
      "source": "https://data.gov.hk/en-data/dataset/hk-landsd-openmap-3d-pedestrian-network",
      "constraint": "Validate floor topology, access hours, lift state and terms before routing. Covered does not imply shade."
    },
    {
      "area": "Whole outing with a return journey",
      "priority": 1,
      "status": "partial-foundation-present",
      "connection": "Outbound transit → walking route → breaks → daylight → dated return timetable → alternative",
      "constraint": "Provider ETA is not a last-service timetable; day types, exceptions and walking time need explicit checks."
    },
    {
      "area": "AFCD trail and facility closures",
      "priority": 1,
      "status": "current-app-has-dated-snapshots-not-live-refresh",
      "connection": "TRAIL_ID/FAC_ID → selected route/facility → notices",
      "constraint": "A successful empty feed does not prove a route safe or open. Preserve the published closure snapshot until a reliable refresh pipeline is built."
    },
    {
      "area": "Bus-stop automatic arrivals",
      "priority": 1,
      "status": "operator-panel-live-mapped-stop-join-incomplete",
      "connection": "TD stop → verified operator stop ID → direction and sequence → ETA",
      "constraint": "Do not join on name/proximity alone or confuse opposite sides of a road."
    },
    {
      "area": "Regional wind, WBGT and AQHI",
      "priority": 2,
      "status": "official-sources-researched-not-integrated",
      "connection": "Selected area → relevant measurement station → observation/time",
      "constraint": "Station observations are not trail forecasts, personal heat-risk advice or street-level exposure."
    },
    {
      "area": "Beach water quality",
      "priority": 2,
      "status": "official-source-researched-not-integrated",
      "connection": "Beach ID → dated grading → facilities and transport",
      "constraint": "Water grading is separate from red flags, lifeguards, currents and swimming permission."
    },
    {
      "area": "Cultural events",
      "priority": 2,
      "status": "catalogue-identified-download-blocked-in-earlier-probe",
      "connection": "Event → exact venue → date/price/age conditions → nearby transport",
      "constraint": "Respect blocked endpoints; no invented ticket availability."
    },
    {
      "area": "Public passages and open spaces in private developments",
      "priority": 2,
      "status": "official-source-identified-not-integrated",
      "connection": "Public-use deed → actual level/entrance → access hours → walking graph",
      "source": "https://data.gov.hk/en-data/dataset/hk-bd-opendata-public-open-space",
      "constraint": "Public access to a dedicated area does not imply access throughout a private property."
    },
    {
      "area": "Food, shops and nightlife",
      "priority": 2,
      "status": "major-consumer-coverage-gap",
      "connection": "Licensed business identity → verified location → maintained trading details",
      "constraint": "A restaurant licence proves neither current trading nor cuisine, opening hours or quality."
    },
    {
      "area": "Airport departures and arrivals",
      "priority": 2,
      "status": "licensed-integration-prepared-not-enabled",
      "connection": "Airport → licensed flight feed → transport access",
      "constraint": "Published AAHK open data is historical. Do not relabel it live or enable a paid provider without authorization."
    },
    {
      "area": "Ship movements and marine conditions",
      "priority": 3,
      "status": "dated-official-report-snapshots-and-research",
      "connection": "Port/report identifier → reported movement → source time → educational context",
      "constraint": "Movement reports are not current AIS position tracking or navigational charts."
    },
    {
      "area": "Smoking areas",
      "priority": 3,
      "status": "official-links-only",
      "constraint": "No verified citywide designated-area dataset; bins and absence of no-smoking polygons do not establish permission."
    },
    {
      "area": "Geology, trees, heritage and shoreline stories",
      "priority": 3,
      "status": "geology-and-monuments-partly-joined",
      "connection": "Place → named physical feature → dated evidence → neighbouring cultural/natural context",
      "constraint": "Describe source period and scale; do not treat historical features as current access routes."
    }
  ]
}
