{
  "version": 1,
  "commit": "0fd68778633ad39c153ad7d3e7093c3e340240fa",
  "exes": {
    "ufo2p": {
      "label": "UFO2P.EXE",
      "code_bytes": 683312,
      "matched_bytes": 67,
      "partial_bytes": 480,
      "unmatched_bytes": 682765,
      "uncovered_bytes": 25787,
      "denominator_bytes": 709099,
      "percent": 0.0094,
      "library_bytes": 43059,
      "library_functions": 259,
      "assembler_bytes": 29077,
      "assembler_functions": 125,
      "data_in_code_bytes": 3879,
      "functions": {
        "total": 1428,
        "matched": 3,
        "partial": 8
      }
    },
    "tacp": {
      "label": "TACP.EXE",
      "code_bytes": 683001,
      "matched_bytes": 26,
      "partial_bytes": 208,
      "unmatched_bytes": 682767,
      "uncovered_bytes": 35349,
      "denominator_bytes": 718350,
      "percent": 0.0036,
      "library_bytes": 45156,
      "library_functions": 278,
      "assembler_bytes": 28758,
      "assembler_functions": 120,
      "data_in_code_bytes": 3719,
      "functions": {
        "total": 1406,
        "matched": 2,
        "partial": 5
      }
    }
  },
  "combined": {
    "code_bytes": 1366313,
    "matched_bytes": 93,
    "partial_bytes": 688,
    "unmatched_bytes": 1365532,
    "uncovered_bytes": 61136,
    "denominator_bytes": 1427449,
    "percent": 0.0065,
    "library_bytes": 88215,
    "library_functions": 537,
    "assembler_bytes": 57835,
    "assembler_functions": 245,
    "data_in_code_bytes": 7598,
    "functions": {
      "total": 2834,
      "matched": 5,
      "partial": 13
    }
  },
  "mechanics": {
    "tiers": [],
    "items": [],
    "duplicates": []
  },
  "notes": [
    "uncovered: bytes inside a units.csv span that belong to no functions.csv row. Most are alignment filler; they count as unmatched code in the denominator until rows reach them (D-40, D-50).",
    "The 3 bytes of UFO2P past 0x000CFADA lie outside every unit span and are not counted (D-50).",
    "library: the Watcom runtime, not decompiled, kept outside the percentage; data-in-code is excluded (D-26).",
    "assembler: game functions on the owner-signed config/asm-functions.csv, hand-written assembly that cannot match from C, kept outside the percentage like the library here, in the shields and in report.json; decomphub.progress.json still counts them as code (D-23)."
  ]
}
