{
  "schemaVersion": "boardport-comparison-boundary-case-1",
  "executedOn": "2026-09-17",
  "author": "Signal & Ship",
  "purpose": "A controlled placement counterexample to interpreting three BoardPort PASS results as geometric equivalence or DRC.",
  "source": {
    "repository": "https://github.com/nesl/locomote",
    "commit": "1e199a91d4daabcabbf20aa5a1c3c0f1c5beb415",
    "license": "BSD-3-Clause",
    "archivePath": "/examples/pressure-module",
    "originalImportRecordedAt": "2026-08-31T21:42:40Z",
    "originalKiCadVersion": "10.0.6"
  },
  "environment": {
    "comparison": "Node.js 24.19.0 on macOS; the unchanged BoardPort TypeScript engine bundled with esbuild",
    "productVersion": "0.1.0-rc.1",
    "engineVersion": "0.1.0",
    "rulesVersion": "boardport-rules-0.2",
    "files": [
      {
        "path": "product/src/engine.ts",
        "byteLength": 62185,
        "sha256": "555bb954a18de0e9d708f21ffafab988ac57e37239f9e81d7a5db74d5b7be5f9"
      },
      {
        "path": "product/src/product-report.ts",
        "byteLength": 10606,
        "sha256": "4bfbf0ecfe821f9b35d4d5946a9a523bb4d56285a3d7aa4d73e95cc590f75237"
      }
    ]
  },
  "edit": {
    "reference": "PAD2",
    "footprintUUID": "2be6bf36-1879-4222-b6ec-8e6e9ea9ece3",
    "field": "outer footprint at X",
    "beforeMM": [
      1.143,
      -1.016
    ],
    "afterMM": [
      2.143,
      -1.016
    ],
    "deltaMM": [
      1,
      0
    ],
    "replacementBefore": "(uuid \"2be6bf36-1879-4222-b6ec-8e6e9ea9ece3\")\n\t\t(at 1.143 -1.016)",
    "replacementAfter": "(uuid \"2be6bf36-1879-4222-b6ec-8e6e9ea9ece3\")\n\t\t(at 2.143 -1.016)",
    "byteEdits": 1,
    "originalGeneratorHeaderRetained": true,
    "reason": "A direct edit of an archived imported file, not a new KiCad-generated file; retaining every other byte isolates placement."
  },
  "inputs": {
    "eagle": {
      "byteLength": 21415,
      "sha256": "687ef8d5bf6b55871e37846e9baac57a49ae643102d77958a60c81649bbc06b9"
    },
    "imported": {
      "byteLength": 22227,
      "sha256": "a0671ba0c98c96bbfd8278fedc850baca9c88e21c98766acb122349f3ee457c2"
    },
    "changedNet": {
      "byteLength": 22227,
      "sha256": "125afd08f2429015a4880c550199dbea9fa8cec1d8f2c09a353fe0e0c55902e2"
    },
    "changedPlacement": {
      "byteLength": 22227,
      "sha256": "bd3c86b239fb5c7e07e6855eb2a227acffe30f7133ba775e05449f0433e60dde"
    }
  },
  "cases": [
    {
      "id": "baseline",
      "summary": {
        "PASS": 3,
        "DIFF": 0,
        "NOT_CHECKED": 0
      },
      "warnings": [],
      "report": "report-baseline.json"
    },
    {
      "id": "changed-net",
      "summary": {
        "PASS": 2,
        "DIFF": 1,
        "NOT_CHECKED": 0
      },
      "warnings": [],
      "report": "report-changed-net.json"
    },
    {
      "id": "changed-placement",
      "summary": {
        "PASS": 3,
        "DIFF": 0,
        "NOT_CHECKED": 0
      },
      "warnings": [],
      "report": "report-changed-placement.json"
    }
  ],
  "findingsIdenticalBetweenBaselineAndPlacement": true,
  "limitations": [
    "One deliberately edited public design; not an importer defect or a detection-rate study.",
    "Only the BoardPort comparison was executed on 2026-09-17. KiCad import, GUI loading, DRC, ERC, Gerber generation, manufacturing and electrical tests were not executed.",
    "The archive generator/version fields describe the original import, not a new KiCad run.",
    "No claim about which DRC violation a future KiCad run would report.",
    "Full BoardPort recomputation requires the paid product; file inspection, reproduction of the coordinate edit and reading all results are free."
  ],
  "files": [
    {
      "path": "moved-pad2-1mm.kicad_pcb",
      "byteLength": 22227,
      "sha256": "bd3c86b239fb5c7e07e6855eb2a227acffe30f7133ba775e05449f0433e60dde"
    },
    {
      "path": "LICENSE.txt",
      "byteLength": 1551,
      "sha256": "d2d8d387d11a449002aca2c7103a8e630dd9dedae416b1088bb228e099d2dc80"
    },
    {
      "path": "report-baseline.json",
      "byteLength": 3115,
      "sha256": "65fdee0031c47480166e06c8bdf1534e6f1434688220c5d4c92ba7fef6af078b"
    },
    {
      "path": "report-changed-net.json",
      "byteLength": 2929,
      "sha256": "bc0f4a43e95e74f29a9c590774739a8087c9f1f71083077e19ef4caf6bce32db"
    },
    {
      "path": "report-changed-placement.json",
      "byteLength": 3115,
      "sha256": "61810f7fdf57ae31f11e5999da0008d077441f37afc7d2cbd84a71cd0215e670"
    },
    {
      "path": "reproduce-placement.py",
      "byteLength": 1357,
      "sha256": "11d748d5abe47501c02ae386ff67da78ae07f6352ba6f90c8c780ac9035f4ec1"
    },
    {
      "path": "README.txt",
      "byteLength": 3400,
      "sha256": "b8c8f6ee4f5cd32e62b52602f1606c95b0d5d62fab4a6df56b7b72322e8432d4"
    },
    {
      "path": "README-ja.txt",
      "byteLength": 3736,
      "sha256": "a9c7cc2b7fb03b729abb2c3e9483449f22b6c28fad72e15e6d1894595a854bd1"
    }
  ]
}
