{
  "artifact_id": "gallery-dense-random-hole-plate-too-many-reliefs",
  "artifact_type": "printed_plate",
  "artifact_version": "0.1.0",
  "burr_version": "0.29.0",
  "checks": [
    {
      "measured": {
        "schema_version": "burr.design-data.v1"
      },
      "message": "Design data schema version is supported.",
      "reason": "ok",
      "rule_id": "burr_design_data:schema_version_supported",
      "status": "pass"
    },
    {
      "measured": {
        "schema_version": "burr.rulepack.v1"
      },
      "message": "Rulepack schema version is supported.",
      "reason": "ok",
      "rule_id": "burr_rulepack:schema_version_supported",
      "status": "pass"
    },
    {
      "file_ref": "source",
      "message": "File ref path exists.",
      "path": "design.py",
      "reason": "ok",
      "rule_id": "burr_design_data:source_file_exists",
      "status": "pass"
    },
    {
      "file_ref": "source",
      "measured": {
        "sha256": "39054d4d1d1907705543524494fa6f4ad091950d60133ae0a75ce1b77bd0d3ef"
      },
      "message": "File hash matches design data.",
      "path": "design.py",
      "reason": "ok",
      "required": {
        "sha256": "39054d4d1d1907705543524494fa6f4ad091950d60133ae0a75ce1b77bd0d3ef"
      },
      "rule_id": "burr_design_data:source_sha256_matches",
      "status": "pass"
    },
    {
      "file_ref": "sources[0]",
      "message": "File ref path exists.",
      "path": "design.py",
      "reason": "ok",
      "rule_id": "burr_design_data:source_file_exists",
      "status": "pass"
    },
    {
      "file_ref": "sources[0]",
      "measured": {
        "sha256": "39054d4d1d1907705543524494fa6f4ad091950d60133ae0a75ce1b77bd0d3ef"
      },
      "message": "File hash matches design data.",
      "path": "design.py",
      "reason": "ok",
      "required": {
        "sha256": "39054d4d1d1907705543524494fa6f4ad091950d60133ae0a75ce1b77bd0d3ef"
      },
      "rule_id": "burr_design_data:source_sha256_matches",
      "status": "pass"
    },
    {
      "file_ref": "artifacts[0]",
      "message": "File ref path exists.",
      "path": "dense-random-hole-plate-too-many-reliefs.step",
      "reason": "ok",
      "rule_id": "burr_design_data:artifact_file_exists",
      "status": "pass"
    },
    {
      "file_ref": "artifacts[0]",
      "measured": {
        "sha256": "71d859ccc00fe06e8ed99c14165bcf9b4d5da5fe35f7dc61d9eceebbdf14b74c"
      },
      "message": "File hash matches design data.",
      "path": "dense-random-hole-plate-too-many-reliefs.step",
      "reason": "ok",
      "required": {
        "sha256": "71d859ccc00fe06e8ed99c14165bcf9b4d5da5fe35f7dc61d9eceebbdf14b74c"
      },
      "rule_id": "burr_design_data:artifact_sha256_matches",
      "status": "pass"
    },
    {
      "feature_ids": [
        "relief_01",
        "relief_02",
        "relief_03",
        "relief_04",
        "relief_05",
        "relief_06",
        "relief_07",
        "relief_08",
        "relief_09",
        "relief_10",
        "relief_11",
        "relief_12",
        "relief_13",
        "relief_14",
        "relief_15",
        "relief_16",
        "relief_17",
        "relief_18",
        "relief_19",
        "relief_20",
        "relief_21",
        "relief_22",
        "relief_23",
        "relief_24",
        "relief_25",
        "relief_26",
        "relief_27",
        "relief_28",
        "relief_29",
        "relief_30",
        "relief_31",
        "relief_32",
        "relief_33",
        "relief_34",
        "relief_35",
        "relief_36",
        "relief_37",
        "relief_38",
        "relief_39",
        "relief_40",
        "relief_41",
        "relief_42",
        "relief_43",
        "relief_44",
        "relief_45",
        "relief_46",
        "relief_47",
        "relief_48",
        "relief_49",
        "relief_50",
        "relief_51",
        "relief_52",
        "relief_53",
        "relief_54",
        "relief_55",
        "relief_56",
        "relief_57",
        "relief_58",
        "relief_59",
        "relief_60",
        "relief_61",
        "relief_62",
        "relief_63",
        "relief_64",
        "relief_65",
        "relief_66",
        "relief_67",
        "relief_68",
        "relief_69",
        "relief_70",
        "relief_71",
        "relief_72",
        "relief_73",
        "relief_74",
        "relief_75",
        "relief_76",
        "relief_77",
        "relief_78",
        "relief_79",
        "relief_80",
        "relief_81"
      ],
      "measured": {
        "count": 81
      },
      "message": "Feature count 81 is outside declared range.",
      "reason": "feature_count_out_of_range",
      "required": {
        "max_count": 80,
        "min_count": 8
      },
      "rule_id": "printed_plate:cosmetic_relief_inventory",
      "status": "fail"
    },
    {
      "feature_ids": [
        "relief_01",
        "relief_02",
        "relief_03",
        "relief_04",
        "relief_05",
        "relief_06",
        "relief_07",
        "relief_08",
        "relief_09",
        "relief_10",
        "relief_11",
        "relief_12",
        "relief_13",
        "relief_14",
        "relief_15",
        "relief_16",
        "relief_17",
        "relief_18",
        "relief_19",
        "relief_20",
        "relief_21",
        "relief_22",
        "relief_23",
        "relief_24",
        "relief_25",
        "relief_26",
        "relief_27",
        "relief_28",
        "relief_29",
        "relief_30",
        "relief_31",
        "relief_32",
        "relief_33",
        "relief_34",
        "relief_35",
        "relief_36",
        "relief_37",
        "relief_38",
        "relief_39",
        "relief_40",
        "relief_41",
        "relief_42",
        "relief_43",
        "relief_44",
        "relief_45",
        "relief_46",
        "relief_47",
        "relief_48",
        "relief_49",
        "relief_50",
        "relief_51",
        "relief_52",
        "relief_53",
        "relief_54",
        "relief_55",
        "relief_56",
        "relief_57",
        "relief_58",
        "relief_59",
        "relief_60",
        "relief_61",
        "relief_62",
        "relief_63",
        "relief_64",
        "relief_65",
        "relief_66",
        "relief_67",
        "relief_68",
        "relief_69",
        "relief_70",
        "relief_71",
        "relief_72",
        "relief_73",
        "relief_74",
        "relief_75",
        "relief_76",
        "relief_77",
        "relief_78",
        "relief_79",
        "relief_80",
        "relief_81"
      ],
      "margin_mm": 8.2,
      "measured": {
        "closest_pair": {
          "center_distance_mm": 12.0,
          "clearance_mm": 9.4,
          "feature_ids": [
            "relief_01",
            "relief_02"
          ],
          "feature_shapes": [
            "circle",
            "circle"
          ],
          "margin_mm": 8.2,
          "shape_distance_mm": 12.0
        },
        "pair_count": 3240,
        "violating_pairs": []
      },
      "message": "Feature pair spacing passes rule.",
      "reason": "ok",
      "required": {
        "center_field": "center_mm",
        "diameter_field": "diameter_mm",
        "length_field": "length_mm",
        "min_clearance_mm": 1.2,
        "span_axis_field": "span_axis",
        "width_field": "width_mm"
      },
      "rule_id": "printed_plate:cosmetic_relief_ligament",
      "status": "pass"
    }
  ],
  "compatibility": {
    "design_data_schema_version": "burr.design-data.v1",
    "manifest_schema_version": "burr.design-data.v1",
    "rulepack_schema_version": "burr.rulepack.v1",
    "supported_design_data_schema_versions": [
      "burr.design-data.v1",
      "fray.cad.artifact.v1"
    ],
    "supported_manifest_schema_versions": [
      "burr.design-data.v1",
      "fray.cad.artifact.v1"
    ],
    "supported_rulepack_schema_versions": [
      "burr.rulepack.v1"
    ]
  },
  "rulepack_id": "printed_plate",
  "rulepack_version": "0.1.0",
  "schema_version": "burr.receipt.v1",
  "source_design_data": "examples/gallery/dense-random-hole-plate-too-many-reliefs/burr-design-data.json",
  "source_manifest": "examples/gallery/dense-random-hole-plate-too-many-reliefs/burr-design-data.json",
  "status": "fail",
  "summary": {
    "checks": 10,
    "failures": 1,
    "features": {
      "checked": 81,
      "checked_feature_ids": [
        "relief_01",
        "relief_02",
        "relief_03",
        "relief_04",
        "relief_05",
        "relief_06",
        "relief_07",
        "relief_08",
        "relief_09",
        "relief_10",
        "relief_11",
        "relief_12",
        "relief_13",
        "relief_14",
        "relief_15",
        "relief_16",
        "relief_17",
        "relief_18",
        "relief_19",
        "relief_20",
        "relief_21",
        "relief_22",
        "relief_23",
        "relief_24",
        "relief_25",
        "relief_26",
        "relief_27",
        "relief_28",
        "relief_29",
        "relief_30",
        "relief_31",
        "relief_32",
        "relief_33",
        "relief_34",
        "relief_35",
        "relief_36",
        "relief_37",
        "relief_38",
        "relief_39",
        "relief_40",
        "relief_41",
        "relief_42",
        "relief_43",
        "relief_44",
        "relief_45",
        "relief_46",
        "relief_47",
        "relief_48",
        "relief_49",
        "relief_50",
        "relief_51",
        "relief_52",
        "relief_53",
        "relief_54",
        "relief_55",
        "relief_56",
        "relief_57",
        "relief_58",
        "relief_59",
        "relief_60",
        "relief_61",
        "relief_62",
        "relief_63",
        "relief_64",
        "relief_65",
        "relief_66",
        "relief_67",
        "relief_68",
        "relief_69",
        "relief_70",
        "relief_71",
        "relief_72",
        "relief_73",
        "relief_74",
        "relief_75",
        "relief_76",
        "relief_77",
        "relief_78",
        "relief_79",
        "relief_80",
        "relief_81"
      ],
      "declared": 81,
      "intent_counts": {
        "cosmetic": 81
      },
      "step_candidate_cylinders_considered": 0,
      "unchecked": 0,
      "unchecked_feature_ids": []
    },
    "warnings": 2
  },
  "warnings": [
    {
      "message": "No applicable features were found for this rule.",
      "reason": "no_applicable_features",
      "rule_id": "printed_plate:m3_mount_hole_edge_distance",
      "status": "warn"
    },
    {
      "message": "No applicable features were found for this rule.",
      "reason": "no_applicable_features",
      "rule_id": "printed_plate:m3_mount_hole_wall_thickness",
      "status": "warn"
    }
  ]
}
