{
  "built": {
    "at": "2026-11-04T19:07:53Z",
    "builder_refs": {
      "pyEfis": "9ba4c90be4f016e27d436a168066b53a5b4db8e7"
    },
    "commit": "76a7f8a5cfc6ced75616a2ffb6dc455f239e5f1e",
    "repo": "billmallard/makerplane-data",
    "run_url": null,
    "runner": "local"
  },
  "checks": [
    {
      "blocking": true,
      "cannot_catch": "A pack_meta that is well formed but names the wrong id or cycle for the bytes inside.",
      "expected": "pack_meta present; kind is one the device knows",
      "id": "PACK-001",
      "measured": "id=terrain-us-south kind=terrain cycle=2024edr3 schema_version=1",
      "status": "pass",
      "title": "pack_meta is readable and names a known kind"
    },
    {
      "blocking": true,
      "cannot_catch": "A license tag or attribution that is present but wrong for the data.",
      "expected": "both non-empty",
      "id": "PACK-002",
      "measured": "attribution and license present",
      "status": "pass",
      "title": "Attribution and license are recorded in pack_meta"
    },
    {
      "blocking": true,
      "cannot_catch": "Whether the label matches where the data really came from. For a kind with a default label (ORIGIN_BY_KIND in packtools/report.py) the label comes from that table, not from the builder or the pack, so the check is tautological and always passes; measured says which. With --origin it shows only that the label given is one of the three.",
      "expected": "one of federal / community / user-supplied",
      "id": "PACK-003",
      "measured": "federal (passed with --origin)",
      "since": "AER-699",
      "status": "pass",
      "title": "Origin label is federal, community or user-supplied"
    },
    {
      "blocking": false,
      "cannot_catch": "A recorded source that is not the one the build actually used, and an edition or sha256 that is well formed but wrong.",
      "expected": "at least one source, each with a non-empty edition and a 64-hex sha256",
      "id": "PACK-004",
      "measured": null,
      "note": "No upstream sources were supplied to the report (--sources).",
      "status": "not-run",
      "title": "Upstream sources are recorded"
    },
    {
      "blocking": true,
      "cannot_catch": "Wrong values the reader accepts. It shows the device can open and query these bytes, not that what it returns is right. The queries cover fixed points only: US kinds, 5 CONUS metros (Denver, Seattle, Atlanta, Los Angeles and Chicago); airports (Canada), Toronto and Vancouver; water, Puget Sound, Lake Michigan and Lake Ontario; navaids, idents DEN, SEA, LAX; procedures, airways V23, J80, V1; terrain, one native tile or the coarsest mosaic level. So it cannot catch a missing Alaska, Hawaii or Puerto Rico, or any state or province that holds none of those points.",
      "expected": "the reader opens the pack and every query returns data",
      "id": "ACC-001",
      "measured": "opened; 1/1 queries returned data",
      "status": "pass",
      "title": "Device acceptance: pyEfis's own reader opens the pack and answers a fixed query set"
    },
    {
      "blocking": true,
      "cannot_catch": "A tile of the right size holding wrong elevations.",
      "expected": "0 malformed members",
      "id": "TER-001",
      "measured": "4,083 members, 0 malformed",
      "status": "pass",
      "title": "Every member is a known terrain file of a valid size"
    },
    {
      "blocking": true,
      "cannot_catch": "A tile missing from inside the region (ocean tiles are absent by design, so the check cannot tell a gap from sea).",
      "expected": "0 tiles outside the region bbox; a regional pack with no native tiles fails (only the terrain-mosaic pack, by id, carries none)",
      "id": "TER-002",
      "measured": "314 native tiles (previous 314), 0 outside us-south",
      "status": "pass",
      "title": "Native tiles fall inside the pack's region"
    },
    {
      "blocking": true,
      "cannot_catch": "A tile that is present but holds wrong or older elevations, and a tile that was already missing from the previous edition.",
      "expected": "every native tile in the previous edition is still present. Applies across Copernicus editions too: a new edition that drops a tile fails",
      "id": "TER-006",
      "measured": "314 native tiles (previous edition 2024edr2: 314); lost 0; gained 0",
      "since": "AER-4102",
      "status": "pass",
      "title": "No native tile of the previous edition is missing"
    },
    {
      "blocking": true,
      "cannot_catch": "A mask that is present but wrong.",
      "expected": "0 missing masks",
      "id": "TER-003",
      "measured": 0,
      "since": "AER-2287",
      "status": "pass",
      "title": "Every masked .hgt carries its .wmask water mask"
    },
    {
      "blocking": false,
      "cannot_catch": "Anything in a tile that was not sampled, and wrong elevations that stay inside the plausible range.",
      "expected": "-500 m to 9,000 m, void at most 50%",
      "id": "TER-004",
      "measured": "16 of 314 native tiles: min -13 m, max 2,264 m, void 0.0%",
      "status": "pass",
      "title": "Elevation range and void fraction on a sample of tiles"
    },
    {
      "blocking": false,
      "cannot_catch": "Errors away from airports, and errors smaller than the outlier bound. Copernicus is a surface model (trees, buildings, rooftop helipads), and a bad FAA elevation looks the same as a bad tile: the check says where they disagree, not which one is wrong. Against a previous record without TER-005 metrics it judges the median only; only the worst 200 outliers are carried.",
      "expected": "Provisional threshold: median |difference| at most 50 ft, and no airport beyond 500 ft that was not beyond it in the previous edition. Needs an airports pack (--airports)",
      "id": "TER-005",
      "measured": null,
      "not_run_reason": "no-airports",
      "note": "No airports pack was given (--airports) to take field elevations from.",
      "pending_review": "catalogue v2 (TV7): QA has not reviewed this check's definition or threshold, so it cannot stop a publish yet",
      "provisional": "no edition-to-edition baseline yet (one published pair per kind when set); a warn level for a person to look at, to be re-set once enough records exist (AER-4102)",
      "since": "TV7",
      "status": "not-run",
      "title": "Spot heights against published airport field elevations"
    },
    {
      "blocking": false,
      "cannot_catch": "A tile that is present but holds wrong or older elevations, and a tile Copernicus itself does not publish.",
      "expected": "every GLO-30 tile that exists inside the region (packtools/data/glo30_tiles.txt, from the Copernicus tile list) is a native tile of the pack",
      "id": "TER-007",
      "measured": "314 of the 314 Copernicus tiles inside us-south present; 0 missing",
      "since": "TV7",
      "status": "pass",
      "title": "Every Copernicus tile inside the region is present"
    },
    {
      "blocking": false,
      "cannot_catch": "Voids at or under 1% of a tile (up to about 130,000 posts of a 3601 x 3601 tile), wrong elevations that are not void markers, and voids in the mip levels and mosaic (only native tiles are read).",
      "expected": "no native tile more than 1% void (GLO-30 has no voids; ocean is 0 m)",
      "id": "TER-008",
      "measured": "314 native tiles read; 0 with more than 1% void; worst N36W107 0.00%",
      "since": "TV7",
      "status": "pass",
      "title": "Void share of every native tile"
    }
  ],
  "gated": true,
  "metrics": {
    "ACC-001": [
      {
        "count": 3601,
        "min": 3601,
        "ok": true,
        "query": "native tile N24W076 loads with grid side 3601"
      }
    ],
    "TER-002": {
      "mip_tiles": 1884,
      "native_tiles": 314
    },
    "TER-006": [
      "N24W076",
      "N24W077",
      "N24W078",
      "N24W079",
      "N24W080",
      "N24W081",
      "N24W082",
      "N24W083",
      "N24W098",
      "N24W099",
      "N24W100",
      "N24W101",
      "N24W102",
      "N24W103",
      "N24W104",
      "N24W105",
      "N24W106",
      "N24W107",
      "N25W077",
      "N25W078",
      "N25W079",
      "N25W080",
      "N25W081",
      "N25W082",
      "N25W098",
      "N25W099",
      "N25W100",
      "N25W101",
      "N25W102",
      "N25W103",
      "N25W104",
      "N25W105",
      "N25W106",
      "N25W107",
      "N26W077",
      "N26W078",
      "N26W079",
      "N26W080",
      "N26W081",
      "N26W082",
      "N26W083",
      "N26W098",
      "N26W099",
      "N26W100",
      "N26W101",
      "N26W102",
      "N26W103",
      "N26W104",
      "N26W105",
      "N26W106",
      "N26W107",
      "N27W078",
      "N27W079",
      "N27W081",
      "N27W082",
      "N27W083",
      "N27W097",
      "N27W098",
      "N27W099",
      "N27W100",
      "N27W101",
      "N27W102",
      "N27W103",
      "N27W104",
      "N27W105",
      "N27W106",
      "N27W107",
      "N28W081",
      "N28W082",
      "N28W083",
      "N28W090",
      "N28W096",
      "N28W097",
      "N28W098",
      "N28W099",
      "N28W100",
      "N28W101",
      "N28W102",
      "N28W103",
      "N28W104",
      "N28W105",
      "N28W106",
      "N28W107",
      "N29W081",
      "N29W082",
      "N29W083",
      "N29W084",
      "N29W085",
      "N29W086",
      "N29W089",
      "N29W090",
      "N29W091",
      "N29W092",
      "N29W093",
      "N29W094",
      "N29W095",
      "N29W096",
      "N29W097",
      "N29W098",
      "N29W099",
      "N29W100",
      "N29W101",
      "N29W102",
      "N29W103",
      "N29W104",
      "N29W105",
      "N29W106",
      "N29W107",
      "N30W082",
      "N30W083",
      "N30W084",
      "N30W085",
      "N30W086",
      "N30W087",
      "N30W088",
      "N30W089",
      "N30W090",
      "N30W091",
      "N30W092",
      "N30W093",
      "N30W094",
      "N30W095",
      "N30W096",
      "N30W097",
      "N30W098",
      "N30W099",
      "N30W100",
      "N30W101",
      "N30W102",
      "N30W103",
      "N30W104",
      "N30W105",
      "N30W106",
      "N30W107",
      "N31W081",
      "N31W082",
      "N31W083",
      "N31W084",
      "N31W085",
      "N31W086",
      "N31W087",
      "N31W088",
      "N31W089",
      "N31W090",
      "N31W091",
      "N31W092",
      "N31W093",
      "N31W094",
      "N31W095",
      "N31W096",
      "N31W097",
      "N31W098",
      "N31W099",
      "N31W100",
      "N31W101",
      "N31W102",
      "N31W103",
      "N31W104",
      "N31W105",
      "N31W106",
      "N31W107",
      "N32W080",
      "N32W081",
      "N32W082",
      "N32W083",
      "N32W084",
      "N32W085",
      "N32W086",
      "N32W087",
      "N32W088",
      "N32W089",
      "N32W090",
      "N32W091",
      "N32W092",
      "N32W093",
      "N32W094",
      "N32W095",
      "N32W096",
      "N32W097",
      "N32W098",
      "N32W099",
      "N32W100",
      "N32W101",
      "N32W102",
      "N32W103",
      "N32W104",
      "N32W105",
      "N32W106",
      "N32W107",
      "N33W078",
      "N33W079",
      "N33W080",
      "N33W081",
      "N33W082",
      "N33W083",
      "N33W084",
      "N33W085",
      "N33W086",
      "N33W087",
      "N33W088",
      "N33W089",
      "N33W090",
      "N33W091",
      "N33W092",
      "N33W093",
      "N33W094",
      "N33W095",
      "N33W096",
      "N33W097",
      "N33W098",
      "N33W099",
      "N33W100",
      "N33W101",
      "N33W102",
      "N33W103",
      "N33W104",
      "N33W105",
      "N33W106",
      "N33W107",
      "N34W077",
      "N34W078",
      "N34W079",
      "N34W080",
      "N34W081",
      "N34W082",
      "N34W083",
      "N34W084",
      "N34W085",
      "N34W086",
      "N34W087",
      "N34W088",
      "N34W089",
      "N34W090",
      "N34W091",
      "N34W092",
      "N34W093",
      "N34W094",
      "N34W095",
      "N34W096",
      "N34W097",
      "N34W098",
      "N34W099",
      "N34W100",
      "N34W101",
      "N34W102",
      "N34W103",
      "N34W104",
      "N34W105",
      "N34W106",
      "N34W107",
      "N35W076",
      "N35W077",
      "N35W078",
      "N35W079",
      "N35W080",
      "N35W081",
      "N35W082",
      "N35W083",
      "N35W084",
      "N35W085",
      "N35W086",
      "N35W087",
      "N35W088",
      "N35W089",
      "N35W090",
      "N35W091",
      "N35W092",
      "N35W093",
      "N35W094",
      "N35W095",
      "N35W096",
      "N35W097",
      "N35W098",
      "N35W099",
      "N35W100",
      "N35W101",
      "N35W102",
      "N35W103",
      "N35W104",
      "N35W105",
      "N35W106",
      "N35W107",
      "N36W076",
      "N36W077",
      "N36W078",
      "N36W079",
      "N36W080",
      "N36W081",
      "N36W082",
      "N36W083",
      "N36W084",
      "N36W085",
      "N36W086",
      "N36W087",
      "N36W088",
      "N36W089",
      "N36W090",
      "N36W091",
      "N36W092",
      "N36W093",
      "N36W094",
      "N36W095",
      "N36W096",
      "N36W097",
      "N36W098",
      "N36W099",
      "N36W100",
      "N36W101",
      "N36W102",
      "N36W103",
      "N36W104",
      "N36W105",
      "N36W106",
      "N36W107"
    ],
    "TER-007": {
      "expected": 314,
      "missing": [],
      "present": 314
    },
    "TER-008": {
      "over": [],
      "tiles": 314
    }
  },
  "notice": "Experimental / Amateur-Built use only. Not certified. This data is provided as-is with no warranty and any use of the data is at your own risk.",
  "origin": "federal",
  "pack": {
    "bytes": 3014483700,
    "cycle": "2024edr3",
    "id": "terrain-us-south",
    "kind": "terrain",
    "schema_version": "1",
    "sha256": "27341b03a9fa183d46b6dcf67fc0fd050674ca310d432da7690daa1b54dc63e7"
  },
  "previous": {
    "cycle": "2024edr2",
    "sha256": "67e8fe25c057d18b7bcaebadd3f66cb21ec78b9aa13d763f367ef45855b49fb2"
  },
  "record": "build",
  "schema": "pack-report/1",
  "sources": [],
  "summary": {
    "fail": 0,
    "not_run": 2,
    "pass": 11,
    "warn": 0
  },
  "tables": {}
}
