{
  "built": {
    "at": "2026-11-07T16:32:05Z",
    "builder_refs": {
      "pyEfis": "9a681dead75cfde6e7e36c322904bf082688f18e"
    },
    "commit": "6abc9d4e381e72ab9f12d2ef69f3990b84c55e57",
    "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-west kind=terrain cycle=2024edr4 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": "5,006 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": "385 native tiles (previous 385), 0 outside us-west",
      "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": "385 native tiles (previous edition 2024edr3: 385); 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 385 native tiles: min -10 m, max 3,410 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": "385 of the 385 Copernicus tiles inside us-west 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": "385 native tiles read; 0 with more than 1% void; worst N48W125 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 N31W103 loads with grid side 3601"
      }
    ],
    "TER-002": {
      "mip_tiles": 2310,
      "native_tiles": 385
    },
    "TER-006": [
      "N31W103",
      "N31W104",
      "N31W105",
      "N31W106",
      "N31W107",
      "N31W108",
      "N31W109",
      "N31W110",
      "N31W111",
      "N31W112",
      "N31W113",
      "N31W114",
      "N31W115",
      "N31W116",
      "N31W117",
      "N32W103",
      "N32W104",
      "N32W105",
      "N32W106",
      "N32W107",
      "N32W108",
      "N32W109",
      "N32W110",
      "N32W111",
      "N32W112",
      "N32W113",
      "N32W114",
      "N32W115",
      "N32W116",
      "N32W117",
      "N32W118",
      "N32W119",
      "N33W103",
      "N33W104",
      "N33W105",
      "N33W106",
      "N33W107",
      "N33W108",
      "N33W109",
      "N33W110",
      "N33W111",
      "N33W112",
      "N33W113",
      "N33W114",
      "N33W115",
      "N33W116",
      "N33W117",
      "N33W118",
      "N33W119",
      "N33W120",
      "N33W121",
      "N34W103",
      "N34W104",
      "N34W105",
      "N34W106",
      "N34W107",
      "N34W108",
      "N34W109",
      "N34W110",
      "N34W111",
      "N34W112",
      "N34W113",
      "N34W114",
      "N34W115",
      "N34W116",
      "N34W117",
      "N34W118",
      "N34W119",
      "N34W120",
      "N34W121",
      "N35W103",
      "N35W104",
      "N35W105",
      "N35W106",
      "N35W107",
      "N35W108",
      "N35W109",
      "N35W110",
      "N35W111",
      "N35W112",
      "N35W113",
      "N35W114",
      "N35W115",
      "N35W116",
      "N35W117",
      "N35W118",
      "N35W119",
      "N35W120",
      "N35W121",
      "N35W122",
      "N36W103",
      "N36W104",
      "N36W105",
      "N36W106",
      "N36W107",
      "N36W108",
      "N36W109",
      "N36W110",
      "N36W111",
      "N36W112",
      "N36W113",
      "N36W114",
      "N36W115",
      "N36W116",
      "N36W117",
      "N36W118",
      "N36W119",
      "N36W120",
      "N36W121",
      "N36W122",
      "N36W123",
      "N37W103",
      "N37W104",
      "N37W105",
      "N37W106",
      "N37W107",
      "N37W108",
      "N37W109",
      "N37W110",
      "N37W111",
      "N37W112",
      "N37W113",
      "N37W114",
      "N37W115",
      "N37W116",
      "N37W117",
      "N37W118",
      "N37W119",
      "N37W120",
      "N37W121",
      "N37W122",
      "N37W123",
      "N37W124",
      "N38W103",
      "N38W104",
      "N38W105",
      "N38W106",
      "N38W107",
      "N38W108",
      "N38W109",
      "N38W110",
      "N38W111",
      "N38W112",
      "N38W113",
      "N38W114",
      "N38W115",
      "N38W116",
      "N38W117",
      "N38W118",
      "N38W119",
      "N38W120",
      "N38W121",
      "N38W122",
      "N38W123",
      "N38W124",
      "N39W103",
      "N39W104",
      "N39W105",
      "N39W106",
      "N39W107",
      "N39W108",
      "N39W109",
      "N39W110",
      "N39W111",
      "N39W112",
      "N39W113",
      "N39W114",
      "N39W115",
      "N39W116",
      "N39W117",
      "N39W118",
      "N39W119",
      "N39W120",
      "N39W121",
      "N39W122",
      "N39W123",
      "N39W124",
      "N39W125",
      "N40W103",
      "N40W104",
      "N40W105",
      "N40W106",
      "N40W107",
      "N40W108",
      "N40W109",
      "N40W110",
      "N40W111",
      "N40W112",
      "N40W113",
      "N40W114",
      "N40W115",
      "N40W116",
      "N40W117",
      "N40W118",
      "N40W119",
      "N40W120",
      "N40W121",
      "N40W122",
      "N40W123",
      "N40W124",
      "N40W125",
      "N41W103",
      "N41W104",
      "N41W105",
      "N41W106",
      "N41W107",
      "N41W108",
      "N41W109",
      "N41W110",
      "N41W111",
      "N41W112",
      "N41W113",
      "N41W114",
      "N41W115",
      "N41W116",
      "N41W117",
      "N41W118",
      "N41W119",
      "N41W120",
      "N41W121",
      "N41W122",
      "N41W123",
      "N41W124",
      "N41W125",
      "N42W103",
      "N42W104",
      "N42W105",
      "N42W106",
      "N42W107",
      "N42W108",
      "N42W109",
      "N42W110",
      "N42W111",
      "N42W112",
      "N42W113",
      "N42W114",
      "N42W115",
      "N42W116",
      "N42W117",
      "N42W118",
      "N42W119",
      "N42W120",
      "N42W121",
      "N42W122",
      "N42W123",
      "N42W124",
      "N42W125",
      "N43W103",
      "N43W104",
      "N43W105",
      "N43W106",
      "N43W107",
      "N43W108",
      "N43W109",
      "N43W110",
      "N43W111",
      "N43W112",
      "N43W113",
      "N43W114",
      "N43W115",
      "N43W116",
      "N43W117",
      "N43W118",
      "N43W119",
      "N43W120",
      "N43W121",
      "N43W122",
      "N43W123",
      "N43W124",
      "N43W125",
      "N44W103",
      "N44W104",
      "N44W105",
      "N44W106",
      "N44W107",
      "N44W108",
      "N44W109",
      "N44W110",
      "N44W111",
      "N44W112",
      "N44W113",
      "N44W114",
      "N44W115",
      "N44W116",
      "N44W117",
      "N44W118",
      "N44W119",
      "N44W120",
      "N44W121",
      "N44W122",
      "N44W123",
      "N44W124",
      "N44W125",
      "N45W103",
      "N45W104",
      "N45W105",
      "N45W106",
      "N45W107",
      "N45W108",
      "N45W109",
      "N45W110",
      "N45W111",
      "N45W112",
      "N45W113",
      "N45W114",
      "N45W115",
      "N45W116",
      "N45W117",
      "N45W118",
      "N45W119",
      "N45W120",
      "N45W121",
      "N45W122",
      "N45W123",
      "N45W124",
      "N45W125",
      "N46W103",
      "N46W104",
      "N46W105",
      "N46W106",
      "N46W107",
      "N46W108",
      "N46W109",
      "N46W110",
      "N46W111",
      "N46W112",
      "N46W113",
      "N46W114",
      "N46W115",
      "N46W116",
      "N46W117",
      "N46W118",
      "N46W119",
      "N46W120",
      "N46W121",
      "N46W122",
      "N46W123",
      "N46W124",
      "N46W125",
      "N47W103",
      "N47W104",
      "N47W105",
      "N47W106",
      "N47W107",
      "N47W108",
      "N47W109",
      "N47W110",
      "N47W111",
      "N47W112",
      "N47W113",
      "N47W114",
      "N47W115",
      "N47W116",
      "N47W117",
      "N47W118",
      "N47W119",
      "N47W120",
      "N47W121",
      "N47W122",
      "N47W123",
      "N47W124",
      "N47W125",
      "N48W103",
      "N48W104",
      "N48W105",
      "N48W106",
      "N48W107",
      "N48W108",
      "N48W109",
      "N48W110",
      "N48W111",
      "N48W112",
      "N48W113",
      "N48W114",
      "N48W115",
      "N48W116",
      "N48W117",
      "N48W118",
      "N48W119",
      "N48W120",
      "N48W121",
      "N48W122",
      "N48W123",
      "N48W124",
      "N48W125"
    ],
    "TER-007": {
      "expected": 385,
      "missing": [],
      "present": 385
    },
    "TER-008": {
      "over": [],
      "tiles": 385
    }
  },
  "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": 5281558128,
    "cycle": "2024edr4",
    "id": "terrain-us-west",
    "kind": "terrain",
    "schema_version": "1",
    "sha256": "c14e65d2c3b7ddae35100e515c134377c1e94aff97b1578bd0a61fa2dc7bc737"
  },
  "previous": {
    "cycle": "2024edr3",
    "sha256": "87679ffc4f5a9afac447c62346e34bbb435b3cfd3ce10e73652ea98e7beadb30"
  },
  "record": "build",
  "schema": "pack-report/1",
  "sources": [],
  "summary": {
    "fail": 0,
    "not_run": 2,
    "pass": 11,
    "warn": 0
  },
  "tables": {}
}
