{
  "built": {
    "at": "2026-11-03T18:18:23Z",
    "builder_refs": {
      "pyEfis": "4e0c154643c379b91af5f478109e2b61cc5d0b62"
    },
    "commit": "ec8a6d1a45fe47eeb8cb06b64830659602c0cd9c",
    "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-central kind=terrain cycle=2024edr2 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,044 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": "311 native tiles (previous 311), 0 outside us-central",
      "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": "311 native tiles (previous edition 2024edr1: 311); 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 311 native tiles: min -8 m, max 2,198 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": "311 of the 311 Copernicus tiles inside us-central 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": "311 native tiles read; 0 with more than 1% void; worst N48W104 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 N25W098 loads with grid side 3601"
      }
    ],
    "TER-002": {
      "mip_tiles": 1866,
      "native_tiles": 311
    },
    "TER-006": [
      "N25W098",
      "N25W099",
      "N25W100",
      "N25W101",
      "N25W102",
      "N25W103",
      "N25W104",
      "N26W098",
      "N26W099",
      "N26W100",
      "N26W101",
      "N26W102",
      "N26W103",
      "N26W104",
      "N27W097",
      "N27W098",
      "N27W099",
      "N27W100",
      "N27W101",
      "N27W102",
      "N27W103",
      "N27W104",
      "N28W096",
      "N28W097",
      "N28W098",
      "N28W099",
      "N28W100",
      "N28W101",
      "N28W102",
      "N28W103",
      "N28W104",
      "N29W091",
      "N29W092",
      "N29W093",
      "N29W094",
      "N29W095",
      "N29W096",
      "N29W097",
      "N29W098",
      "N29W099",
      "N29W100",
      "N29W101",
      "N29W102",
      "N29W103",
      "N29W104",
      "N30W091",
      "N30W092",
      "N30W093",
      "N30W094",
      "N30W095",
      "N30W096",
      "N30W097",
      "N30W098",
      "N30W099",
      "N30W100",
      "N30W101",
      "N30W102",
      "N30W103",
      "N30W104",
      "N31W091",
      "N31W092",
      "N31W093",
      "N31W094",
      "N31W095",
      "N31W096",
      "N31W097",
      "N31W098",
      "N31W099",
      "N31W100",
      "N31W101",
      "N31W102",
      "N31W103",
      "N31W104",
      "N32W091",
      "N32W092",
      "N32W093",
      "N32W094",
      "N32W095",
      "N32W096",
      "N32W097",
      "N32W098",
      "N32W099",
      "N32W100",
      "N32W101",
      "N32W102",
      "N32W103",
      "N32W104",
      "N33W091",
      "N33W092",
      "N33W093",
      "N33W094",
      "N33W095",
      "N33W096",
      "N33W097",
      "N33W098",
      "N33W099",
      "N33W100",
      "N33W101",
      "N33W102",
      "N33W103",
      "N33W104",
      "N34W091",
      "N34W092",
      "N34W093",
      "N34W094",
      "N34W095",
      "N34W096",
      "N34W097",
      "N34W098",
      "N34W099",
      "N34W100",
      "N34W101",
      "N34W102",
      "N34W103",
      "N34W104",
      "N35W091",
      "N35W092",
      "N35W093",
      "N35W094",
      "N35W095",
      "N35W096",
      "N35W097",
      "N35W098",
      "N35W099",
      "N35W100",
      "N35W101",
      "N35W102",
      "N35W103",
      "N35W104",
      "N36W091",
      "N36W092",
      "N36W093",
      "N36W094",
      "N36W095",
      "N36W096",
      "N36W097",
      "N36W098",
      "N36W099",
      "N36W100",
      "N36W101",
      "N36W102",
      "N36W103",
      "N36W104",
      "N37W091",
      "N37W092",
      "N37W093",
      "N37W094",
      "N37W095",
      "N37W096",
      "N37W097",
      "N37W098",
      "N37W099",
      "N37W100",
      "N37W101",
      "N37W102",
      "N37W103",
      "N37W104",
      "N38W091",
      "N38W092",
      "N38W093",
      "N38W094",
      "N38W095",
      "N38W096",
      "N38W097",
      "N38W098",
      "N38W099",
      "N38W100",
      "N38W101",
      "N38W102",
      "N38W103",
      "N38W104",
      "N39W091",
      "N39W092",
      "N39W093",
      "N39W094",
      "N39W095",
      "N39W096",
      "N39W097",
      "N39W098",
      "N39W099",
      "N39W100",
      "N39W101",
      "N39W102",
      "N39W103",
      "N39W104",
      "N40W091",
      "N40W092",
      "N40W093",
      "N40W094",
      "N40W095",
      "N40W096",
      "N40W097",
      "N40W098",
      "N40W099",
      "N40W100",
      "N40W101",
      "N40W102",
      "N40W103",
      "N40W104",
      "N41W091",
      "N41W092",
      "N41W093",
      "N41W094",
      "N41W095",
      "N41W096",
      "N41W097",
      "N41W098",
      "N41W099",
      "N41W100",
      "N41W101",
      "N41W102",
      "N41W103",
      "N41W104",
      "N42W091",
      "N42W092",
      "N42W093",
      "N42W094",
      "N42W095",
      "N42W096",
      "N42W097",
      "N42W098",
      "N42W099",
      "N42W100",
      "N42W101",
      "N42W102",
      "N42W103",
      "N42W104",
      "N43W091",
      "N43W092",
      "N43W093",
      "N43W094",
      "N43W095",
      "N43W096",
      "N43W097",
      "N43W098",
      "N43W099",
      "N43W100",
      "N43W101",
      "N43W102",
      "N43W103",
      "N43W104",
      "N44W091",
      "N44W092",
      "N44W093",
      "N44W094",
      "N44W095",
      "N44W096",
      "N44W097",
      "N44W098",
      "N44W099",
      "N44W100",
      "N44W101",
      "N44W102",
      "N44W103",
      "N44W104",
      "N45W091",
      "N45W092",
      "N45W093",
      "N45W094",
      "N45W095",
      "N45W096",
      "N45W097",
      "N45W098",
      "N45W099",
      "N45W100",
      "N45W101",
      "N45W102",
      "N45W103",
      "N45W104",
      "N46W091",
      "N46W092",
      "N46W093",
      "N46W094",
      "N46W095",
      "N46W096",
      "N46W097",
      "N46W098",
      "N46W099",
      "N46W100",
      "N46W101",
      "N46W102",
      "N46W103",
      "N46W104",
      "N47W091",
      "N47W092",
      "N47W093",
      "N47W094",
      "N47W095",
      "N47W096",
      "N47W097",
      "N47W098",
      "N47W099",
      "N47W100",
      "N47W101",
      "N47W102",
      "N47W103",
      "N47W104",
      "N48W091",
      "N48W092",
      "N48W093",
      "N48W094",
      "N48W095",
      "N48W096",
      "N48W097",
      "N48W098",
      "N48W099",
      "N48W100",
      "N48W101",
      "N48W102",
      "N48W103",
      "N48W104"
    ],
    "TER-007": {
      "expected": 311,
      "missing": [],
      "present": 311
    },
    "TER-008": {
      "over": [],
      "tiles": 311
    }
  },
  "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": 2861851717,
    "cycle": "2024edr2",
    "id": "terrain-us-central",
    "kind": "terrain",
    "schema_version": "1",
    "sha256": "455a069ec62a8b2c7d9bdab495dad1bad878b9642f326fa2165cafe8c1ac93f9"
  },
  "previous": {
    "cycle": "2024edr1",
    "sha256": "eb3a77cb0ea6215f951c82a3c4c3fd05858361753f656b59cb9b19d284ea2acb"
  },
  "record": "build",
  "schema": "pack-report/1",
  "sources": [],
  "summary": {
    "fail": 0,
    "not_run": 2,
    "pass": 11,
    "warn": 0
  },
  "tables": {}
}
