{
  "schema_version": 1,
  "validation_kind": "kerf_fit_coupon_validation",
  "proof_type": "kerf_fit_coupon_v1",
  "status": "passed",
  "passed": true,
  "job_id": "lps_20260515_015718_f841c17c4a3b",
  "page": {
    "preset": "us_letter",
    "width_mm": 215.9,
    "height_mm": 279.4,
    "png_dpi": 600,
    "png_width_px": 5100,
    "png_height_px": 6600
  },
  "calibration_profile": {
    "profile_id": "cal_20260516_223213_982682889c87",
    "profile_path": "calibration/profiles/cal_20260516_223213_982682889c87.json",
    "profile_sha256": "592fa32a7c03dff07b26cd3d50c6bddcc0b3e55e6642a45f929778f59d8065c4",
    "active_pointer_path": "calibration/active-profile.json",
    "active_pointer_sha256": "986b8a6927777afa803305b3dcd8ab28d448f56573b40729b46c9245ef47367e",
    "x_correction_mm": 0.7,
    "y_correction_mm": -0.1,
    "applies_to": "svg_cut_geometry_only"
  },
  "kerf_candidates": [
    {
      "kerf_mm": 0.15,
      "cut_offset_mm": 0.075,
      "label": "K0.15",
      "shape_ids": [
        "k015-mini-square",
        "k015-straight-plug",
        "k015-straight-socket",
        "k015-jigsaw-tab",
        "k015-jigsaw-socket"
      ]
    },
    {
      "kerf_mm": 0.2,
      "cut_offset_mm": 0.1,
      "label": "K0.20",
      "shape_ids": [
        "k020-mini-square",
        "k020-straight-plug",
        "k020-straight-socket",
        "k020-jigsaw-tab",
        "k020-jigsaw-socket"
      ]
    },
    {
      "kerf_mm": 0.25,
      "cut_offset_mm": 0.125,
      "label": "K0.25",
      "shape_ids": [
        "k025-mini-square",
        "k025-straight-plug",
        "k025-straight-socket",
        "k025-jigsaw-tab",
        "k025-jigsaw-socket"
      ]
    },
    {
      "kerf_mm": 0.3,
      "cut_offset_mm": 0.15,
      "label": "K0.30",
      "shape_ids": [
        "k030-mini-square",
        "k030-straight-plug",
        "k030-straight-socket",
        "k030-jigsaw-tab",
        "k030-jigsaw-socket"
      ]
    },
    {
      "kerf_mm": 0.35,
      "cut_offset_mm": 0.175,
      "label": "K0.35",
      "shape_ids": [
        "k035-mini-square",
        "k035-straight-plug",
        "k035-straight-socket",
        "k035-jigsaw-tab",
        "k035-jigsaw-socket"
      ]
    },
    {
      "kerf_mm": 0.4,
      "cut_offset_mm": 0.2,
      "label": "K0.40",
      "shape_ids": [
        "k040-mini-square",
        "k040-straight-plug",
        "k040-straight-socket",
        "k040-jigsaw-tab",
        "k040-jigsaw-socket"
      ]
    },
    {
      "kerf_mm": 0.5,
      "cut_offset_mm": 0.25,
      "label": "K0.50",
      "shape_ids": [
        "k050-mini-square",
        "k050-straight-plug",
        "k050-straight-socket",
        "k050-jigsaw-tab",
        "k050-jigsaw-socket"
      ]
    }
  ],
  "square_gauges": [
    {
      "id": "square-ref-k000",
      "label": "50 mm ref / K0.00",
      "kerf_mm": 0.0,
      "cut_offset_mm": 0.0,
      "expected_finished_width_mm": 50.0,
      "expected_finished_height_mm": 50.0
    },
    {
      "id": "square-k030",
      "label": "50 mm / K0.30",
      "kerf_mm": 0.3,
      "cut_offset_mm": 0.15,
      "expected_finished_width_mm": 50.0,
      "expected_finished_height_mm": 50.0
    },
    {
      "id": "square-k050",
      "label": "50 mm / K0.50",
      "kerf_mm": 0.5,
      "cut_offset_mm": 0.25,
      "expected_finished_width_mm": 50.0,
      "expected_finished_height_mm": 50.0
    }
  ],
  "registration_marks": {
    "registration_frame": "full_coupon_corner_frame_v1",
    "required_marks": [
      {
        "id": "A",
        "center_mm": [
          12.0,
          12.0
        ]
      },
      {
        "id": "B",
        "center_mm": [
          203.9,
          12.0
        ]
      },
      {
        "id": "C",
        "center_mm": [
          12.0,
          267.4
        ]
      }
    ],
    "check_marks": [
      {
        "id": "D",
        "center_mm": [
          203.9,
          267.4
        ]
      }
    ],
    "all_marks": [
      {
        "id": "A",
        "center_mm": [
          12.0,
          12.0
        ]
      },
      {
        "id": "B",
        "center_mm": [
          203.9,
          12.0
        ]
      },
      {
        "id": "C",
        "center_mm": [
          12.0,
          267.4
        ]
      },
      {
        "id": "D",
        "center_mm": [
          203.9,
          267.4
        ]
      }
    ],
    "frame_bounds_mm": {
      "min_x": 12.0,
      "min_y": 12.0,
      "max_x": 203.9,
      "max_y": 267.4,
      "width_mm": 191.9,
      "height_mm": 255.4
    }
  },
  "geometry": {
    "canonical_bounds_mm": {
      "min_x": 17.0,
      "min_y": 42.0,
      "max_x": 197.8,
      "max_y": 254.0,
      "width_mm": 180.8,
      "height_mm": 212.0
    },
    "cut_path_count": 38,
    "pyclipper_scale_units_per_mm": 10000,
    "offset_flatten_tolerance_mm": 0.02
  },
  "print": {
    "pdf_path": "jobs/lps_20260515_015718_f841c17c4a3b/exports/kerf-fit-coupon-v1/print.pdf",
    "png_path": "jobs/lps_20260515_015718_f841c17c4a3b/exports/kerf-fit-coupon-v1/print.png",
    "png_size_px": [
      5100,
      6600
    ],
    "png_mode": "RGB",
    "png_dpi": [
      599.9988,
      599.9988
    ]
  },
  "svg": {
    "alignment_svg_path": "jobs/lps_20260515_015718_f841c17c4a3b/exports/kerf-fit-coupon-v1/alignment.svg",
    "cut_only_svg_path": "jobs/lps_20260515_015718_f841c17c4a3b/exports/kerf-fit-coupon-v1/cut-only.svg",
    "alignment_cut_path_count": 38,
    "cut_only_path_count": 38,
    "cut_group_id": "kerf_fit_coupon_cut_paths",
    "registration_group_id": "kerf_fit_coupon_registration_reference",
    "registration_check_group_id": "kerf_fit_coupon_registration_check"
  },
  "preview": {
    "path": "jobs/lps_20260515_015718_f841c17c4a3b/exports/kerf-fit-coupon-v1/preview.webp",
    "width_px": 1400
  },
  "hashes": {
    "print_pdf_sha256": "468574d2d16fddaedeb90c2925f8540072930f3106949f3a1c78dc095984a1f2",
    "print_png_sha256": "7f343c011c0a906e1d995497198d4774bd66e7d2c0a92b5b18a1da601729ba58",
    "alignment_svg_sha256": "2a20c1ca7ddf818af53e3e28bb600b06e736c8c1c4f8f93cc640a823d44d3e86",
    "cut_only_svg_sha256": "23a57a86e0956f2fa4842ae33b9948ba3ff5e83ca412702188085cf003a179d8",
    "preview_sha256": "d999e848524c7399f9803ebfc844e5eb64e538ebf6ec2505a138d5880a77fe08"
  },
  "manual_measurement": {
    "status": "pending_owner_kerf_fit_coupon_test",
    "instructions": "Print at 100% actual size, adhere to the same paper/MDF stack, import the alignment SVG, align A/B/C to the printed marks, hide blue registration references, cut red vectors only, then record the K value whose straight and jigsaw samples fit snugly without forcing. Measure the 50 mm reference squares to separate pure kerf from joint looseness."
  },
  "checks": [
    {
      "name": "print_pdf_exists",
      "passed": true,
      "message": "Print PDF exists",
      "details": {}
    },
    {
      "name": "print_png_exists",
      "passed": true,
      "message": "Print PNG exists",
      "details": {}
    },
    {
      "name": "alignment_svg_exists",
      "passed": true,
      "message": "Alignment SVG exists",
      "details": {}
    },
    {
      "name": "cut_only_svg_exists",
      "passed": true,
      "message": "Cut-only SVG exists",
      "details": {}
    },
    {
      "name": "preview_exists",
      "passed": true,
      "message": "Preview image exists",
      "details": {}
    },
    {
      "name": "png_letter_size",
      "passed": true,
      "message": "PNG is US Letter at 600 DPI",
      "details": {
        "size": [
          5100,
          6600
        ]
      }
    },
    {
      "name": "png_rgb",
      "passed": true,
      "message": "PNG is RGB",
      "details": {
        "mode": "RGB"
      }
    },
    {
      "name": "png_dpi",
      "passed": true,
      "message": "PNG records 600 DPI",
      "details": {
        "dpi": [
          599.9988,
          599.9988
        ]
      }
    },
    {
      "name": "pdf_letter_media_box",
      "passed": true,
      "message": "PDF media box is US Letter",
      "details": {}
    },
    {
      "name": "alignment_svg_has_no_artwork_text_or_style",
      "passed": true,
      "message": "Alignment SVG has no artwork, text, or style tags",
      "details": {}
    },
    {
      "name": "cut_only_svg_has_no_artwork_text_or_style",
      "passed": true,
      "message": "Cut-only SVG has no artwork, text, or style tags",
      "details": {}
    },
    {
      "name": "svg_has_no_transforms",
      "passed": true,
      "message": "SVGs do not use transforms",
      "details": {}
    },
    {
      "name": "svg_has_no_filled_geometry",
      "passed": true,
      "message": "SVG geometry has no fills",
      "details": {}
    },
    {
      "name": "svg_viewbox_letter_mm",
      "passed": true,
      "message": "SVG viewBox is letter-size mm",
      "details": {}
    },
    {
      "name": "alignment_cut_path_count",
      "passed": true,
      "message": "Alignment SVG has expected candidate cut paths",
      "details": {
        "count": 38
      }
    },
    {
      "name": "cut_only_path_count",
      "passed": true,
      "message": "Cut-only SVG has expected candidate cut paths",
      "details": {
        "count": 38
      }
    },
    {
      "name": "cut_paths_match_between_svgs",
      "passed": true,
      "message": "Red cut paths match exactly between SVGs",
      "details": {}
    },
    {
      "name": "candidate_count",
      "passed": true,
      "message": "All kerf candidates are present",
      "details": {
        "count": 7
      }
    },
    {
      "name": "candidate_offsets_are_half_kerf",
      "passed": true,
      "message": "Every candidate path offset equals half the full kerf value",
      "details": {}
    }
  ],
  "warnings": []
}
