{
  "claim_scope": {
    "does_not_support": [
      "KiCad DRC cleanliness when kicad_cli_full_drc is not completed.",
      "Project-aware rule or net-class coverage: no .kicad_pro or .kicad_dru is present.",
      "A fabrication acceptance or claim that the board was fabricated.",
      "A deduplicated full native report: families are isolated to enforce hard time bounds.",
      "Any conclusion about families marked timed_out, error, or otherwise incomplete."
    ],
    "supports": [
      "The pinned board was accepted by Resin's committed native parser.",
      "Completed native families returned the recorded bounded findings under DEFAULT_RULES.",
      "Per-family status, timings, summaries, samples, and complete-result digests are recorded."
    ]
  },
  "environment": {
    "git": {
      "commit": "9bc4a1d32cc142e4f6a614da955151958536ed50",
      "worktree_dirty": true
    },
    "platform": "Windows-11-10.0.26200-SP0",
    "python": "3.14.3"
  },
  "generator": "frontend/scripts/collect-open-hardware-drc-evidence.py",
  "implementation_sha256": {
    "backend/src/resin/services/board_drc/board_checker.py": "A7CC5F4F976478A93DD6BD77CB307D232D98619AF0C7BFA9F2D70D97BF9ABC73",
    "backend/src/resin/services/board_drc/clearance.py": "177853950EDF1105AE1931AB14B68A29C1A16136D0572BCE42041B624E83715E",
    "backend/src/resin/services/board_drc/connectivity.py": "93F0683B2CD03F213D22B67BABA6E0CF38F7588C762148408AE6B1CD41CE1A6E",
    "backend/src/resin/services/board_drc/courtyard.py": "C881D038DBB1FD9CE491BC4D8F15985B1E946A8B6F41AAE19326F8D062EC10EF",
    "backend/src/resin/services/board_drc/dfm.py": "653B42FBC5B78A09C45B00D06A13C76F5EF54B755FC7CFA51AB88FC862791740",
    "backend/src/resin/services/board_drc/diff_pair.py": "2BC41400EE43BE98076F05ACB22410B659CC50F488A4C5075D33E48F983BC846",
    "backend/src/resin/services/board_drc/fiducial.py": "CE82235F4A81C42F80768F87DC3F8F328920500D3DDEF7FDF16333EBA1C54D49",
    "backend/src/resin/services/board_drc/high_speed_smt.py": "939EAE689072972EF98B9B9001685FAE4FE7722BEF7FAFD0A209BA5EC3D41BE2",
    "backend/src/resin/services/board_drc/hole_edge.py": "4788131AEE8A72CEFCC13AAAC27E3C778C862DE23534F05377F95BC6D95EBE6B",
    "backend/src/resin/services/board_drc/power_pdn.py": "114ED7A872585562A7A40BE9A731A6E545642FB498E8DA137EE95BCDE2C42432",
    "backend/src/resin/services/board_drc/signal_integrity.py": "E837357F87C44E9196DD1DB575FB7472E0F564317F94DC5467535AEEDD234784",
    "backend/src/resin/services/board_drc/silk_text.py": "460B817C846666D698ABA5AB32259ECE6A21B1CD0D1416860DF9F3E45B1D4A37",
    "backend/src/resin/services/board_drc/stencil.py": "41144ADA37890CE6AF9FBF2B759561531C3CB3CD6516E7192F0EA0F602ED4582",
    "backend/src/resin/services/board_drc/width_size.py": "7E6CFF6DF24950FD989D190B0D2BB5F66E961A0C0BA28592D9126C0458DCD2D2",
    "backend/src/resin/services/board_drc/zones.py": "42EEAC6CF43F7833D1DED0A227105EE0F10A49EA7A8647ABF68AFB5EBE4BBBD0",
    "backend/src/resin/services/fab_native/pcb_model.py": "98AE346436141F758FC4D8883A4003E990EE6343929986F623EAD23751CF364C"
  },
  "kicad_cli_full_drc": {
    "command_template": "kicad-cli pcb drc <board.kicad_pcb> --format json --output <kicad-cli-drc-report.json>",
    "detector": "resin.services.pcb_render.KICAD_CLI",
    "executable": "<kicad-cli>",
    "note": "A nonzero return code can mean DRC findings; report creation determines completion.",
    "report": "frontend/public/marketing/open-hardware/scopefun-v2/migration/checks/kicad-cli-drc-report.json",
    "report_bytes": 1093513,
    "report_sha256": "DC3A4831A25FA541D46379C3F3443412B1C2FAA81496AC633A518AC48C14A51C",
    "return_code": 0,
    "status": "completed",
    "timeout_seconds": 30.0,
    "wall_seconds": 5.293069
  },
  "migration_context": {
    "known_conversion_failures": [],
    "project": "scopefun-v2",
    "source_report": "frontend/public/marketing/open-hardware/scopefun-v2/migration/fidelity-report.json"
  },
  "native_bounded_drc": {
    "checker_entry_point": "resin.services.board_drc.board_checker.run_board_drc",
    "execution_method": "Each function in board_checker.FAMILY_ORDER ran directly in an isolated subprocess; no cross-family orchestrator deduplication was applied.",
    "families": {
      "clearance": {
        "status": "timed_out",
        "stderr_tail": "",
        "stdout_tail": "",
        "timeout_seconds": 12.0,
        "wall_seconds": 12.055542
      },
      "connectivity": {
        "status": "timed_out",
        "stderr_tail": "",
        "stdout_tail": "",
        "timeout_seconds": 12.0,
        "wall_seconds": 12.048561
      },
      "courtyard": {
        "build_context_seconds": 0.110803,
        "check_seconds": 0.026475,
        "counts_by_code": {
          "DRCE_MISSING_COURTYARD": 816,
          "DRCE_PTH_IN_COURTYARD": 99
        },
        "counts_by_severity": {
          "error": 99,
          "warning": 816
        },
        "finding_count": 915,
        "finding_samples": [
          {
            "code": "DRCE_MISSING_COURTYARD",
            "componentRef": "R187",
            "elementIds": [
              "3f54a30a-75ad-4dad-826a-5616375f7b8b"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": null,
            "message": "Footprint R187 has no courtyard",
            "metadata": {},
            "netName": null,
            "padNumber": null,
            "pin": null,
            "position": [
              85.35,
              174.9
            ],
            "rule": "missingCourtyard",
            "severity": "warning",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_MISSING_COURTYARD",
            "componentRef": "GDT1",
            "elementIds": [
              "eeab2374-b716-4b29-a262-381ee08bfedd"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": null,
            "message": "Footprint GDT1 has no courtyard",
            "metadata": {},
            "netName": null,
            "padNumber": null,
            "pin": null,
            "position": [
              58.8,
              45.5
            ],
            "rule": "missingCourtyard",
            "severity": "warning",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_MISSING_COURTYARD",
            "componentRef": "HS-ANC1",
            "elementIds": [
              "eb4e051f-ad9a-400d-b558-529ba19ca03b"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": null,
            "message": "Footprint HS-ANC1 has no courtyard",
            "metadata": {},
            "netName": null,
            "padNumber": null,
            "pin": null,
            "position": [
              39.17,
              161.68
            ],
            "rule": "missingCourtyard",
            "severity": "warning",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_MISSING_COURTYARD",
            "componentRef": "VIA",
            "elementIds": [
              "1f8e3f0b-3158-455b-9700-ae4a074513db"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": null,
            "message": "Footprint VIA has no courtyard",
            "metadata": {},
            "netName": null,
            "padNumber": null,
            "pin": null,
            "position": [
              39.139885,
              123.854
            ],
            "rule": "missingCourtyard",
            "severity": "warning",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_MISSING_COURTYARD",
            "componentRef": "VIA",
            "elementIds": [
              "41a505cf-63d0-40c2-ab38-c2fb4ef35669"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": null,
            "message": "Footprint VIA has no courtyard",
            "metadata": {},
            "netName": null,
            "padNumber": null,
            "pin": null,
            "position": [
              39.699303,
              137.500697
            ],
            "rule": "missingCourtyard",
            "severity": "warning",
            "sheet": null,
            "source": "native"
          }
        ],
        "findings_sha256": "FF1E0E88841DB63A3F3450173A41007E4037828EB33F07052FB50382D40A6C1C",
        "parse_seconds": 3.975557,
        "process_seconds": 4.124643,
        "status": "completed",
        "wall_seconds": 6.158243
      },
      "dfm": {
        "build_context_seconds": 0.091673,
        "check_seconds": 2.1e-05,
        "counts_by_code": {},
        "counts_by_severity": {},
        "finding_count": 0,
        "finding_samples": [],
        "findings_sha256": "4F53CDA18C2BAA0C0354BB5F9A3ECBE5ED12AB4D8E11BA873C2F11161202B945",
        "parse_seconds": 3.002049,
        "process_seconds": 3.105513,
        "status": "completed",
        "wall_seconds": 4.917448
      },
      "diff_pair": {
        "build_context_seconds": 0.10778,
        "check_seconds": 0.219804,
        "counts_by_code": {},
        "counts_by_severity": {},
        "finding_count": 0,
        "finding_samples": [],
        "findings_sha256": "4F53CDA18C2BAA0C0354BB5F9A3ECBE5ED12AB4D8E11BA873C2F11161202B945",
        "parse_seconds": 3.189795,
        "process_seconds": 3.529495,
        "status": "completed",
        "wall_seconds": 5.674774
      },
      "fiducial": {
        "build_context_seconds": 0.099681,
        "check_seconds": 2.2e-05,
        "counts_by_code": {},
        "counts_by_severity": {},
        "finding_count": 0,
        "finding_samples": [],
        "findings_sha256": "4F53CDA18C2BAA0C0354BB5F9A3ECBE5ED12AB4D8E11BA873C2F11161202B945",
        "parse_seconds": 2.938955,
        "process_seconds": 3.04862,
        "status": "completed",
        "wall_seconds": 4.706861
      },
      "high_speed_smt": {
        "build_context_seconds": 0.090289,
        "check_seconds": 0.000132,
        "counts_by_code": {},
        "counts_by_severity": {},
        "finding_count": 0,
        "finding_samples": [],
        "findings_sha256": "4F53CDA18C2BAA0C0354BB5F9A3ECBE5ED12AB4D8E11BA873C2F11161202B945",
        "parse_seconds": 2.868559,
        "process_seconds": 2.968627,
        "status": "completed",
        "wall_seconds": 4.570042
      },
      "hole_edge": {
        "status": "timed_out",
        "stderr_tail": "",
        "stdout_tail": "",
        "timeout_seconds": 12.0,
        "wall_seconds": 12.052033
      },
      "power_pdn": {
        "build_context_seconds": 0.085579,
        "check_seconds": 1.2e-05,
        "counts_by_code": {},
        "counts_by_severity": {},
        "finding_count": 0,
        "finding_samples": [],
        "findings_sha256": "4F53CDA18C2BAA0C0354BB5F9A3ECBE5ED12AB4D8E11BA873C2F11161202B945",
        "parse_seconds": 2.756029,
        "process_seconds": 2.850763,
        "status": "completed",
        "wall_seconds": 4.620812
      },
      "signal_integrity": {
        "status": "timed_out",
        "stderr_tail": "",
        "stdout_tail": "",
        "timeout_seconds": 12.0,
        "wall_seconds": 12.058328
      },
      "silk_text": {
        "status": "timed_out",
        "stderr_tail": "",
        "stdout_tail": "",
        "timeout_seconds": 12.0,
        "wall_seconds": 12.056878
      },
      "stencil": {
        "build_context_seconds": 0.096387,
        "check_seconds": 2.6e-05,
        "counts_by_code": {},
        "counts_by_severity": {},
        "finding_count": 0,
        "finding_samples": [],
        "findings_sha256": "4F53CDA18C2BAA0C0354BB5F9A3ECBE5ED12AB4D8E11BA873C2F11161202B945",
        "parse_seconds": 3.094671,
        "process_seconds": 3.20167,
        "status": "completed",
        "wall_seconds": 5.106481
      },
      "width_size": {
        "build_context_seconds": 0.082823,
        "check_seconds": 0.046011,
        "counts_by_code": {
          "DRCE_DRILL_OUT_OF_RANGE": 1002,
          "DRCE_TRACK_WIDTH": 8056,
          "DRCE_VIA_DIAMETER": 269
        },
        "counts_by_severity": {
          "error": 9327
        },
        "finding_count": 9327,
        "finding_samples": [
          {
            "code": "DRCE_TRACK_WIDTH",
            "componentRef": null,
            "elementIds": [
              "1023b60e-d8a0-4c0f-928a-b917908aa3aa"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": "F.Cu",
            "message": "Trace width 0.150mm < min 0.200mm",
            "metadata": {},
            "netName": "GND",
            "padNumber": null,
            "pin": null,
            "position": [
              47.0,
              119.775
            ],
            "rule": "trackWidth",
            "severity": "error",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_TRACK_WIDTH",
            "componentRef": null,
            "elementIds": [
              "73115b76-5f63-426b-b1d4-28f4303a8e81"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": "F.Cu",
            "message": "Trace width 0.150mm < min 0.200mm",
            "metadata": {},
            "netName": "GND",
            "padNumber": null,
            "pin": null,
            "position": [
              46.55,
              119.0
            ],
            "rule": "trackWidth",
            "severity": "error",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_TRACK_WIDTH",
            "componentRef": null,
            "elementIds": [
              "41da06b1-cd71-4c0c-aa95-d37419dbbabc"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": "F.Cu",
            "message": "Trace width 0.150mm < min 0.200mm",
            "metadata": {},
            "netName": "GND",
            "padNumber": null,
            "pin": null,
            "position": [
              46.1,
              118.175
            ],
            "rule": "trackWidth",
            "severity": "error",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_TRACK_WIDTH",
            "componentRef": null,
            "elementIds": [
              "seg-2540"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": "F.Cu",
            "message": "Trace width 0.150mm < min 0.200mm",
            "metadata": {},
            "netName": "GND",
            "padNumber": null,
            "pin": null,
            "position": [
              30.25,
              119.0
            ],
            "rule": "trackWidth",
            "severity": "error",
            "sheet": null,
            "source": "native"
          },
          {
            "code": "DRCE_TRACK_WIDTH",
            "componentRef": null,
            "elementIds": [
              "seg-2541"
            ],
            "excluded": false,
            "exclusionReason": null,
            "ignored": false,
            "layer": "F.Cu",
            "message": "Trace width 0.150mm < min 0.200mm",
            "metadata": {},
            "netName": "GND",
            "padNumber": null,
            "pin": null,
            "position": [
              29.8,
              118.175
            ],
            "rule": "trackWidth",
            "severity": "error",
            "sheet": null,
            "source": "native"
          }
        ],
        "findings_sha256": "5223AC4AD9153085AE74C3EF6EBFFCD533F9AD74AD4990BBFCFAA4B01C2F3026",
        "parse_seconds": 2.612734,
        "process_seconds": 2.761994,
        "status": "completed",
        "wall_seconds": 4.211072
      },
      "zones": {
        "status": "timed_out",
        "stderr_tail": "",
        "stdout_tail": "",
        "timeout_seconds": 12.0,
        "wall_seconds": 12.054907
      }
    },
    "family_order": [
      "clearance",
      "width_size",
      "hole_edge",
      "connectivity",
      "zones",
      "courtyard",
      "diff_pair",
      "silk_text",
      "dfm",
      "fiducial",
      "stencil",
      "signal_integrity",
      "high_speed_smt",
      "power_pdn"
    ],
    "family_timeout_seconds": 12.0,
    "parser": "resin.services.fab_native.pcb_model.parse_resinpcb",
    "rules": "resin.services.checks.rules_config.DEFAULT_RULES",
    "status": "partial",
    "summary": {
      "completed_families": [
        "width_size",
        "courtyard",
        "diff_pair",
        "dfm",
        "fiducial",
        "stencil",
        "high_speed_smt",
        "power_pdn"
      ],
      "completed_family_count": 8,
      "error_families": [],
      "raw_finding_count_before_cross_family_dedup": 10242,
      "registered_family_count": 14,
      "timed_out_families": [
        "clearance",
        "hole_edge",
        "connectivity",
        "zones",
        "silk_text",
        "signal_integrity"
      ],
      "wall_seconds": 117.794905
    }
  },
  "reproduction_command": "python frontend/scripts/collect-open-hardware-drc-evidence.py --run --project scopefun-v2 --family-timeout-seconds 12 --cli-timeout-seconds 30",
  "schema_version": 1,
  "source": {
    "board": "frontend/public/marketing/open-hardware/scopefun-v2/migration/scopefun-v2-resin-kicad9.kicad_pcb",
    "bytes": 6832008,
    "sha256": "DCA9FD231C5EC2B1E5B0194D2441987CD387E12FFCA9DCF1B0DE6B50D79A2961"
  }
}
