{
  "built": {
    "at": "2026-11-05T03:42:17Z",
    "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-mosaic 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; 2/2 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": "10 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": null,
      "not_run_reason": "mosaic-pack",
      "note": "This is the mosaic pack; it carries no native tiles.",
      "status": "not-run",
      "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": "0 native tiles (previous edition 2024edr2: 0); 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": "mosaic level L6: min -86 m, max 5,848 m, void 55.7%",
      "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": null,
      "not_run_reason": "no-tiles",
      "note": "The pack carries no native tiles (TER-002 judges that).",
      "since": "TV7",
      "status": "not-run",
      "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": null,
      "not_run_reason": "no-tiles",
      "note": "The pack carries no native tiles.",
      "since": "TV7",
      "status": "not-run",
      "title": "Void share of every native tile"
    }
  ],
  "gated": true,
  "metrics": {
    "ACC-001": [
      {
        "count": 1,
        "min": 1,
        "ok": true,
        "query": "mosaic level 6 loads"
      },
      {
        "count": 1,
        "min": 1,
        "ok": true,
        "query": "mosaic level 6 water mask loads"
      }
    ],
    "TER-002": {
      "mip_tiles": 0,
      "native_tiles": 0
    },
    "TER-006": []
  },
  "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": 249558377,
    "cycle": "2024edr3",
    "id": "terrain-mosaic",
    "kind": "terrain",
    "schema_version": "1",
    "sha256": "5639af9717078b5b23b7e0d2369557761363e7201578d6ad4ed397d7a8a13adb"
  },
  "previous": {
    "cycle": "2024edr2",
    "sha256": "c5ab1d0dcf3ab64e6cdd94374ad149f3dabeb31440783a9b9005bbbabf7f7818"
  },
  "record": "build",
  "schema": "pack-report/1",
  "sources": [],
  "summary": {
    "fail": 0,
    "not_run": 5,
    "pass": 8,
    "warn": 0
  },
  "tables": {}
}
