{
  "schemaVersion": "road-risk-road-sample-protocol.v1",
  "id": "road-risk-road-sample-v1",
  "frozenAt": "2026-09-05T00:23:21.380039Z",
  "purpose": "Descriptive outputs of a fixed sample, not national population estimates or collision validation.",
  "source": {
    "snapshotDate": "2026-08-31",
    "pbfSha256": "444f4acd39296a4758505ebe3958334bdeefd739695b23a106adde8dd2248ed3",
    "url": "https://download.geofabrik.de/europe/ireland-and-northern-ireland-260831.osm.pbf",
    "licence": "OpenStreetMap contributors, ODbL 1.0",
    "jurisdiction": "Republic of Ireland",
    "studyBoundary": "Union of the 26 traditional county level-6 Irish administrative relations from the same frozen source; retain the separate level-2 jurisdiction boundary.",
    "sourceReview": "Technical preparation may produce private candidate calculations; publication requires source, protocol and independent statistical and transport review of the exact aggregate. No automated step records human approval.",
    "networkDuringSelectionOrScoring": false
  },
  "sampling": {
    "count": 10000,
    "countyMinimum": 100,
    "seed": "road-risk-road-sample-v1",
    "allocation": "County floors followed by exact largest-remainder proportional allocation of residual capacities; one place per nonempty county-road-class stratum then proportional residual allocation.",
    "withinStratum": "Ascending SHA-256 of seed, newline and stable source-part ID; stable ID breaks any digest tie.",
    "countyAssignment": "Projected length midpoint; boundary ties by greatest in-county length then alphabetical county order. Do not split scoring units at county borders.",
    "scoringUnit": "Complete continuous source-road part split only at source-way, topology, study-boundary or material-tag boundaries.",
    "replacement": "None. Retain complete, partial and unavailable outputs for the fixed selection.",
    "interpretation": "This allocation deliberately supports county and road-class coverage; unadjusted sample averages are not estimates of all Irish roads.",
    "highways": [
      "motorway",
      "motorway_link",
      "trunk",
      "trunk_link",
      "primary",
      "primary_link",
      "secondary",
      "secondary_link",
      "tertiary",
      "tertiary_link",
      "unclassified",
      "residential",
      "living_street",
      "service",
      "road"
    ],
    "exclusions": [
      "Outside county-union study boundary",
      "Nonmodeled highway class",
      "Explicit private or no motor access under the existing conservative tag filter",
      "Invalid or zero-length geometry",
      "Unresolved county assignment"
    ],
    "missingTags": "Keep supported App fallbacks; do not filter using outputs, scores or eventual availability.",
    "direction": "Preserve source coordinate order and original OSM identity for calculation. Artifact identifiers must not reverse inputs.",
    "controls": "R238 and synthetic parity fixtures are separate; do not add them to the sample count."
  },
  "contextPolicy": {
    "version": "frozen-app-context.v1",
    "bufferM": 75,
    "source": "unclipped-modeled-highways",
    "accessFilter": false,
    "sampleFilter": false,
    "originalNodeOrder": true,
    "originalWayIdentityForSelfExclusion": true,
    "sort": "original-way-id-ascending"
  },
  "model": {
    "id": "v32",
    "version": "3.2.0",
    "status": "controlled-preview",
    "publicDefault": "2.0.0"
  },
  "scenarioId": "app-typical-frozen-v1",
  "scenario": {
    "timeOfDay": "08:00-15:00",
    "assumptionProfile": "typical",
    "weather": {
      "rain": false,
      "rainType": "light",
      "rainIntensityPercent": 50,
      "fog": false,
      "fogVisibilityM": 350,
      "ice": false,
      "iceSeverity": 3,
      "snow": false,
      "snowType": "light",
      "standingWater": false,
      "standingWaterSeverity": 3,
      "heatwave": false,
      "heatTemperatureC": 32
    },
    "behaviour": {
      "overspeedKmh": 0,
      "bacPercent": 0,
      "fatigueLikelihood": 0.2,
      "distracted": false,
      "distractionSeverity": 4
    },
    "roadContext": {
      "poorLighting": false,
      "lightingMode": "dark",
      "poorSurface": false,
      "surfaceScore": 50,
      "trafficProxyExponent": 0.7
    },
    "vehicleProfileId": null
  },
  "metrics": {
    "roadPopulation": "All non-null canonical App headlines, including partial coverage, with the available-road denominator shown.",
    "sectionPopulation": "Only sections with finite available canonical output, weighted by their scored length; never substitute total road length.",
    "quantile": "Smallest ordered available value whose cumulative positive weight reaches p times total weight; unit weights for road-part quantiles.",
    "histogramEdges": [
      0,
      0.001,
      0.0025,
      0.005,
      0.01,
      0.015,
      0.02,
      0.05,
      0.1,
      1
    ],
    "histogramClosure": "Left closed and right open, except final bin includes 1.",
    "displayClippedShare": "Scored length with output strictly greater than 0.02 divided by all scored length; not a safety threshold.",
    "zero": "A calculated numeric zero is valid; a missing result is null with a reason.",
    "smallCells": "Suppress a whole coverage dimension if any nonzero contributor count is below ten. Suppress nonzero quality category counts together if any is between one and nine; genuine zero remains zero. Never publish named roads, exact maxima or rankings.",
    "uncertainty": "No population confidence interval or observed collision interpretation in this descriptive release."
  },
  "execution": {
    "workerCount": 1,
    "chunkSize": 128,
    "benchmarks": [
      100,
      1000
    ],
    "cleanFullRuns": 2,
    "resumedFullRuns": 1,
    "unexpectedScorerError": "Blocks release; no replacement or zero fallback."
  },
  "publication": {
    "independentReviews": [
      "statistical",
      "transport"
    ],
    "additionalReviews": [
      "source",
      "protocol"
    ],
    "ownerApproval": "Exact aggregate SHA-256",
    "nationalGates": "Unchanged",
    "home": "Unchanged",
    "rawOutputs": "Private only",
    "empiricalDecision": "not-assessed",
    "promotionDecision": "unchanged"
  },
  "limitations": [
    "The current mapped network does not reconstruct historical road conditions.",
    "Centreline geometry is not a surveyed lane alignment.",
    "Divided carriageways contribute separate centreline length.",
    "The typical scenario includes behavioural assumptions and traffic proxies, not measured local behaviour or traffic exposure.",
    "The existing geometric intersection helper does not establish every real junction or resolve every grade-separated crossing."
  ]
}
