{
  "schema_version": 1,
  "kind": "registration_coupon_proof",
  "proof_type": "registration_coupon_v1",
  "job_id": "lps_20260515_015718_f841c17c4a3b",
  "created_at": "2026-05-15T05:20:24Z",
  "units": "mm",
  "status": "passed",
  "passed": true,
  "page": {
    "preset": "us_letter",
    "width_mm": 215.9,
    "height_mm": 279.4,
    "origin": "top_left"
  },
  "print": {
    "pdf_path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon-letter-600dpi.pdf",
    "png_path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon-letter-600dpi.png",
    "png_width_px": 5100,
    "png_height_px": 6600,
    "png_dpi": 600
  },
  "svg": {
    "svg_path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon.svg",
    "width": "215.9mm",
    "height": "279.4mm",
    "viewBox": "0 0 215.9 279.4",
    "registration_group_id": "registration_reference",
    "cut_group_id": "test_cut_paths",
    "metrics": {
      "width_attr": "215.9mm",
      "height_attr": "279.4mm",
      "viewbox_attr": "0 0 215.9 279.4",
      "path_count": 9,
      "image_count": 0,
      "foreign_object_count": 0,
      "style_count": 0,
      "transform_count": 0,
      "filled_geometry_count": 0
    }
  },
  "preview": {
    "path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon-preview.webp"
  },
  "scale_prerequisite": {
    "required": true,
    "status": "passed",
    "source": "jobs/lps_20260515_015718_f841c17c4a3b/calibration/calibration-measurements.json",
    "override": false
  },
  "registration_marks": [
    {
      "id": "A",
      "center_mm": [
        18.0,
        18.0
      ]
    },
    {
      "id": "B",
      "center_mm": [
        197.9,
        18.0
      ]
    },
    {
      "id": "C",
      "center_mm": [
        18.0,
        261.4
      ]
    }
  ],
  "test_cut": {
    "square_id": "test-cut-square-30mm",
    "square_bounds_mm": [
      92.95,
      129.7,
      122.95,
      159.7
    ],
    "expected_square_width_mm": 30.0,
    "expected_square_height_mm": 30.0,
    "cross_ids": [
      "test-cut-cross-h",
      "test-cut-cross-v"
    ]
  },
  "manual_measurement": {
    "required": true,
    "status": "pending_owner_measurement",
    "instructions": "Print the coupon, adhere it to test wood, camera-align the SVG to marks A/B/C in xTool Creative Space, cut only red test paths, and record cut-to-print error."
  },
  "xcs_operation_warning": {
    "required": true,
    "message": "Confirm blue registration vectors are not assigned to a cut operation before running the laser."
  },
  "artifacts": {
    "pdf_path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon-letter-600dpi.pdf",
    "png_path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon-letter-600dpi.png",
    "svg_path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon.svg",
    "preview_path": "jobs/lps_20260515_015718_f841c17c4a3b/registration/registration-coupon-preview.webp"
  },
  "hashes": {
    "pdf_sha256": "a0e194f8e9090459b56327d153786ad1a983cef046d71e1128d9bd9951ba3dab",
    "png_sha256": "e8ef290871f9e2708308c83b581a4351925427e88131a68f9d01fd6cc849656c",
    "svg_sha256": "c6ce591d5228b88ca5bb36320303938b59fe7ffe59c1795d222ca7b741703a9d",
    "preview_sha256": "8363c1e3c898bc505e20f0e93442a3999e3fa4bb987a238f815b964d9c2fd4f7"
  },
  "checks": [
    {
      "name": "pdf_exists",
      "passed": true,
      "message": "Registration coupon PDF exists.",
      "details": {}
    },
    {
      "name": "png_exists",
      "passed": true,
      "message": "Registration coupon PNG exists.",
      "details": {}
    },
    {
      "name": "svg_exists",
      "passed": true,
      "message": "Registration coupon SVG exists.",
      "details": {}
    },
    {
      "name": "preview_exists",
      "passed": true,
      "message": "Registration coupon preview exists.",
      "details": {}
    },
    {
      "name": "artifact_hashes_exist",
      "passed": true,
      "message": "All artifact hashes exist.",
      "details": {}
    },
    {
      "name": "png_dimensions_match",
      "passed": true,
      "message": "PNG is exactly 5100 x 6600 px.",
      "details": {
        "actual": [
          5100,
          6600
        ],
        "expected": [
          5100,
          6600
        ]
      }
    },
    {
      "name": "png_mode_matches",
      "passed": true,
      "message": "PNG is RGB.",
      "details": {
        "actual": "RGB",
        "expected": "RGB"
      }
    },
    {
      "name": "png_dpi_matches",
      "passed": true,
      "message": "PNG DPI metadata is 600 DPI.",
      "details": {
        "actual": [
          599.9988,
          599.9988
        ],
        "expected": [
          600,
          600
        ]
      }
    },
    {
      "name": "pdf_page_size_matches",
      "passed": true,
      "message": "PDF MediaBox is 612 x 792 pt.",
      "details": {}
    },
    {
      "name": "svg_xml_parses",
      "passed": true,
      "message": "Registration SVG parses as XML.",
      "details": {
        "error": ""
      }
    },
    {
      "name": "svg_root_dimensions_match",
      "passed": true,
      "message": "SVG root has explicit Letter dimensions in millimeters.",
      "details": {}
    },
    {
      "name": "svg_viewbox_matches",
      "passed": true,
      "message": "SVG viewBox matches the Letter mm coordinate frame.",
      "details": {}
    },
    {
      "name": "registration_group_exists",
      "passed": true,
      "message": "Blue registration reference group exists.",
      "details": {}
    },
    {
      "name": "cut_group_exists",
      "passed": true,
      "message": "Red test cut group exists.",
      "details": {}
    },
    {
      "name": "svg_no_prohibited_content",
      "passed": true,
      "message": "SVG contains no image, foreignObject, or style elements.",
      "details": {}
    },
    {
      "name": "svg_no_transforms",
      "passed": true,
      "message": "SVG contains no transforms.",
      "details": {}
    },
    {
      "name": "svg_no_filled_geometry",
      "passed": true,
      "message": "SVG geometry has no fills.",
      "details": {}
    },
    {
      "name": "svg_path_count_matches",
      "passed": true,
      "message": "SVG has six registration paths and three red test paths.",
      "details": {
        "path_count": 9
      }
    },
    {
      "name": "registration_group_stroke_matches",
      "passed": true,
      "message": "Registration reference vectors use blue stroke.",
      "details": {}
    },
    {
      "name": "registration_group_has_no_fill",
      "passed": true,
      "message": "Registration reference group has no fill.",
      "details": {}
    },
    {
      "name": "cut_group_stroke_matches",
      "passed": true,
      "message": "Test cut paths use red stroke.",
      "details": {}
    },
    {
      "name": "cut_group_hairline_matches",
      "passed": true,
      "message": "Test cut paths use hairline stroke.",
      "details": {}
    },
    {
      "name": "cut_group_has_no_fill",
      "passed": true,
      "message": "Test cut group has no fill.",
      "details": {}
    },
    {
      "name": "cut_square_path_matches",
      "passed": true,
      "message": "Closed 30 mm square cut path matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "cut_square_is_closed",
      "passed": true,
      "message": "30 mm square cut path is closed.",
      "details": {}
    },
    {
      "name": "cut_cross_h_path_matches",
      "passed": true,
      "message": "Horizontal center cross path matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "cut_cross_v_path_matches",
      "passed": true,
      "message": "Vertical center cross path matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "registration_a_ring_matches",
      "passed": true,
      "message": "Registration mark A ring matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "registration_a_cross_matches",
      "passed": true,
      "message": "Registration mark A crosshair matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "registration_b_ring_matches",
      "passed": true,
      "message": "Registration mark B ring matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "registration_b_cross_matches",
      "passed": true,
      "message": "Registration mark B crosshair matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "registration_c_ring_matches",
      "passed": true,
      "message": "Registration mark C ring matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "registration_c_cross_matches",
      "passed": true,
      "message": "Registration mark C crosshair matches the shared coordinate plan.",
      "details": {}
    },
    {
      "name": "registration_mark_count_matches",
      "passed": true,
      "message": "Exactly three asymmetric registration marks are defined.",
      "details": {}
    },
    {
      "name": "registration_marks_in_bounds",
      "passed": true,
      "message": "Registration marks stay inside page bounds.",
      "details": {}
    },
    {
      "name": "test_cut_square_size_matches",
      "passed": true,
      "message": "Test cut square is exactly 30 mm x 30 mm.",
      "details": {}
    },
    {
      "name": "svg_has_no_labels",
      "passed": true,
      "message": "Registration SVG has no labels or text geometry.",
      "details": {}
    }
  ],
  "warnings": [
    "Confirm blue registration vectors are not assigned to a cut operation before running the laser.",
    "Abort the cut if xTool Creative Space flattens blue and red vectors into one inseparable operation."
  ]
}
