{
  "version": "1.0",
  "researchDate": "2026-11-02",
  "summary": "Official-source catalogue for five optional device configurations and thirteen public/institutional data routes. Three public read samples succeeded. No instrument, credentialed provider or AI service was connected. All prototype approvals remain in Institution review.",
  "devices": [
    {
      "id": "DEV-01",
      "manufacturer": "Campbell Scientific",
      "model": "ClimaVue 50 G2, item 43314",
      "classification": "Compact weather sensor; not a complete Internet station",
      "variables": [
        {
          "name": "air temperature",
          "unit": "°C",
          "accuracy": "±0.6 °C",
          "conditions": "Published measuring range −50 to +60 °C; siting and radiation correction apply.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "rain accumulation/rate",
          "unit": "mm / mm/h",
          "accuracy": "±5% of measurement",
          "conditions": "0–1, 000 mm/h accuracy band; measurement range to 1, 500 mm/h. Liquid precipitation only.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "relative humidity",
          "unit": "%RH",
          "accuracy": "±2.5% RH typical on current product page",
          "conditions": "Temperature/humidity dependent; older indexed manual states ±3% RH typical. Supplier must resolve revision.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "barometric pressure",
          "unit": "hPa",
          "accuracy": "±0.1 hPa at −10 to +50 °C; ±0.5 hPa at −40 to +60 °C on current page",
          "conditions": "Older indexed manual states ±5 hPa at 25 °C. Do not combine these as equivalent specifications.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "wind speed",
          "unit": "m/s",
          "accuracy": "0.3 m/s or 6%, whichever is greater",
          "conditions": "Published range 0–60 m/s; site exposure applies.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "wind direction",
          "unit": "degrees",
          "accuracy": "±5°",
          "conditions": "Published 0–359° range; orientation must be recorded.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "solar radiation",
          "unit": "W/m²",
          "accuracy": "±5% of measurement, typical",
          "conditions": "Published 0–1, 750 W/m² range; keep sensor level.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "vapour pressure",
          "unit": "kPa",
          "accuracy": "±0.2 kPa typical below 40 °C",
          "conditions": "Calculated from temperature/humidity; accuracy varies with both.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "tilt",
          "unit": "degrees",
          "accuracy": "±1°",
          "conditions": "Published 0–180° range; supporting instrument-health variable.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "lightning strike count",
          "unit": "strikes",
          "accuracy": ">25% detection at distances under 10 km, typical",
          "conditions": "Detection varies with distance; not warning authority.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "lightning average distance",
          "unit": "km",
          "accuracy": "Variable; no fixed accuracy adopted",
          "conditions": "Published 0–40 km range and 3 km resolution.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        },
        {
          "name": "precipitation electrical conductivity",
          "unit": "Not confirmed in reviewed specification extract",
          "accuracy": "Not confirmed",
          "conditions": "Listed among measurements; obtain exact field/unit/method before enabling mapping.",
          "sources": [
            "ARC-S01",
            "ARC-S43",
            "ARC-S44"
          ]
        }
      ],
      "accuracy": "Temperature ±0.6 °C; rain ±5% at 0–1, 000 mm/h. Variable-specific conditions and the RH/pressure document discrepancy are listed below. Supplier confirmation is required before procurement or scientific use.",
      "protocol": "SDI-12. Overview identifies an eight-pin M12 connector; the specification also uses AQ terminology. Confirm the delivered cable/connector and compatible logger.",
      "equipment": "Compatible SDI-12 logger. Aspen10 is documented; mounting, power and permitted network are separate components.",
      "power": "3.6–15 V DC. At 12 V: 1.0 mA average using R7! every 10 s; 0.4 mA every 60 s or slower; peak 33 mA. Size logger, modem and power reserve separately.",
      "connectivity": "Logger/edge uplink. No direct sensor web API established.",
      "maintenance": "Check tilt/level and funnel contamination; retain service/calibration record.",
      "dataAccess": "Authorised logger export/adapter into common intake.",
      "restrictions": "No heated solid-precipitation capability. Product/manual discrepancies need supplier resolution. Lightning detection is not an authorised hazard warning.",
      "localUncertainties": "Local availability, scientific approval, installation design, radio/network suitability and institutional acceptance remain unverified.",
      "downstreamUse": "Weather observations and coverage-aware Expert Hub comparisons.",
      "status": "Optional extension; researched documentation only",
      "sources": [
        "ARC-S01",
        "ARC-S43",
        "ARC-S44"
      ],
      "image": {
        "pageUrl": "https://www.campbellsci.com/products/climavue50-g2",
        "imageUrl": null,
        "attribution": "Manufacturer reference for ClimaVue 50 G2",
        "reuseStatus": "Reuse permission not established; manufacturer reference only",
        "embedded": false,
        "alt": "Open the official manufacturer reference for ClimaVue 50 G2"
      },
      "sourceDate": "2026-11-02",
      "approvalRoute": "Institution review",
      "costCategory": "Current local quotation and lifetime operating cost not established.",
      "claimCategory": "Published manufacturer specification; suitability and institutional acceptance require review.",
      "maintenanceCategory": "Proposed maintenance checklist; confirm exact manufacturer schedule and local calibration plan.",
      "maturity": "Optional extension",
      "provenance": "Official manufacturer specifications; no connected device observations",
      "approval": "Pending through existing Institution review",
      "researchStatus": "Optional extension; researched documentation only"
    },
    {
      "id": "DEV-02",
      "manufacturer": "Vaisala",
      "model": "WXT536 within WXT530 series",
      "classification": "Weather transmitter; logger,power and communication unit separate",
      "variables": [
        {
          "name": "temperature",
          "unit": "°C",
          "accuracy": "±0.3 °C at +20 °C for the sensor element",
          "conditions": "Naturally aspirated shield can affect readings in calm wind.",
          "sources": [
            "ARC-S02",
            "ARC-S03",
            "ARC-S04",
            "ARC-S40"
          ]
        },
        {
          "name": "relative humidity",
          "unit": "%RH",
          "accuracy": "±3% RH at 0–90% RH; ±5% RH at 90–100% RH",
          "conditions": "Sensor-element specification; natural aspiration caveat applies.",
          "sources": [
            "ARC-S02",
            "ARC-S03",
            "ARC-S04",
            "ARC-S40"
          ]
        },
        {
          "name": "pressure",
          "unit": "hPa",
          "accuracy": "±0.5 hPa at 0 to +30 °C; ±1 hPa at −52 to +60 °C",
          "conditions": "Specified for 600–1, 100 hPa.",
          "sources": [
            "ARC-S02",
            "ARC-S03",
            "ARC-S04",
            "ARC-S40"
          ]
        },
        {
          "name": "rain accumulation/intensity",
          "unit": "mm / mm/h",
          "accuracy": "Better than 5% for daily accumulation, weather dependent",
          "conditions": "Liquid precipitation; excludes wind-induced error. Totals are cumulative since reset. Intensity range 0–200 mm/h, wider with reduced accuracy.",
          "sources": [
            "ARC-S02",
            "ARC-S03",
            "ARC-S04",
            "ARC-S40"
          ]
        },
        {
          "name": "wind speed",
          "unit": "m/s",
          "accuracy": "±3% at 10 m/s",
          "conditions": "Observation range 0–60 m/s.",
          "sources": [
            "ARC-S02",
            "ARC-S03",
            "ARC-S04",
            "ARC-S40"
          ]
        },
        {
          "name": "wind direction",
          "unit": "degrees",
          "accuracy": "±3° at 10 m/s",
          "conditions": "Averaging interval and sampling rate are configurable.",
          "sources": [
            "ARC-S02",
            "ARC-S03",
            "ARC-S04",
            "ARC-S40"
          ]
        },
        {
          "name": "hail detection/intensity",
          "unit": "hits/cm² / hits/(cm²·h)",
          "accuracy": "No fixed hail accuracy adopted",
          "conditions": "Manufacturer reports hail-hit outputs; do not convert these to rainfall volume.",
          "sources": [
            "ARC-S02",
            "ARC-S03",
            "ARC-S04",
            "ARC-S40"
          ]
        }
      ],
      "accuracy": "Element temperature ±0.3°C at20°C; wind±3% at10m/s; daily rain better than5%, weather-dependent, excluding wind-induced error. Calm-weather natural aspiration affects field equivalence.",
      "protocol": "SDI-12, ASCII automatic/polled, NMEA 0183 with query option, or Modbus RTU; configurable RS-232/485/422 or SDI-12 interfaces. Confirm ordered mode and wiring.",
      "equipment": "Compatible logger, mast, power and uplink. AWS810/DMU801 is one documented station context.",
      "power": "5–32 V DC power-up per M211840EN-G. Current consumption depends on mode, interface and intervals; optional heating requires a separately checked power budget.",
      "connectivity": "Serial/logger boundary is not an Internet API.",
      "maintenance": "Inspect siting, shield and precipitation surface; retain service/calibration.",
      "dataAccess": "Authorised logging adapter; not connected in prototype.",
      "restrictions": "Solar radiation is not included in this standard variable bundle. Rain totals have reset semantics.",
      "localUncertainties": "Local availability, scientific approval, installation design, radio/network suitability and institutional acceptance remain unverified.",
      "downstreamUse": "Weather datastreams and explicitly weighted area comparisons.",
      "status": "Optional extension; researched documentation only",
      "sources": [
        "ARC-S02",
        "ARC-S03",
        "ARC-S04",
        "ARC-S40"
      ],
      "image": {
        "pageUrl": "https://docs.vaisala.com/r/M212902EN-G/en-US/GUID-E6912022-5F36-44DF-90CA-2721236D948C",
        "imageUrl": null,
        "attribution": "Manufacturer reference for WXT536",
        "reuseStatus": "Reuse permission not established; manufacturer reference only",
        "embedded": false,
        "alt": "Open the official manufacturer reference for WXT536"
      },
      "sourceDate": "2026-11-02",
      "approvalRoute": "Institution review",
      "costCategory": "Current local quotation and lifetime operating cost not established.",
      "claimCategory": "Published manufacturer specification; suitability and institutional acceptance require review.",
      "maintenanceCategory": "Proposed maintenance checklist; confirm exact manufacturer schedule and local calibration plan.",
      "maturity": "Optional extension",
      "provenance": "Official manufacturer specifications; no connected device observations",
      "approval": "Pending through existing Institution review",
      "researchStatus": "Optional extension; researched documentation only"
    },
    {
      "id": "DEV-03",
      "manufacturer": "Davis Instruments",
      "model": "Wireless Vantage Pro2 6323M metric sensor suite with 24-hour fan-aspirated shield",
      "classification": "Wireless sensor suite plus separate gateway/service",
      "variables": [
        {
          "name": "outside temperature",
          "unit": "°C",
          "sources": [
            "ARC-S05",
            "ARC-S06",
            "ARC-S07",
            "ARC-S08",
            "ARC-S13",
            "ARC-S15"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        },
        {
          "name": "outside humidity",
          "unit": "%RH",
          "sources": [
            "ARC-S05",
            "ARC-S06",
            "ARC-S07",
            "ARC-S08",
            "ARC-S13",
            "ARC-S15"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        },
        {
          "name": "wind speed/direction",
          "unit": "m/s / degrees",
          "sources": [
            "ARC-S05",
            "ARC-S06",
            "ARC-S07",
            "ARC-S08",
            "ARC-S13",
            "ARC-S15"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        },
        {
          "name": "rain accumulation",
          "unit": "mm",
          "sources": [
            "ARC-S05",
            "ARC-S06",
            "ARC-S07",
            "ARC-S08",
            "ARC-S13",
            "ARC-S15"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        }
      ],
      "accuracy": "Manufacturer-linked family sheet: outside temperature ±0.5 °C typical; rain ±3% or one 0.2 mm tip up to 250 mm/h. Confirm these against the current exact regional SKU. Unlisted per-variable tolerances are not adopted.",
      "protocol": "Compatible Davis wireless receiver, then authorised WeatherLink v2 API.",
      "equipment": "WeatherLink Live 6100 or another compatible receiver, router, separate gateway power and mounting. UV, solar, soil and leaf sensors are optional.",
      "power": "Suite solar/battery; gateway has separate supply; fan backup and servicing add operating requirements.",
      "connectivity": "WeatherLink Live Wi-Fi/Ethernet. Local app cadence differs from cloud/API.",
      "maintenance": "Clean gauge/shield; inspect fan, batteries, alignment using current manual.",
      "dataAccess": "Owned/shared eligible account and protected API key/secret; subscription controls history.",
      "restrictions": "Verify metric/US order, regional radio band and entitlement. Public webpage is not API permission.",
      "localUncertainties": "Local availability, scientific approval, installation design, radio/network suitability and institutional acceptance remain unverified.",
      "downstreamUse": "Station observations retaining packet, unit, time; not automatic district coverage.",
      "status": "Optional extension; credential-blocked integration",
      "sources": [
        "ARC-S05",
        "ARC-S06",
        "ARC-S07",
        "ARC-S08",
        "ARC-S13",
        "ARC-S15"
      ],
      "image": {
        "pageUrl": "https://www.davisinstruments.com/products/wireless-vantage-pro2-iss-with-24-hr-fan-aspirated-radiation-shield",
        "imageUrl": null,
        "attribution": "Manufacturer reference for Vantage Pro2 6323M",
        "reuseStatus": "Reuse permission not established; manufacturer reference only",
        "embedded": false,
        "alt": "Open the official manufacturer reference for Vantage Pro2 6323M"
      },
      "sourceDate": "2026-11-02",
      "approvalRoute": "Institution review",
      "costCategory": "Current local quotation and lifetime operating cost not established.",
      "claimCategory": "Published manufacturer specification; suitability and institutional acceptance require review.",
      "maintenanceCategory": "Proposed maintenance checklist; confirm exact manufacturer schedule and local calibration plan.",
      "maturity": "Optional extension",
      "provenance": "Official manufacturer specifications; no connected device observations",
      "approval": "Pending through existing Institution review",
      "researchStatus": "Optional extension; credential-blocked integration"
    },
    {
      "id": "DEV-04",
      "manufacturer": "METER Group",
      "model": "TEROS 12 with compatible ZL6 logger option",
      "classification": "Soil sensor; logger/gateway separate",
      "variables": [
        {
          "name": "volumetric water content",
          "unit": "m³/m³",
          "sources": [
            "ARC-S09"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        },
        {
          "name": "temperature",
          "unit": "°C",
          "sources": [
            "ARC-S09"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        },
        {
          "name": "bulk electrical conductivity",
          "unit": "µS/cm",
          "sources": [
            "ARC-S09"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        }
      ],
      "accuracy": "VWC ±0.03 m³/m³, typical in mineral soils with solution EC below 8, 000 µS/cm; medium-specific calibration ±0.01–0.02. Temperature ±1 °C from −40 to 0 °C and ±0.5 °C from 0 to +60 °C. Bulk EC ±(5% + 10 µS/cm) from 0–10, 000; ±8% from 10, 000–20, 000 µS/cm.",
      "protocol": "DDI serial or SDI-12",
      "equipment": "ZL6, EM60, Em50 or another compatible 4–15 V DC serial/SDI-12 logger. Retain depth and location metadata.",
      "power": "4–15VDC sensor; logger/uplink power separate.",
      "connectivity": "Sensor cable to logger; connected logger/cloud entitlement separately verified.",
      "maintenance": "Ensure soil contact, depth and calibration; verification clip or medium-specific calibration as justified.",
      "dataAccess": "Authorised logger file/API after provider contract verification.",
      "restrictions": "BulkEC is not pore-waterEC or laboratory extractEC. Depth/deployment affect meaning.",
      "localUncertainties": "Local availability, scientific approval, installation design, radio/network suitability and institutional acceptance remain unverified.",
      "downstreamUse": "Soil observations, definition-evolution example and land-management evidence.",
      "status": "Optional extension; researched documentation only",
      "sources": [
        "ARC-S09"
      ],
      "image": {
        "pageUrl": "https://metergroup.com/products/teros-12/",
        "imageUrl": null,
        "attribution": "Manufacturer reference for TEROS 12",
        "reuseStatus": "Reuse permission not established; manufacturer reference only",
        "embedded": false,
        "alt": "Open the official manufacturer reference for TEROS 12"
      },
      "sourceDate": "2026-11-02",
      "approvalRoute": "Institution review",
      "costCategory": "Current local quotation and lifetime operating cost not established.",
      "claimCategory": "Published manufacturer specification; suitability and institutional acceptance require review.",
      "maintenanceCategory": "Proposed maintenance checklist; confirm exact manufacturer schedule and local calibration plan.",
      "maturity": "Optional extension",
      "provenance": "Official manufacturer specifications; no connected device observations",
      "approval": "Pending through existing Institution review",
      "researchStatus": "Optional extension; researched documentation only"
    },
    {
      "id": "DEV-05",
      "manufacturer": "OTT HydroMet",
      "model": "ecoLog 1000 SKU 5545000190-10UC, 0–10 m, 26 Ah, conductivity-equipped LTE-M example",
      "classification": "Pressure/temperature/conductivity logger with cellular modem",
      "variables": [
        {
          "name": "pressure-derived water level",
          "unit": "m relative to declared datum",
          "sources": [
            "ARC-S10",
            "ARC-S11",
            "ARC-S12"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        },
        {
          "name": "temperature",
          "unit": "°C",
          "sources": [
            "ARC-S10",
            "ARC-S11",
            "ARC-S12"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        },
        {
          "name": "conductivity",
          "unit": "µS/cm or mS/cm",
          "sources": [
            "ARC-S10",
            "ARC-S11",
            "ARC-S12"
          ],
          "accuracy": "See the device accuracy conditions; any unlisted variable-specific tolerance must be confirmed.",
          "conditions": "Use the exact manufacturer revision and ordered variant; no local deployment validation has been completed."
        }
      ],
      "accuracy": "Pressure±0.05%FS; temperature±0.1°C. EC±0.5%(minimum1µS/cm) at5–2000µS/cm; ±1.5%(minimum0.01mS/cm) at0.1–100mS/cm; EC calibration5–45°C.",
      "protocol": "Listed HTTPS/TLS1.2, HTTP, FTP/FTPS, MQTT/MQTTS; BLE service.",
      "equipment": "Correct modem/SIM/antenna, probe/cable, mounting, water-level datum and authorised receiving endpoint.",
      "power": "3.6 V, 26 Ah lithium battery for the researched option. Life depends on sampling, transmission, temperature and conductivity operation.",
      "connectivity": "The 10UC example uses LTE-M. Family EU 4G/2G variants differ; suitability for a local mobile network is unverified.",
      "maintenance": "Inspect pressure datum/vent, fouling, calibration and battery; current regional manual required.",
      "dataAccess": "Authorised IP/file adapter only; real device not configured.",
      "restrictions": "10U lacks conductivity; 10UC includes it. Do not generalise across family variants.",
      "localUncertainties": "Local availability, scientific approval, installation design, radio/network suitability and institutional acceptance remain unverified.",
      "downstreamUse": "Water-level/quality observations. Reservoir volume requires reviewed level-volume relationship.",
      "status": "Optional extension; official documentation partly available, no device test",
      "sources": [
        "ARC-S10",
        "ARC-S11",
        "ARC-S12"
      ],
      "image": {
        "pageUrl": "https://www.ott.com/products/5545000190-10uc",
        "imageUrl": null,
        "attribution": "Manufacturer reference for ecoLog1000 10UC",
        "reuseStatus": "Reuse permission not established; manufacturer reference only",
        "embedded": false,
        "alt": "Open the official manufacturer reference for ecoLog1000 10UC"
      },
      "sourceDate": "2026-11-02",
      "approvalRoute": "Institution review",
      "costCategory": "Current local quotation and lifetime operating cost not established.",
      "claimCategory": "Published manufacturer specification; suitability and institutional acceptance require review.",
      "maintenanceCategory": "Proposed maintenance checklist; confirm exact manufacturer schedule and local calibration plan.",
      "maturity": "Optional extension",
      "provenance": "Official manufacturer specifications; no connected device observations",
      "approval": "Pending through existing Institution review",
      "researchStatus": "Optional extension; official documentation partly available, no device test"
    }
  ],
  "apis": [
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-01",
      "name": "WeatherLink v2 authorised station data",
      "type": "Station observations through provider cloud",
      "variables": "Configured sensor-type weather fields",
      "coverage": "Entitled owned/shared/qualifying stations only",
      "timeCoverage": "History depends on entitlement. Unix timestamps mark the archive interval end; the historic API selects (start, end]. Preserve the source interval and timezone.",
      "latency": "Basic 15-minute current, Pro 5-minute, Pro+ most recent for WeatherLink Live",
      "authentication": "api-key query and X-Api-Secret header; protected server-side adapter",
      "licensing": "Station relationship, subscription and redistribution permission required",
      "limits": "1000calls/hour, 10/second; history window≤86400seconds",
      "schema": "station_id, sensors, sensor_type, data_structure_type, lsid, ts and sensor-specific data",
      "units": "Preserve native units and map from exact sensor catalogue/data structure",
      "endpointExample": "GET https://api.weatherlink.com/v2/current/{station-id}?api-key={server-side-key}",
      "status": "Credential-blocked integration",
      "sources": [
        "ARC-S13",
        "ARC-S14",
        "ARC-S15",
        "ARC-S16",
        "ARC-S17",
        "ARC-S39"
      ],
      "sanitizedExample": {
        "exampleType": "Synthetic sanitized shape; not a tested provider response",
        "station_id": 0,
        "sensors": [],
        "note": "Real station and sensor identifiers are intentionally absent. Sensor-specific fields require the exact WeatherLink sensor/data-structure catalogue."
      },
      "historicalAvailability": "History depends on entitlement. Unix timestamps mark the archive interval end; the historic API selects (start, end]. Preserve the source interval and timezone.",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Retain an authorised file/manual import route; do not scrape or fabricate values when the provider is unavailable.",
      "sourceDate": "2026-11-02",
      "maturity": "Optional extension",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "401invalidkey, 400since/lang, 429ratelimit. Retain returned server cursor; never fabricate a newer cursor.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-02",
      "name": "Sri Lankan Weather Advisory System JSON",
      "type": "Official issued warnings/advisories",
      "variables": "Level, areas, language, validity, publication",
      "coverage": "Sri Lanka issued warning areas; not station coverage",
      "timeCoverage": "Current and cursor changes; complete archive unverified",
      "latency": "About60s changes polling recommended; no SLA",
      "authentication": "X-API-Key; not obtained or used",
      "licensing": "Read-only warning feed; preserve issuer/terms",
      "limits": "120requests/60s; limit1–200(default50)",
      "schema": "id, day_key, name, level, valid_from, valid_to, summary_en/si/ta, areas_en, published_at; changes since",
      "units": "Offset timestamps; no measured weather unit implied",
      "endpointExample": "GET https://was.meteo.gov.lk/api/warnings/changes?since={server-cursor}&lang=en",
      "status": "Credential-blocked integration",
      "sources": [
        "ARC-S18"
      ],
      "sanitizedExample": {
        "exampleType": "Synthetic sanitized shape",
        "since": "SYN-CURSOR",
        "warnings": []
      },
      "historicalAvailability": "Current and cursor changes; complete archive unverified",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Retain an authorised file/manual import route; do not scrape or fabricate values when the provider is unavailable.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Follow only authorised CAP links; retain replacements/cancellations.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-03",
      "name": "Sri Lankan Weather Advisory System CAP/RSS",
      "type": "Official warning metadata and CAP1.2 XML",
      "variables": "Alert identity, area, validity, language",
      "coverage": "Sri Lanka warning areas",
      "timeCoverage": "Active warnings; full archive not established",
      "latency": "Provider issue/expiry distinct from fetch cadence",
      "authentication": "Documented CAP/RSS requires no key",
      "licensing": "Preserve issuing authority; review terms",
      "limits": "Rate limited; confirm CAP-specific service policy",
      "schema": "RSS linking CAP1.2 XML resources",
      "units": "Official event/area/timestamps",
      "endpointExample": "GET https://was.meteo.gov.lk/cap/en/rss.xml",
      "status": "Successfully tested public read",
      "sources": [
        "ARC-S18"
      ],
      "sanitizedExample": {
        "exampleType": "Sanitized observed summary",
        "httpStatus": 200,
        "contentType": "application/rss+xml",
        "note": "Structure received;not a live SHARED warning."
      },
      "historicalAvailability": "Active warnings; full archive not established",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Retain an authorised file/manual import route; do not scrape or fabricate values when the provider is unavailable.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation and a bounded public read; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "Evaluation tier documented; production/commercial plan not selected.",
      "id": "API-04",
      "name": "Open-Meteo forecast",
      "type": "Gridded weather-model forecast",
      "variables": "temperature_2m, precipitation and selected variables",
      "coverage": "Global model grid; resolution depends on product",
      "timeCoverage": "Normally7days; up to16days per product",
      "latency": "Model-run dependent; no operational latency commitment",
      "authentication": "Keyless public evaluation; customer endpoint/plan separately authorised",
      "licensing": "Weather data is CC BY 4.0 with attribution and modification notices. The free API service is non-commercial; commercial service use requires a suitable subscription.",
      "limits": "Free600/min, 5000/hour, 10000/day, 300000/month at check date",
      "schema": "hourly.time, value arrays, hourly_units, grid coordinates, timezone",
      "units": "Tested temperature_2m°C, precipitationmm",
      "endpointExample": "GET https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m,precipitation&forecast_days=1&timezone=UTC",
      "status": "Successfully tested public read",
      "sources": [
        "ARC-S19",
        "ARC-S21"
      ],
      "sanitizedExample": {
        "exampleType": "Sanitized observed structure",
        "httpStatus": 200,
        "hourly_units": {
          "temperature_2m": "°C",
          "precipitation": "mm"
        },
        "hourly": {
          "time": [
            "..."
          ],
          "temperature_2m": [
            "..."
          ],
          "precipitation": [
            "..."
          ]
        }
      },
      "historicalAvailability": "Normally7days; up to16days per product",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Retain an authorised file/manual import route; do not scrape or fabricate values when the provider is unavailable.",
      "sourceDate": "2026-11-02",
      "maturity": "Optional extension",
      "provenance": "Official documentation and a bounded public read; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-05",
      "name": "Open-Meteo historical weather",
      "type": "Gridded reanalysis/historical model",
      "variables": "temperature_2m, precipitation and selected hourly measures",
      "coverage": "ERA5/ERA5-Land/IFS distinct grids",
      "timeCoverage": "ERA5from1940; ERA5-Landfrom1950; IFSfrom2017",
      "latency": "Historical release/product-dependent",
      "authentication": "Evaluation or licensed route as applicable",
      "licensing": "Retain CC BY 4.0 attribution and product-specific provenance. Commercial historical API access requires Professional or higher at the checked date; no plan is selected.",
      "limits": "Bound ranges/variables and confirm account limits",
      "schema": "Time/value arrays, units; pin product/model",
      "units": "Use returned units and interval meaning",
      "endpointExample": "GET https://archive-api.open-meteo.com/v1/archive?latitude=7.9&longitude=81.0&start_date=2020-01-01&end_date=2020-01-02&hourly=temperature_2m,precipitation&models=era5&timezone=UTC",
      "status": "Researched documentation; adapter simulated",
      "sources": [
        "ARC-S20",
        "ARC-S21"
      ],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No live observations fetched for this connector."
      },
      "historicalAvailability": "ERA5from1940; ERA5-Landfrom1950; IFSfrom2017",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Retain an authorised file/manual import route; do not scrape or fabricate values when the provider is unavailable.",
      "sourceDate": "2026-11-02",
      "maturity": "Optional extension",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-06",
      "name": "NASA POWER Hourly",
      "type": "Gridded assimilation/satellite-derived analysis",
      "variables": "T2M and selected solar/meteorology",
      "coverage": "Native source grid point/regional product; not station observations",
      "timeCoverage": "Hourlyfrom2001-01-01 to near-real-time",
      "latency": "Source/parameter dependent",
      "authentication": "Public unauthenticated read tested",
      "licensing": "Preserve NASA source attribution and exact dataset terms",
      "limits": "At most15parameters/request; bounded windows",
      "schema": "properties.parameter byvariable/hour; header and parameters",
      "units": "Community/parameter-specific; testedT2M C; explicitUTC",
      "endpointExample": "GET https://power.larc.nasa.gov/api/temporal/hourly/point?parameters=T2M&community=SB&longitude=0&latitude=0&start=20170101&end=20170102&format=JSON&time-standard=UTC",
      "status": "Successfully tested public read",
      "sources": [
        "ARC-S22",
        "ARC-S23"
      ],
      "sanitizedExample": {
        "exampleType": "Sanitized observed structure",
        "httpStatus": 200,
        "parameters": {
          "T2M": {
            "units": "C",
            "longname": "Temperature at 2 Meters"
          }
        },
        "properties": {
          "parameter": {
            "T2M": {
              "hourly-key": "..."
            }
          }
        }
      },
      "historicalAvailability": "Hourlyfrom2001-01-01 to near-real-time",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Retain an authorised file/manual import route; do not scrape or fabricate values when the provider is unavailable.",
      "sourceDate": "2026-11-02",
      "maturity": "Optional extension",
      "provenance": "Official documentation and a bounded public read; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-07",
      "name": "Irrigation Department authorised exchange",
      "type": "Institutional water records/publications",
      "variables": "Reservoir/rain/river data only after dataset agreement",
      "coverage": "Named stations/assets/basins; exact roster/version required",
      "timeCoverage": "Dataset-specific",
      "latency": "Owner update policy unconfirmed",
      "authentication": "Operational feed access unknown; no credentials used",
      "licensing": "Custodian use/redistribution agreement required",
      "limits": "Observation API/rate/size contract not established",
      "schema": "Obtain approved file/API contract; retain asset/table/row/period",
      "units": "Declared water-level datum, m³ or approved capacity unit, rainmm; gross/effective capacity separate",
      "endpointExample": "No verified public observation API;catalogue https://www.irrigation.gov.lk/web/index.php?lang=en",
      "status": "Researched source catalogue; operational adapter unavailable",
      "sources": [
        "ARC-S24"
      ],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No live observations fetched for this connector."
      },
      "historicalAvailability": "Dataset-specific",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Use authorised institutional file/manual intake with the same source identity, exact release and evidence locator.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-08",
      "name": "NSDI spatial metadata/services",
      "type": "Institution-owned GIS services via catalogue",
      "variables": "Permitted layer descriptions/places/geometries",
      "coverage": "Layer extent, CRS, boundary edition, original scale",
      "timeCoverage": "Layer version/validity",
      "latency": "Owner-defined refresh",
      "authentication": "Per-service access; discovery is not open feature permission",
      "licensing": "Free/commercial datasets; owner approval",
      "limits": "Per-service limits unverified; boundedBBOX/CRS",
      "schema": "WMS1.3.0 capabilities documented; feature API only if separately authorised",
      "units": "Layer CRS axes, scale and measurement semantics",
      "endpointExample": "GET https://gisapps.nsdi.gov.lk/server/services/SLNSDI/Locations/MapServer/WMSServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities",
      "status": "Researched documentation; endpoint not tested",
      "sources": [
        "ARC-S25",
        "ARC-S26",
        "ARC-S38"
      ],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No live observations fetched for this connector."
      },
      "historicalAvailability": "Layer version/validity",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Retain an authorised file/manual import route; do not scrape or fabricate values when the provider is unavailable.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-09",
      "name": "DCS Paddy Statistics",
      "type": "Official periodic tables",
      "variables": "Sown/harvested area, yield, production",
      "coverage": "Published district/season/irrigation grain; variety breakdown not inferred",
      "timeCoverage": "Maha cross-year, Yala; exact revised release",
      "latency": "Seasonal publication and revision",
      "authentication": "Public table documents; no API claim",
      "licensing": "Confirm exact release rights",
      "limits": "Complete deterministic table parsing",
      "schema": "Season, district, area meaning, unit, extent, yield, production, release",
      "units": "Metric/imperial separate; ha, t/ha, t only when table specifies",
      "endpointExample": "Catalogue https://www.statistics.gov.lk/Agriculture/%20StaticalInformation/PaddyStatistics",
      "status": "Researched documentation; table-import adapter simulated",
      "sources": [
        "ARC-S27"
      ],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No live observations fetched for this connector."
      },
      "historicalAvailability": "Maha cross-year, Yala; exact revised release",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Use authorised institutional file/manual intake with the same source identity, exact release and evidence locator.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-10",
      "name": "DOA SEPC / Agstat",
      "type": "Official agriculture publications",
      "variables": "Agstat, cultivation cost, crop forecasts, budgets",
      "coverage": "Publication-specific geographic grain",
      "timeCoverage": "Periodic editions",
      "latency": "Publication schedule; not real-time",
      "authentication": "Public catalogue; API discovery unreadable, so no routes inferred",
      "licensing": "Edition/rights need custodian review",
      "limits": "Parse all rows deterministically",
      "schema": "Table/page/schema contract; no undocumented API",
      "units": "Table-specific unit, season, crop meaning",
      "endpointExample": "Catalogue https://doa.gov.lk/sepc-downloads_en/",
      "status": "Researched documentation; document-import fallback",
      "sources": [
        "ARC-S28"
      ],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No live observations fetched for this connector."
      },
      "historicalAvailability": "Periodic editions",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Use authorised institutional file/manual intake with the same source identity, exact release and evidence locator.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-11",
      "name": "DMC official warning documents",
      "type": "Issued bulletins/withdrawals",
      "variables": "Issuer, issue/validity, area, replacement",
      "coverage": "Named basins/areas in bulletin",
      "timeCoverage": "Dated notices; complete archive not guaranteed",
      "latency": "Issue time; no polling SLA",
      "authentication": "Public document list; no API inferred",
      "licensing": "Preserve issuer; automation/reproduction rights reviewed",
      "limits": "Bounded catalogue checks",
      "schema": "Document with exact page and metadata",
      "units": "Source-issued warning classifications; no sensor-derived authority",
      "endpointExample": "Catalogue https://www.dmc.gov.lk/index.php?Itemid=279&lang=en&option=com_dmcreports&report_type_id=8&view=reports",
      "status": "Researched documentation; manual/reference fallback",
      "sources": [
        "ARC-S29"
      ],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No live observations fetched for this connector."
      },
      "historicalAvailability": "Dated notices; complete archive not guaranteed",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Use authorised institutional file/manual intake with the same source identity, exact release and evidence locator.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-12",
      "name": "LUPPD authorised land-use release",
      "type": "Custodian spatial/statistical release",
      "variables": "Land-use classes, coverage, planning definitions",
      "coverage": "Official coverage/geometry/class release unconfirmed",
      "timeCoverage": "Release-specific",
      "latency": "Unconfirmed",
      "authentication": "Custodian agreement; no verified public API",
      "licensing": "Rights and exact release unconfirmed",
      "limits": "No machine contract verified",
      "schema": "Reuse authorised GIS/file intake; retain institutional claims",
      "units": "Owner-declaredCRS, area unit, categorical meaning",
      "endpointExample": "No verified endpoint;retain existing LUPPD source identity and approved file/manual fallback",
      "status": "External institutional dependency; current interface unavailable",
      "sources": [],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No live observations fetched for this connector."
      },
      "historicalAvailability": "Release-specific",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Use authorised institutional file/manual intake with the same source identity, exact release and evidence locator.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    },
    {
      "errorHandling": "Validate HTTP/schema; retain rejected evidence. Bounded backoff, quarantine/failure queue, resumable watermark and deduplication. Missing delivery is not zero.",
      "freshness": "Keep phenomenon period, provider issue time, receipt and last successful fetch separately; show stale coverage.",
      "pagination": "Provider-specific bounded pages/windows; retain cursor, overlap and replay-safe source key.",
      "permissions": "Source owner and intended audience must authorise use; no blanket redistribution claim.",
      "costCategory": "No price adopted; institutional/service cost and procurement remain unconfirmed.",
      "id": "API-13",
      "name": "CEA water-quality institutional source",
      "type": "Official laboratory reports and environmental data catalogue",
      "variables": "Approved sample parameters, laboratory method and results; exact released table required",
      "coverage": "Named water bodies/sites and sample locations; no project-area coverage inferred",
      "timeCoverage": "Release/sample-specific; complete archive not established",
      "latency": "Owner publication or authorised exchange schedule",
      "authentication": "Public service catalogue; restricted records require custodian agreement",
      "licensing": "Exact dataset and reuse rights unconfirmed; some laboratory/project services commercial",
      "limits": "No public observation API contract established",
      "schema": "Source report/table, sample identity, location, depth, time, method, result, unit and qualifier",
      "units": "Parameter- and method-specific; retain detection limits and censored values",
      "endpointExample": "Catalogue https://cea.lk/web/en/2013-05-07-07-51-07/environmental-pollution-contorl-division/water-quality-unit",
      "status": "Researched official source; authorised report/file fallback",
      "sources": [
        "ARC-S41",
        "ARC-S42"
      ],
      "sanitizedExample": {
        "exampleType": "Simulated adapter behaviour",
        "note": "No environmental measurements or private laboratory reports fetched."
      },
      "historicalAvailability": "Release/sample-specific; complete archive not established",
      "fieldMapping": "Keep provider-native fields and units in protected intake evidence. Resolve each to an approved definition/version, time interval and place/deployment; publish only eligible curated observations or reference metadata. Do not turn warnings or gridded model output into station observations.",
      "fallback": "Use authorised institutional file/manual intake with the same source identity, exact release and evidence locator.",
      "sourceDate": "2026-11-02",
      "maturity": "External/institutional dependency",
      "provenance": "Official documentation or explicitly unavailable interface; no project integration",
      "approval": "Pending through existing Institution review"
    }
  ],
  "architectureReferences": [
    {
      "id": "ARCH-OGC",
      "title": "SensorThings mapping",
      "summary": "OGC SensorThings Sensing 1.1 provides a useful vocabulary for devices, deployments, observed properties, units and observations. Align the intake conceptually; do not claim conformance without implementing and testing the standard.",
      "version": "OGC 18-088, version 1.1, published 2021-08-04",
      "sources": [
        "ARC-S30"
      ],
      "mapping": "Thing → monitored asset; Location/HistoricalLocation → versioned deployment location; Sensor → instrument/procedure; ObservedProperty → versioned definition; Datastream → sensor/property/unit context; Observation → time, result and quality; FeatureOfInterest → observed place, sample or feature."
    },
    {
      "id": "ARCH-OLAP",
      "title": "Business analytical cube",
      "summary": "Declare one row's meaning before selecting dimensions and facts. Cultivation, reservoir snapshots and weather observations require separate grains. Aggregate each compatible fact before joining; never multiply cultivation area by joining every hourly weather row.",
      "version": "Kimball dimensional modelling guidance",
      "sources": [
        "ARC-S31",
        "ARC-S32"
      ],
      "mapping": "Cultivation grain: source release × place version × season × crop classification × declared measure. Weather grain: deployment/grid cell × interval × property. Add only additive quantities; recompute yield and percentages from approved numerators and denominators. Do not sum temperatures or repeated capacity snapshots."
    },
    {
      "id": "ARCH-EO",
      "title": "Earth-observation data cube",
      "summary": "An Earth-observation cube indexes gridded products over space, time and bands. It complements the business analytical cube. Preserve product version, CRS, resolution, masks, resampling and zonal weighting before deriving district or basin summaries.",
      "version": "Open Data Cube development documentation observed; implementation release not selected",
      "sources": [
        "ARC-S33"
      ],
      "mapping": "Product/dataset metadata → approved source product; raster arrays → spatial storage; zonal derivation → versioned calculation and lineage; analytical fact → derived indicator with coverage and uncertainty."
    }
  ],
  "openai": {
    "status": "Optional extension; documentation researched; no provider calls or private uploads",
    "summary": "Keep deterministic file intake, review and reporting available. An AI adapter may propose extraction and report definitions; reviewed values and deterministic calculations remain authoritative.",
    "providerNeutralBoundary": "Use a provider-neutral extraction/retrieval/report-assistance port. Configuration, approval and access controls sit outside the model. No automatic publication or schema/database changes.",
    "sources": [
      "ARC-S34",
      "ARC-S35",
      "ARC-S36",
      "ARC-S37"
    ],
    "fileInputs": "Official file inputs accept file IDs, Base64 or external URLs. PDF processing includes extracted text and page images. Non-PDF embedded images are not generally extracted. Spreadsheet augmentation uses the first 1,000 rows per sheet; parse complete tables deterministically. Each file and the total request must be below 50 MB.",
    "structuredOutput": "Use the supported JSON Schema subset with strict output where available. Validate values, units, evidence locators and definition versions independently. Handle refusals and incomplete output; a correct JSON shape does not establish factual accuracy.",
    "retrieval": "Create meaningful page, section and table chunks with source, version and access metadata. Apply permissions before retrieval, before model context and before delivery. Withdrawn or superseded sources must be excluded from retrieval, caches and outputs. Hosted File Search supports vector stores, metadata filters and citations; these do not replace application authorization.",
    "reportAssistance": "Translate a request into a proposed report definition referencing approved measures, filters, periods and places. Execute calculations through deterministic services. Do not execute generated SQL or treat a narrative as a verified result.",
    "dataControls": "Review source-owner permission, contract, retention, region and deletion before external processing. Default abuse-monitoring content can be retained up to 30 days, subject to documented exceptions. Responses state, Files and vector stores have distinct retention rules. Special retention controls require eligibility/configuration. No Sri Lanka residency or zero-retention assumption.",
    "extractionCandidate": {
      "exampleType": "Synthetic review candidate, not extracted project data",
      "candidateDefinitionId": "SYN-DEF-TEMP-v1",
      "value": null,
      "originalUnit": null,
      "reportingPeriod": null,
      "placeCandidates": [],
      "evidence": {
        "documentVersion": "SYN-DOC-v1",
        "page": 1,
        "table": "Table 1",
        "row": 2,
        "span": "temperature cell"
      },
      "missingStatus": "unknown",
      "validationMessages": [
        "Unit absent; reviewer must resolve"
      ],
      "parserCertainty": "Native cell located",
      "reviewerJudgment": "Not reviewed",
      "numericConfidence": null
    },
    "evaluation": {
      "status": "Proposed evaluation plan; live-provider evaluation not executed",
      "cases": [
        "English native table",
        "Missing units",
        "Difficult scan",
        "Conflicting totals",
        "Ambiguous mapping",
        "Instruction injection in source content",
        "Withdrawn or restricted retrieval"
      ],
      "languageCoverage": "Sinhala and Tamil require approved representative fixtures before any accuracy claim.",
      "metrics": [
        "Exact field correctness",
        "Evidence locator correctness",
        "Unknown-value preservation",
        "Review effort",
        "Restricted-content leakage"
      ],
      "acceptance": "Set thresholds and approve results through Institution review. A model confidence number is not a calibrated probability."
    }
  },
  "images": [
    {
      "deviceId": "DEV-01",
      "pageUrl": "https://www.campbellsci.com/products/climavue50-g2",
      "imageUrl": null,
      "attribution": "Manufacturer reference for ClimaVue 50 G2",
      "reuseStatus": "Reuse permission not established; manufacturer reference only",
      "embedded": false,
      "alt": "Open the official manufacturer reference for ClimaVue 50 G2"
    },
    {
      "deviceId": "DEV-02",
      "pageUrl": "https://docs.vaisala.com/r/M212902EN-G/en-US/GUID-E6912022-5F36-44DF-90CA-2721236D948C",
      "imageUrl": null,
      "attribution": "Manufacturer reference for WXT536",
      "reuseStatus": "Reuse permission not established; manufacturer reference only",
      "embedded": false,
      "alt": "Open the official manufacturer reference for WXT536"
    },
    {
      "deviceId": "DEV-03",
      "pageUrl": "https://www.davisinstruments.com/products/wireless-vantage-pro2-iss-with-24-hr-fan-aspirated-radiation-shield",
      "imageUrl": null,
      "attribution": "Manufacturer reference for Vantage Pro2 6323M",
      "reuseStatus": "Reuse permission not established; manufacturer reference only",
      "embedded": false,
      "alt": "Open the official manufacturer reference for Vantage Pro2 6323M"
    },
    {
      "deviceId": "DEV-04",
      "pageUrl": "https://metergroup.com/products/teros-12/",
      "imageUrl": null,
      "attribution": "Manufacturer reference for TEROS 12",
      "reuseStatus": "Reuse permission not established; manufacturer reference only",
      "embedded": false,
      "alt": "Open the official manufacturer reference for TEROS 12"
    },
    {
      "deviceId": "DEV-05",
      "pageUrl": "https://www.ott.com/products/5545000190-10uc",
      "imageUrl": null,
      "attribution": "Manufacturer reference for ecoLog1000 10UC",
      "reuseStatus": "Reuse permission not established; manufacturer reference only",
      "embedded": false,
      "alt": "Open the official manufacturer reference for ecoLog1000 10UC"
    }
  ],
  "sources": [
    {
      "id": "ARC-S01",
      "title": "Campbell Scientific ClimaVue 50 G2",
      "url": "https://www.campbellsci.com/products/climavue50-g2",
      "locator": "Overview and Specifications: supply, Air Temperature, Wind Speed, Precipitation",
      "support": "SDI-12; compatible Aspen10/loggers; 3.6–15VDC; temperature±0.6°C; wind max(0.3m/s, 6%); rain±5% at0–1000mm/h. Liquid precipitation and stated siting/operating conditions.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S02",
      "title": "Vaisala WXT536 station context",
      "url": "https://docs.vaisala.com/r/M212902EN-G/en-US/GUID-E6912022-5F36-44DF-90CA-2721236D948C",
      "locator": "Vaisala Weather Transmitter WXT536",
      "support": "WXT536 is a transmitter within a complete station. Power, logger and communications are separate responsibilities.",
      "version": "M212902EN-G",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S03",
      "title": "Vaisala WXT536 specifications",
      "url": "https://docs.vaisala.com/r/M212902EN-G/en-US/GUID-AD3DAFAA-7537-453B-969B-B3229E311DD7",
      "locator": "Measurement tables and footnotes1, 2, 5, 7",
      "support": "Temperature sensor element±0.3°C at20°C; wind±3% at10m/s; daily rain better than5%, weather-dependent, excluding wind-induced error. Natural aspiration affects calm-weather readings.",
      "version": "M212902EN-G",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S04",
      "title": "Vaisala configurable WXT530",
      "url": "https://store.vaisala.com/en/products/WXT530",
      "locator": "Digital outputs and WXT536 variant",
      "support": "Official indexed catalogue lists SDI-12, RS-232, RS-485, RS-422. Page body unreadable; confirm exact power, heater, protocol and order bundle.",
      "version": "Current configurable family",
      "status": "Official source partly readable",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S05",
      "title": "Davis Vantage Pro2 fan-aspirated suite",
      "url": "https://www.davisinstruments.com/products/wireless-vantage-pro2-iss-with-24-hr-fan-aspirated-radiation-shield",
      "locator": "Product title and Highlights",
      "support": "Listed6323/6323M; outside temperature/RH, wind, rain; solar/battery. WeatherLinkLive6100 is optional. UV, solar-radiation and soil/leaf sensors are additional options.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S06",
      "title": "Davis WeatherLink Live",
      "url": "https://www.davisinstruments.com/pages/weatherlink-live",
      "locator": "Live Data; Wi-Fi and Ethernet; compatible stations",
      "support": "Separate compatible wireless gateway with Wi-Fi/Ethernet uplink. Local same-network app cadence differs from cloud API permissions.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S07",
      "title": "Davis wireless family specification",
      "url": "https://cdn.shopify.com/s/files/1/0515/5992/3873/files/6152_6162_6153_6163_Spec_SheetFF__Web.pdf?v=1661460993",
      "locator": "Printed pp1, 5, 6, 8: rain tip, rainfall, outside temperature, wind",
      "support": "Metric tip0.2mm; rain total±3% or one tip up to250mm/h; outside temperature±0.5°C typical. Family sheet is not proof of unchanged current regional SKU.",
      "version": "Manufacturer-linked historical family sheet",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S08",
      "title": "Davis fan-aspirated ISS addendum",
      "url": "https://cdn.shopify.com/s/files/1/0515/5992/3873/files/VP2_Fan_Aspirated_ISS_Rev_C.pdf",
      "locator": "Printed p7 Fan-Aspirated Shield Specifications; maintenance",
      "support": "Solar-powered fan, backup cells and cleaning/service requirements. Reconcile historical manual with current purchased hardware.",
      "version": "RevC22March2006",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S09",
      "title": "METER TEROS12",
      "url": "https://metergroup.com/products/teros-12/",
      "locator": "Measurement, Communication, Electrical Specifications",
      "support": "VWC, temperature, bulkEC; DDI/SDI-12; 4–15VDC; compatibleZL6/EM60/Em50. Generic mineral-soilVWC±0.03m³/m³ when solutionEC<8000µS/cm; medium calibration±0.01–0.02. BulkEC is not laboratory/pore-waterEC.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S10",
      "title": "OTT ecoLog1000 conductivity SKU",
      "url": "https://www.ott.com/products/5545000190-10uc",
      "locator": "Product title and Technical Attributes",
      "support": "5545000190-10UC:0–10m, 26Ah, conductivity, LTE-M. Pressure±0.05%FS; temperature±0.1°C; EC conditions vary. Later full-page reads timed out; official indexed specifications retained.",
      "version": "Exact10UC variant",
      "status": "Official documentation partly available; no device test",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S11",
      "title": "OTT ecoLog1000 instructions",
      "url": "https://www.ott.com/download/operating-instructions-groundwater-datalogger-ott-ecolog-1000-5/",
      "locator": "Section2.2 USA variant table",
      "support": "Indexed manufacturer manual distinguishes10U from conductivity10UC, LTE-M. Current download redirects; obtain current regional manual before purchase.",
      "version": "Indexed manual; direct download unresolved",
      "status": "Current direct download unavailable",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S12",
      "title": "OTT ecoLog1000 data sheet",
      "url": "https://www.ott.com/products/download/data-sheet-ott-ecolog-1000-en/",
      "locator": "Communications, measured values, power",
      "support": "Indexed sheet distinguishes EU4G/2G and globalLTE-M. Conductivity optional at family level. Current link redirects to general resources.",
      "version": "Indexed sheet; current link redirects",
      "status": "Current direct download unavailable",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S13",
      "title": "WeatherLinkv2 introduction",
      "url": "https://weatherlink.github.io/v2-api/",
      "locator": "Station access criteria",
      "support": "Ownership, owner-share or qualifying upgrade determines access. Public visibility does not grant unrestricted observation API access.",
      "version": "WeatherLinkv2",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S14",
      "title": "WeatherLink authentication",
      "url": "https://weatherlink.github.io/v2-api/authentication",
      "locator": "API Key; API Secret",
      "support": "api-key query parameter and X-Api-Secret header. Connector keeps credentials server-side and redacts URL logs.",
      "version": "WeatherLinkv2 current authentication",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S15",
      "title": "WeatherLink data permissions",
      "url": "https://weatherlink.github.io/v2-api/data-permissions",
      "locator": "WeatherLink Console/Live table",
      "support": "Basic 15-minute current records, no history; Pro 5-minute current and history; Pro+latest/history, subject to station relationship.",
      "version": "WeatherLinkv2",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S16",
      "title": "WeatherLink rate limits",
      "url": "https://weatherlink.github.io/v2-api/rate-limits",
      "locator": "Default rate limits",
      "support": "1000calls/hour and10calls/second per API key.",
      "version": "WeatherLinkv2",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S17",
      "title": "WeatherLink size limits",
      "url": "https://weatherlink.github.io/v2-api/size-limits",
      "locator": "Historic windows",
      "support": "Starting/ending Unix timestamps; historic request window at most86400seconds.",
      "version": "WeatherLinkv2",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S18",
      "title": "Sri Lankan Weather Advisory System",
      "url": "https://was.meteo.gov.lk/api-docs",
      "locator": "Authentication; Warnings; Changes; Timestamps; CAP/RSS; Errors",
      "support": "KeyedJSON warnings vs keylessCAP1.2/RSS; en/si/ta; 120requests/60s; limit1–200(default50); changes uses returned since cursor. This is an issued warning feed, not a station API.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S19",
      "title": "Open-Meteo forecast API",
      "url": "https://open-meteo.com/en/docs",
      "locator": "Weather Forecast API; hourly variables; response",
      "support": "Gridded model forecast arrays with timestamps and units; retain product/run, resolution and interval. Not physical station observations.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S20",
      "title": "Open-Meteo historical weather",
      "url": "https://open-meteo.com/en/docs/historical-weather-api",
      "locator": "Historical Weather introduction/data sources",
      "support": "ERA5from1940 at0.25°, ERA5-Landfrom1950 at0.1°, IFSfrom2017 at9km. Use consistent product for comparisons; coordinate is not district coverage.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S21",
      "title": "Open-Meteo access terms",
      "url": "https://open-meteo.com/en/pricing",
      "locator": "Free/Open Access table; FAQ",
      "support": "Free API is non-commercial: 600/minute, 5,000/hour, 10,000/day, 300,000/month. Paid customer access differs; historical APIs require Professional or higher. Data is CC BY 4.0 with attribution; this differs from API-service terms.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S22",
      "title": "NASA POWER Hourly API",
      "url": "https://power.larc.nasa.gov/docs/services/api/temporal/hourly/",
      "locator": "Formats; Time Standards; Limitations; Point examples",
      "support": "Hourlyfrom2001; at most15parameters/request; UTC or defaultLocalSolarTime. FormatsJSON/CSV/NetCDF. Nativeparameter/community units. LST is not Sri Lankan civil time.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S23",
      "title": "NASA POWER data sources",
      "url": "https://power.larc.nasa.gov/docs/faqs/data/",
      "locator": "Sources; Units; Latency",
      "support": "Solar is satellite-informed modeled data; meteorology derives fromMERRA-2/GEOS-ITassimilation. Preserve source grid/resolution. Not station observations.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S24",
      "title": "Sri Lanka Irrigation Department",
      "url": "https://www.irrigation.gov.lk/web/index.php?lang=en",
      "locator": "Water Management; Hydrology; Publications; Flood Warning",
      "support": "Official water/irrigation source discovery. Homepage does not establish public observation API, automated reuse rights or update SLA.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S25",
      "title": "Sri Lanka NSDI Geoportal",
      "url": "https://www.nsdi.gov.lk/geoportal",
      "locator": "Geoportal description",
      "support": "Official spatial metadata/service discovery; per-layer authority, scale, rights and versions remain necessary.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S26",
      "title": "Sri Lanka NSDI FAQ",
      "url": "https://www.nsdi.gov.lk/faq",
      "locator": "Availability; publishing prerequisites",
      "support": "Free and commercial datasets coexist; publishing links requires registration/institutionalMOU. Discovery is not blanket redistribution permission.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S27",
      "title": "DCS Paddy Statistics",
      "url": "https://www.statistics.gov.lk/Agriculture/%20StaticalInformation/PaddyStatistics",
      "locator": "Paddy Statistics definitions; tables; revision note",
      "support": "MahaSep–Marfollowingyear; YalaApr–Aug. Asweddumized, sown, harvested differ. Production uses harvestedarea×crop-cuttingyield. Preserve revised releases; district totals do not imply variety breakdown.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S28",
      "title": "DOA SEPC downloads",
      "url": "https://doa.gov.lk/sepc-downloads_en/",
      "locator": "Agstat, cost-of-cultivation, crop-forecast categories",
      "support": "Official periodic agriculture/weather/paddy publications. Preserve edition, page/table, units/periods. Public API and redistribution licence not established.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S29",
      "title": "DMC flood warnings",
      "url": "https://www.dmc.gov.lk/index.php?Itemid=279&lang=en&option=com_dmcreports&report_type_id=8&view=reports",
      "locator": "Flood Warning and withdrawal notices",
      "support": "Official bulletins/withdrawals. Preserve issuer, issue/validity, area and replacements; prototype thresholds cannot issue official warnings.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S30",
      "title": "OGC SensorThings Sensing1.1",
      "url": "https://docs.ogc.org/is/18-088/18-088.html",
      "locator": "Sections8.2.1–8.2.8; conformance",
      "support": "Thing, Location/HistoricalLocation, Sensor, ObservedProperty, Datastream, Observation, FeatureOfInterest. A datastream has one sensor/property and units. Conceptual alignment is not certified conformance.",
      "version": "OGC18-088Version1.1; published2021-08-04",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S31",
      "title": "Kimball declared grain",
      "url": "https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/grain/",
      "locator": "Grain",
      "support": "Declare what one fact row represents before choosing dimensions and facts. Grain is a binding design choice. Independent source aggregation before joining is the proposed architecture's application of this principle.",
      "version": "Author guidance",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S32",
      "title": "Kimball stars and OLAP",
      "url": "https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/star-schema-olap-cube/",
      "locator": "Star schemas and OLAP cubes",
      "support": "Dimensional stars and multidimensional OLAP are analytical representations; retain grain and aggregation meaning.",
      "version": "Author guidance",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S33",
      "title": "Open Data Cube",
      "url": "https://opendatacube.readthedocs.io/en/latest/",
      "locator": "Overview; metadata; analysis; masking",
      "support": "Gridded Earth-observation data/metadata across space, time, variable. CRS, mask, resolution and product definitions matter. Not a business approval ledger.",
      "version": "Latestdevelopmentdocsobserved1.9.23.dev65; pin chosen release",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S34",
      "title": "OpenAI file inputs",
      "url": "https://developers.openai.com/api/docs/guides/file-inputs",
      "locator": "Input mechanisms; file-specific processing; spreadsheet augmentation; usage",
      "support": "FileID, Base64 or URL inputs. PDFs include text/page images. Non-PDF embedded charts/images are not extracted. Spreadsheet processing uses first1000rows/sheet. Each file and combined request under50MB. Parse complete tables deterministically.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S35",
      "title": "OpenAI Structured Outputs",
      "url": "https://developers.openai.com/api/docs/guides/structured-outputs",
      "locator": "Supported schemas; edge cases; text.format",
      "support": "JSON-Schema subset constrains shape. Responses text.format can usejson_schema/strict. Handle incomplete/refusal responses; schema conformity is not factual correctness.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S36",
      "title": "OpenAI File Search",
      "url": "https://developers.openai.com/api/docs/guides/tools-file-search",
      "locator": "File Search; results inclusion; metadata filtering",
      "support": "Hosted vector-store retrieval with metadata filters/citations/results. Re-authorise current rights and versions before model context or result delivery. Search is not numerical authority.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S37",
      "title": "OpenAI data controls",
      "url": "https://developers.openai.com/api/docs/guides/your-data",
      "locator": "Endpoint retention; Responses; Files; residency",
      "support": "Default abuse logs may retain content up to30days with exceptions. Response state, Files/vectorstores have distinct retention/deletion. Special retention/residency needs eligibility/configuration. No automatic zero-retention or Sri Lanka residency.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S38",
      "title": "NSDI Location WMS documentation",
      "url": "https://nsdi.gov.lk/location",
      "locator": "WMS GetCapabilities link",
      "support": "ExactWMS1.3.0capabilityURL documented; no feature licence, completeness or service-availability inference.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S39",
      "title": "WeatherLink current and historic endpoint tutorial",
      "url": "https://weatherlink.github.io/v2-api/tutorial",
      "locator": "Steps 2–4; archive interval explanation",
      "support": "Current endpoint and secret header verified. Historic records timestamp the interval end, with selection (start, end]; midnight can close the preceding day.",
      "version": "API v2 live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S40",
      "title": "WXT530 interfaces and option bundles",
      "url": "https://docs.vaisala.com/r/M211840EN-G/en-US/GUID-6B30C4BA-CEF6-40DF-9F60-41935D25AB9D",
      "locator": "Tables 1–2: features and available options",
      "support": "Power-up 5–32 V DC; SDI-12, ASCII, NMEA 0183 and Modbus RTU protocols; RS-232/485/422 and SDI-12 interfaces. Heating and auxiliary inputs are configuration options.",
      "version": "M211840EN-G",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S41",
      "title": "CEA laboratory services and surface-water source discovery",
      "url": "https://cea.lk/web/en/2013-05-07-07-51-07/environmental-pollution-contorl-division/water-quality-unit",
      "locator": "Water Quality Monitoring Unit; services; downloads",
      "support": "Official laboratory services include inland water monitoring, analytical reports and a surface-water data download section. Some sample/project services are commercial. No public observation API is established here.",
      "version": "Official live documentation",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S42",
      "title": "CEA selected inland water bodies",
      "url": "https://www.cea.lk/web/en/component/content/article?id=1801&layout=edit",
      "locator": "Ambient Water Quality Monitoring of Selected Major Inland Surface Water Bodies",
      "support": "Lists Kelani River, Diyawanna Oya, Maha Oya, Bolgoda Lake and Benthara Ganga. This programme list does not establish local project coverage or an automated feed.",
      "version": "Page last updated 2025-01-09",
      "status": "Researched documentation",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S43",
      "title": "ClimaVue 50 G2 manual, specification discrepancy",
      "url": "https://s.campbellsci.com/documents/us/manuals/climavue50g2.pdf",
      "locator": "Section 6, specifications",
      "support": "Search-indexed manual reports typical RH ±3% and pressure ±5 hPa at 25°C, differing from current product page/brochure specifications. Resolve hardware/revision-specific specification with supplier.",
      "version": "Official manual; indexed copy predates current product-page check",
      "status": "Researched official indexed manual; revision confirmation required",
      "checkedDate": "2026-11-02"
    },
    {
      "id": "ARC-S44",
      "title": "ClimaVue 50 G2 manufacturer brochure",
      "url": "https://s.campbellsci.com/documents/us/product-brochures/b_climavue50-g2-a4-branded.pdf",
      "locator": "Specification headings: pressure, wind, solar, precipitation, tilt and lightning",
      "support": "Current indexed brochure supports product-page pressure, wind, solar and precipitation values. Reconcile delivered hardware and calibration certificate with the older manual.",
      "version": "Official product brochure; revision date unconfirmed",
      "status": "Researched official indexed brochure",
      "checkedDate": "2026-11-02"
    }
  ],
  "mappings": [
    {
      "id": "MAP-01",
      "name": "Device packet to observation",
      "summary": "Retain the original packet and source identity. Map each property through a versioned definition, unit, deployment and phenomenon interval. Preserve receipt time, quality and correction lineage. Shared packet identity does not make all variables share the same aggregation rule.",
      "sources": [
        "ARC-S30",
        "ARC-S39"
      ]
    },
    {
      "id": "MAP-02",
      "name": "Document to reviewed candidate",
      "summary": "Keep exact document version, page, table, row and cell evidence. Parse complete tables deterministically; optional AI suggests candidates. Reuse Domain Studio definitions and the existing review/commit workflow.",
      "sources": [
        "ARC-S34",
        "ARC-S35"
      ]
    },
    {
      "id": "MAP-03",
      "name": "Grid to area indicator",
      "summary": "Keep model/source grid, CRS, resolution, period and masks. Use an approved spatial weighting method and record coverage. A selected grid point does not represent a whole district automatically.",
      "sources": [
        "ARC-S19",
        "ARC-S20",
        "ARC-S22",
        "ARC-S33"
      ]
    },
    {
      "id": "MAP-04",
      "name": "Issued warning to reference",
      "summary": "Retain the official issuer, identity, area, issue time, validity, replacement and cancellation. Distinguish provider-issued alerts from prototype thresholds; data intake does not confer warning authority.",
      "sources": [
        "ARC-S18",
        "ARC-S29"
      ]
    },
    {
      "id": "MAP-05",
      "name": "Official seasonal cultivation facts",
      "summary": "Preserve asweddumized, sown and harvested area as separate definitions. DCS describes Maha as September to March of the following year and Yala as April to August. Preserve the publication's season-year label and revisions. Do not infer variety-level detail absent from the source.",
      "sources": [
        "ARC-S27"
      ]
    }
  ],
  "unresolved": [
    "Local device availability, calibration, mounting, radio/network suitability and scientific methods require review.",
    "WeatherLink account entitlement and API credentials are unavailable; WAS JSON API key is unavailable.",
    "LUPPD has no verified machine interface in this research; retain the authorised institutional file/manual route.",
    "Irrigation and DOA operational exchange contracts, schema and redistribution rights remain unconfirmed.",
    "OTT's current regional manual/download availability and ordered modem variant require supplier confirmation.",
    "Image reuse permission is unconfirmed; use official manufacturer reference links, with no embedded vendor image.",
    "No live AI/provider evaluation or private-document processing has been executed.",
    "All client and expert decisions stay pending in Institution review; this catalogue creates no separate approval register.",
    "ClimaVue 50 G2 current page/brochure and older indexed manual disagree on RH and pressure specifications; exact revision must be resolved before scientific adoption."
  ]
}
