{
  "generatedBy": "tools/generate.py",
  "unitNote": "mm primary, mil secondary (1 mil = 0.0254 mm)",
  "vendors": [
    {
      "vendor": "3rd party fab",
      "vendorSlug": "adom-3rdpartyfab",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/adom-3rdpartyfab.json",
        "fusionEdru": "fusion/adom-3rdpartyfab-2L.edru",
        "fusionDru": "fusion/adom-3rdpartyfab-2L.dru",
        "kicadDru": "kicad/adom-3rdpartyfab-2L.kicad_dru",
        "kicadBoardSetup": "kicad/adom-3rdpartyfab-2L.board-setup.json",
        "altiumRul": "altium/adom-3rdpartyfab-2L.RUL"
      },
      "sources": [
        {
          "url": "adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-3rdPartyFab-2-Layer.edru",
          "dateRead": "2026-09-03",
          "kind": "bundled-rule-file"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-finished-copper.md",
          "dateRead": "2026-10-12",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-trace-and-layers.md",
          "dateRead": "2026-10-30",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-panel-and-board-size.md",
          "dateRead": "2026-11-10",
          "kind": "user-confirmed-capability"
        }
      ]
    },
    {
      "vendor": "3rd party fab",
      "vendorSlug": "adom-3rdpartyfab",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/adom-3rdpartyfab.json",
        "fusionEdru": "fusion/adom-3rdpartyfab-4L.edru",
        "fusionDru": "fusion/adom-3rdpartyfab-4L.dru",
        "kicadDru": "kicad/adom-3rdpartyfab-4L.kicad_dru",
        "kicadBoardSetup": "kicad/adom-3rdpartyfab-4L.board-setup.json",
        "altiumRul": "altium/adom-3rdpartyfab-4L.RUL"
      },
      "sources": [
        {
          "url": "adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-3rdPartyFab-4-Layer.edru",
          "dateRead": "2026-09-03",
          "kind": "bundled-rule-file"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-finished-copper.md",
          "dateRead": "2026-10-12",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-trace-and-layers.md",
          "dateRead": "2026-10-30",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-panel-and-board-size.md",
          "dateRead": "2026-11-10",
          "kind": "user-confirmed-capability"
        }
      ]
    },
    {
      "vendor": "3rd party fab",
      "vendorSlug": "adom-3rdpartyfab",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/adom-3rdpartyfab.json",
        "fusionEdru": "fusion/adom-3rdpartyfab-6L.edru",
        "fusionDru": "fusion/adom-3rdpartyfab-6L.dru",
        "kicadDru": "kicad/adom-3rdpartyfab-6L.kicad_dru",
        "kicadBoardSetup": "kicad/adom-3rdpartyfab-6L.board-setup.json",
        "altiumRul": "altium/adom-3rdpartyfab-6L.RUL"
      },
      "sources": [
        {
          "url": "adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-3rdPartyFab-4-Layer.edru",
          "dateRead": "2026-09-03",
          "kind": "bundled-rule-file"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-finished-copper.md",
          "dateRead": "2026-10-12",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-trace-and-layers.md",
          "dateRead": "2026-10-30",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-panel-and-board-size.md",
          "dateRead": "2026-11-10",
          "kind": "user-confirmed-capability"
        }
      ]
    },
    {
      "vendor": "3rd party fab",
      "vendorSlug": "adom-3rdpartyfab",
      "process": "standard",
      "layerCount": 8,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/adom-3rdpartyfab.json",
        "fusionEdru": "fusion/adom-3rdpartyfab-8L.edru",
        "fusionDru": "fusion/adom-3rdpartyfab-8L.dru",
        "kicadDru": "kicad/adom-3rdpartyfab-8L.kicad_dru",
        "kicadBoardSetup": "kicad/adom-3rdpartyfab-8L.board-setup.json",
        "altiumRul": "altium/adom-3rdpartyfab-8L.RUL"
      },
      "sources": [
        {
          "url": "adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-3rdPartyFab-4-Layer.edru",
          "dateRead": "2026-09-03",
          "kind": "bundled-rule-file"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-finished-copper.md",
          "dateRead": "2026-10-12",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-trace-and-layers.md",
          "dateRead": "2026-10-30",
          "kind": "user-confirmed-capability"
        },
        {
          "url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-panel-and-board-size.md",
          "dateRead": "2026-11-10",
          "kind": "user-confirmed-capability"
        }
      ]
    },
    {
      "vendor": "Advanced Circuits (4PCB)",
      "vendorSlug": "advanced-circuits-4pcb",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/advanced-circuits-4pcb.json",
        "fusionEdru": "fusion/advanced-circuits-4pcb-2L.edru",
        "fusionDru": "fusion/advanced-circuits-4pcb-2L.dru",
        "kicadDru": "kicad/advanced-circuits-4pcb-2L.kicad_dru",
        "kicadBoardSetup": "kicad/advanced-circuits-4pcb-2L.board-setup.json",
        "altiumRul": "altium/advanced-circuits-4pcb-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.4pcb.com/laminate-material-vendors.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Advanced Circuits (4PCB)",
      "vendorSlug": "advanced-circuits-4pcb",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/advanced-circuits-4pcb.json",
        "fusionEdru": "fusion/advanced-circuits-4pcb-4L.edru",
        "fusionDru": "fusion/advanced-circuits-4pcb-4L.dru",
        "kicadDru": "kicad/advanced-circuits-4pcb-4L.kicad_dru",
        "kicadBoardSetup": "kicad/advanced-circuits-4pcb-4L.board-setup.json",
        "altiumRul": "altium/advanced-circuits-4pcb-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.4pcb.com/laminate-material-vendors.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Advanced Circuits (4PCB)",
      "vendorSlug": "advanced-circuits-4pcb",
      "process": "advanced-standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/advanced-circuits-4pcb.json",
        "fusionEdru": "fusion/advanced-circuits-4pcb-advanced-standard-2L.edru",
        "fusionDru": "fusion/advanced-circuits-4pcb-advanced-standard-2L.dru",
        "kicadDru": "kicad/advanced-circuits-4pcb-advanced-standard-2L.kicad_dru",
        "kicadBoardSetup": "kicad/advanced-circuits-4pcb-advanced-standard-2L.board-setup.json",
        "altiumRul": "altium/advanced-circuits-4pcb-advanced-standard-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.4pcb.com/pcb-capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Advanced Circuits (4PCB)",
      "vendorSlug": "advanced-circuits-4pcb",
      "process": "advanced-standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/advanced-circuits-4pcb.json",
        "fusionEdru": "fusion/advanced-circuits-4pcb-advanced-standard-4L.edru",
        "fusionDru": "fusion/advanced-circuits-4pcb-advanced-standard-4L.dru",
        "kicadDru": "kicad/advanced-circuits-4pcb-advanced-standard-4L.kicad_dru",
        "kicadBoardSetup": "kicad/advanced-circuits-4pcb-advanced-standard-4L.board-setup.json",
        "altiumRul": "altium/advanced-circuits-4pcb-advanced-standard-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.4pcb.com/pcb-capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Advanced Circuits (4PCB)",
      "vendorSlug": "advanced-circuits-4pcb",
      "process": "advanced",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/advanced-circuits-4pcb.json",
        "fusionEdru": "fusion/advanced-circuits-4pcb-advanced-2L.edru",
        "fusionDru": "fusion/advanced-circuits-4pcb-advanced-2L.dru",
        "kicadDru": "kicad/advanced-circuits-4pcb-advanced-2L.kicad_dru",
        "kicadBoardSetup": "kicad/advanced-circuits-4pcb-advanced-2L.board-setup.json",
        "altiumRul": "altium/advanced-circuits-4pcb-advanced-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.4pcb.com/pcb-capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Advanced Circuits (4PCB)",
      "vendorSlug": "advanced-circuits-4pcb",
      "process": "advanced",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/advanced-circuits-4pcb.json",
        "fusionEdru": "fusion/advanced-circuits-4pcb-advanced-4L.edru",
        "fusionDru": "fusion/advanced-circuits-4pcb-advanced-4L.dru",
        "kicadDru": "kicad/advanced-circuits-4pcb-advanced-4L.kicad_dru",
        "kicadBoardSetup": "kicad/advanced-circuits-4pcb-advanced-4L.board-setup.json",
        "altiumRul": "altium/advanced-circuits-4pcb-advanced-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.4pcb.com/pcb-capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Advanced Circuits (4PCB)",
      "vendorSlug": "advanced-circuits-4pcb",
      "process": "development-npi",
      "layerCount": 2,
      "filesGenerated": false,
      "files": {
        "record": "rules/records/advanced-circuits-4pcb.json",
        "fusionEdru": "fusion/advanced-circuits-4pcb-development-npi-2L.edru",
        "fusionDru": "fusion/advanced-circuits-4pcb-development-npi-2L.dru",
        "kicadDru": "kicad/advanced-circuits-4pcb-development-npi-2L.kicad_dru",
        "kicadBoardSetup": "kicad/advanced-circuits-4pcb-development-npi-2L.board-setup.json",
        "altiumRul": "altium/advanced-circuits-4pcb-development-npi-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.4pcb.com/pcb-capabilities.html",
          "dateRead": "2026-09-03"
        }
      ],
      "note": "No generated rule files: the vendor does not publish one or more of min trace width, min spacing, min drill for this process/layer count."
    },
    {
      "vendor": "Aisler",
      "vendorSlug": "aisler",
      "process": "enig",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/aisler.json",
        "fusionEdru": "fusion/aisler-enig-2L.edru",
        "fusionDru": "fusion/aisler-enig-2L.dru",
        "kicadDru": "kicad/aisler-enig-2L.kicad_dru",
        "kicadBoardSetup": "kicad/aisler-enig-2L.board-setup.json",
        "altiumRul": "altium/aisler-enig-2L.RUL"
      },
      "sources": [
        {
          "url": "https://community.aisler.net/t/2-layer-1-6mm-enig-design-rules/3732",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Aisler",
      "vendorSlug": "aisler",
      "process": "hasl",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/aisler.json",
        "fusionEdru": "fusion/aisler-hasl-2L.edru",
        "fusionDru": "fusion/aisler-hasl-2L.dru",
        "kicadDru": "kicad/aisler-hasl-2L.kicad_dru",
        "kicadBoardSetup": "kicad/aisler-hasl-2L.board-setup.json",
        "altiumRul": "altium/aisler-hasl-2L.RUL"
      },
      "sources": [
        {
          "url": "https://community.aisler.net/t/2-layer-1-6-mm-35-m-hasl-design-rules/3735",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Aisler",
      "vendorSlug": "aisler",
      "process": "enig",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/aisler.json",
        "fusionEdru": "fusion/aisler-enig-4L.edru",
        "fusionDru": "fusion/aisler-enig-4L.dru",
        "kicadDru": "kicad/aisler-enig-4L.kicad_dru",
        "kicadBoardSetup": "kicad/aisler-enig-4L.board-setup.json",
        "altiumRul": "altium/aisler-enig-4L.RUL"
      },
      "sources": [
        {
          "url": "https://community.aisler.net/t/4-layer-35-m-enig-design-rules/3733",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "ALLPCB",
      "vendorSlug": "allpcb",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/allpcb.json",
        "fusionEdru": "fusion/allpcb-2L.edru",
        "fusionDru": "fusion/allpcb-2L.dru",
        "kicadDru": "kicad/allpcb-2L.kicad_dru",
        "kicadBoardSetup": "kicad/allpcb-2L.board-setup.json",
        "altiumRul": "altium/allpcb-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.allpcb.com/standard_pcb_manufacturing_capability.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "ALLPCB",
      "vendorSlug": "allpcb",
      "process": "advanced",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/allpcb.json",
        "fusionEdru": "fusion/allpcb-advanced-2L.edru",
        "fusionDru": "fusion/allpcb-advanced-2L.dru",
        "kicadDru": "kicad/allpcb-advanced-2L.kicad_dru",
        "kicadBoardSetup": "kicad/allpcb-advanced-2L.board-setup.json",
        "altiumRul": "altium/allpcb-advanced-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.allpcb.com/advanced_pcb_manufacturing_capability.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "ALLPCB",
      "vendorSlug": "allpcb",
      "process": "advanced",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/allpcb.json",
        "fusionEdru": "fusion/allpcb-advanced-4L.edru",
        "fusionDru": "fusion/allpcb-advanced-4L.dru",
        "kicadDru": "kicad/allpcb-advanced-4L.kicad_dru",
        "kicadBoardSetup": "kicad/allpcb-advanced-4L.board-setup.json",
        "altiumRul": "altium/allpcb-advanced-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.allpcb.com/advanced_pcb_manufacturing_capability.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "ALLPCB",
      "vendorSlug": "allpcb",
      "process": "advanced",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/allpcb.json",
        "fusionEdru": "fusion/allpcb-advanced-6L.edru",
        "fusionDru": "fusion/allpcb-advanced-6L.dru",
        "kicadDru": "kicad/allpcb-advanced-6L.kicad_dru",
        "kicadBoardSetup": "kicad/allpcb-advanced-6L.board-setup.json",
        "altiumRul": "altium/allpcb-advanced-6L.RUL"
      },
      "sources": [
        {
          "url": "https://www.allpcb.com/advanced_pcb_manufacturing_capability.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Elecrow",
      "vendorSlug": "elecrow",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/elecrow.json",
        "fusionEdru": "fusion/elecrow-2L.edru",
        "fusionDru": "fusion/elecrow-2L.dru",
        "kicadDru": "kicad/elecrow-2L.kicad_dru",
        "kicadBoardSetup": "kicad/elecrow-2L.board-setup.json",
        "altiumRul": "altium/elecrow-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.elecrow.com/pcb-manufacturing.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Elecrow",
      "vendorSlug": "elecrow",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/elecrow.json",
        "fusionEdru": "fusion/elecrow-4L.edru",
        "fusionDru": "fusion/elecrow-4L.dru",
        "kicadDru": "kicad/elecrow-4L.kicad_dru",
        "kicadBoardSetup": "kicad/elecrow-4L.board-setup.json",
        "altiumRul": "altium/elecrow-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.elecrow.com/pcb-manufacturing.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Elecrow",
      "vendorSlug": "elecrow",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/elecrow.json",
        "fusionEdru": "fusion/elecrow-6L.edru",
        "fusionDru": "fusion/elecrow-6L.dru",
        "kicadDru": "kicad/elecrow-6L.kicad_dru",
        "kicadBoardSetup": "kicad/elecrow-6L.board-setup.json",
        "altiumRul": "altium/elecrow-6L.RUL"
      },
      "sources": [
        {
          "url": "https://www.elecrow.com/pcb-manufacturing.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Eurocircuits",
      "vendorSlug": "eurocircuits",
      "process": "proto",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/eurocircuits.json",
        "fusionEdru": "fusion/eurocircuits-proto-2L.edru",
        "fusionDru": "fusion/eurocircuits-proto-2L.dru",
        "kicadDru": "kicad/eurocircuits-proto-2L.kicad_dru",
        "kicadBoardSetup": "kicad/eurocircuits-proto-2L.board-setup.json",
        "altiumRul": "altium/eurocircuits-proto-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.eurocircuits.com/services/pcb-proto/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/classification/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/content/uploads/2025/04/EC-classification-ENGLISH-5-2024-V3.png",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/drilled-holes/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/soldermask/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/legend-print/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/copper-layers/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Eurocircuits",
      "vendorSlug": "eurocircuits",
      "process": "proto",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/eurocircuits.json",
        "fusionEdru": "fusion/eurocircuits-proto-4L.edru",
        "fusionDru": "fusion/eurocircuits-proto-4L.dru",
        "kicadDru": "kicad/eurocircuits-proto-4L.kicad_dru",
        "kicadBoardSetup": "kicad/eurocircuits-proto-4L.board-setup.json",
        "altiumRul": "altium/eurocircuits-proto-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.eurocircuits.com/services/pcb-proto/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/classification/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Eurocircuits",
      "vendorSlug": "eurocircuits",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/eurocircuits.json",
        "fusionEdru": "fusion/eurocircuits-2L.edru",
        "fusionDru": "fusion/eurocircuits-2L.dru",
        "kicadDru": "kicad/eurocircuits-2L.kicad_dru",
        "kicadBoardSetup": "kicad/eurocircuits-2L.board-setup.json",
        "altiumRul": "altium/eurocircuits-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.eurocircuits.com/services/standard-pool/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/classification/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/content/uploads/2025/04/EC-classification-ENGLISH-5-2024-V3.png",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Eurocircuits",
      "vendorSlug": "eurocircuits",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/eurocircuits.json",
        "fusionEdru": "fusion/eurocircuits-4L.edru",
        "fusionDru": "fusion/eurocircuits-4L.dru",
        "kicadDru": "kicad/eurocircuits-4L.kicad_dru",
        "kicadBoardSetup": "kicad/eurocircuits-4L.board-setup.json",
        "altiumRul": "altium/eurocircuits-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.eurocircuits.com/services/standard-pool/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.eurocircuits.com/technical-guidelines/pcb-design-guidelines/classification/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Eurocircuits",
      "vendorSlug": "eurocircuits",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/eurocircuits.json",
        "fusionEdru": "fusion/eurocircuits-6L.edru",
        "fusionDru": "fusion/eurocircuits-6L.dru",
        "kicadDru": "kicad/eurocircuits-6L.kicad_dru",
        "kicadBoardSetup": "kicad/eurocircuits-6L.board-setup.json",
        "altiumRul": "altium/eurocircuits-6L.RUL"
      },
      "sources": [
        {
          "url": "https://www.eurocircuits.com/services/standard-pool/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "JLCPCB",
      "vendorSlug": "jlcpcb",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/jlcpcb.json",
        "fusionEdru": "fusion/jlcpcb-2L.edru",
        "fusionDru": "fusion/jlcpcb-2L.dru",
        "kicadDru": "kicad/jlcpcb-2L.kicad_dru",
        "kicadBoardSetup": "kicad/jlcpcb-2L.board-setup.json",
        "altiumRul": "altium/jlcpcb-2L.RUL"
      },
      "sources": [
        {
          "url": "https://jlcpcb.com/capabilities/pcb-capabilities",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "JLCPCB",
      "vendorSlug": "jlcpcb",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/jlcpcb.json",
        "fusionEdru": "fusion/jlcpcb-4L.edru",
        "fusionDru": "fusion/jlcpcb-4L.dru",
        "kicadDru": "kicad/jlcpcb-4L.kicad_dru",
        "kicadBoardSetup": "kicad/jlcpcb-4L.board-setup.json",
        "altiumRul": "altium/jlcpcb-4L.RUL"
      },
      "sources": [
        {
          "url": "https://jlcpcb.com/capabilities/pcb-capabilities",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "JLCPCB",
      "vendorSlug": "jlcpcb",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/jlcpcb.json",
        "fusionEdru": "fusion/jlcpcb-6L.edru",
        "fusionDru": "fusion/jlcpcb-6L.dru",
        "kicadDru": "kicad/jlcpcb-6L.kicad_dru",
        "kicadBoardSetup": "kicad/jlcpcb-6L.board-setup.json",
        "altiumRul": "altium/jlcpcb-6L.RUL"
      },
      "sources": [
        {
          "url": "https://jlcpcb.com/capabilities/pcb-capabilities",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "MacroFab",
      "vendorSlug": "macrofab",
      "process": "extended",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/macrofab.json",
        "fusionEdru": "fusion/macrofab-extended-2L.edru",
        "fusionDru": "fusion/macrofab-extended-2L.dru",
        "kicadDru": "kicad/macrofab-extended-2L.kicad_dru",
        "kicadBoardSetup": "kicad/macrofab-extended-2L.board-setup.json",
        "altiumRul": "altium/macrofab-extended-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.macrofab.com/capabilities/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.macrofab.com/pcba/specs/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "MacroFab",
      "vendorSlug": "macrofab",
      "process": "extended",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/macrofab.json",
        "fusionEdru": "fusion/macrofab-extended-4L.edru",
        "fusionDru": "fusion/macrofab-extended-4L.dru",
        "kicadDru": "kicad/macrofab-extended-4L.kicad_dru",
        "kicadBoardSetup": "kicad/macrofab-extended-4L.board-setup.json",
        "altiumRul": "altium/macrofab-extended-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.macrofab.com/capabilities/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.macrofab.com/pcba/specs/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "MacroFab",
      "vendorSlug": "macrofab",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/macrofab.json",
        "fusionEdru": "fusion/macrofab-2L.edru",
        "fusionDru": "fusion/macrofab-2L.dru",
        "kicadDru": "kicad/macrofab-2L.kicad_dru",
        "kicadBoardSetup": "kicad/macrofab-2L.board-setup.json",
        "altiumRul": "altium/macrofab-2L.RUL"
      },
      "sources": [
        {
          "url": "https://support.macrofab.com/s/article/pcb-specifications-and-drc",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://support.macrofab.com/s/article/can-i-customize-my-pcb",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "MacroFab",
      "vendorSlug": "macrofab",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/macrofab.json",
        "fusionEdru": "fusion/macrofab-4L.edru",
        "fusionDru": "fusion/macrofab-4L.dru",
        "kicadDru": "kicad/macrofab-4L.kicad_dru",
        "kicadBoardSetup": "kicad/macrofab-4L.board-setup.json",
        "altiumRul": "altium/macrofab-4L.RUL"
      },
      "sources": [
        {
          "url": "https://support.macrofab.com/s/article/pcb-specifications-and-drc",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "NextPCB",
      "vendorSlug": "nextpcb",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/nextpcb.json",
        "fusionEdru": "fusion/nextpcb-2L.edru",
        "fusionDru": "fusion/nextpcb-2L.dru",
        "kicadDru": "kicad/nextpcb-2L.kicad_dru",
        "kicadBoardSetup": "kicad/nextpcb-2L.board-setup.json",
        "altiumRul": "altium/nextpcb-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.nextpcb.com/pcb-capabilities",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "NextPCB",
      "vendorSlug": "nextpcb",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/nextpcb.json",
        "fusionEdru": "fusion/nextpcb-4L.edru",
        "fusionDru": "fusion/nextpcb-4L.dru",
        "kicadDru": "kicad/nextpcb-4L.kicad_dru",
        "kicadBoardSetup": "kicad/nextpcb-4L.board-setup.json",
        "altiumRul": "altium/nextpcb-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.nextpcb.com/pcb-capabilities",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "NextPCB",
      "vendorSlug": "nextpcb",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/nextpcb.json",
        "fusionEdru": "fusion/nextpcb-6L.edru",
        "fusionDru": "fusion/nextpcb-6L.dru",
        "kicadDru": "kicad/nextpcb-6L.kicad_dru",
        "kicadBoardSetup": "kicad/nextpcb-6L.board-setup.json",
        "altiumRul": "altium/nextpcb-6L.RUL"
      },
      "sources": [
        {
          "url": "https://www.nextpcb.com/pcb-capabilities",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "NextPCB",
      "vendorSlug": "nextpcb",
      "process": "advanced",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/nextpcb.json",
        "fusionEdru": "fusion/nextpcb-advanced-2L.edru",
        "fusionDru": "fusion/nextpcb-advanced-2L.dru",
        "kicadDru": "kicad/nextpcb-advanced-2L.kicad_dru",
        "kicadBoardSetup": "kicad/nextpcb-advanced-2L.board-setup.json",
        "altiumRul": "altium/nextpcb-advanced-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.nextpcb.com/advanced-pcb-manufacturing-capabilities",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "OSH Park",
      "vendorSlug": "osh-park",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/osh-park.json",
        "fusionEdru": "fusion/osh-park-2L.edru",
        "fusionDru": "fusion/osh-park-2L.dru",
        "kicadDru": "kicad/osh-park-2L.kicad_dru",
        "kicadBoardSetup": "kicad/osh-park-2L.board-setup.json",
        "altiumRul": "altium/osh-park-2L.RUL"
      },
      "sources": [
        {
          "url": "https://docs.oshpark.com/services/two-layer/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://docs.oshpark.com/services/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "OSH Park",
      "vendorSlug": "osh-park",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/osh-park.json",
        "fusionEdru": "fusion/osh-park-4L.edru",
        "fusionDru": "fusion/osh-park-4L.dru",
        "kicadDru": "kicad/osh-park-4L.kicad_dru",
        "kicadBoardSetup": "kicad/osh-park-4L.board-setup.json",
        "altiumRul": "altium/osh-park-4L.RUL"
      },
      "sources": [
        {
          "url": "https://docs.oshpark.com/services/four-layer/",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://docs.oshpark.com/services/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "OSH Park",
      "vendorSlug": "osh-park",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/osh-park.json",
        "fusionEdru": "fusion/osh-park-6L.edru",
        "fusionDru": "fusion/osh-park-6L.dru",
        "kicadDru": "kicad/osh-park-6L.kicad_dru",
        "kicadBoardSetup": "kicad/osh-park-6L.board-setup.json",
        "altiumRul": "altium/osh-park-6L.RUL"
      },
      "sources": [
        {
          "url": "https://docs.oshpark.com/services/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "OSH Park",
      "vendorSlug": "osh-park",
      "process": "after-dark",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/osh-park.json",
        "fusionEdru": "fusion/osh-park-after-dark-2L.edru",
        "fusionDru": "fusion/osh-park-after-dark-2L.dru",
        "kicadDru": "kicad/osh-park-after-dark-2L.kicad_dru",
        "kicadBoardSetup": "kicad/osh-park-after-dark-2L.board-setup.json",
        "altiumRul": "altium/osh-park-after-dark-2L.RUL"
      },
      "sources": [
        {
          "url": "https://docs.oshpark.com/services/afterdark/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "OSH Park",
      "vendorSlug": "osh-park",
      "process": "flex",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/osh-park.json",
        "fusionEdru": "fusion/osh-park-flex-2L.edru",
        "fusionDru": "fusion/osh-park-flex-2L.dru",
        "kicadDru": "kicad/osh-park-flex-2L.kicad_dru",
        "kicadBoardSetup": "kicad/osh-park-flex-2L.board-setup.json",
        "altiumRul": "altium/osh-park-flex-2L.RUL"
      },
      "sources": [
        {
          "url": "https://docs.oshpark.com/services/flex/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "OSH Park",
      "vendorSlug": "osh-park",
      "process": "2oz-0.8mm",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/osh-park.json",
        "fusionEdru": "fusion/osh-park-2oz-0.8mm-2L.edru",
        "fusionDru": "fusion/osh-park-2oz-0.8mm-2L.dru",
        "kicadDru": "kicad/osh-park-2oz-0.8mm-2L.kicad_dru",
        "kicadBoardSetup": "kicad/osh-park-2oz-0.8mm-2L.board-setup.json",
        "altiumRul": "altium/osh-park-2oz-0.8mm-2L.RUL"
      },
      "sources": [
        {
          "url": "https://docs.oshpark.com/services/two-layer-hhdc/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "PCBWay",
      "vendorSlug": "pcbway",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/pcbway.json",
        "fusionEdru": "fusion/pcbway-2L.edru",
        "fusionDru": "fusion/pcbway-2L.dru",
        "kicadDru": "kicad/pcbway-2L.kicad_dru",
        "kicadBoardSetup": "kicad/pcbway-2L.board-setup.json",
        "altiumRul": "altium/pcbway-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.pcbway.com/capabilities.html",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://m.pcbway.com/capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "PCBWay",
      "vendorSlug": "pcbway",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/pcbway.json",
        "fusionEdru": "fusion/pcbway-4L.edru",
        "fusionDru": "fusion/pcbway-4L.dru",
        "kicadDru": "kicad/pcbway-4L.kicad_dru",
        "kicadBoardSetup": "kicad/pcbway-4L.board-setup.json",
        "altiumRul": "altium/pcbway-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.pcbway.com/capabilities.html",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.pcbway.com/capabilities.html",
          "dateRead": "2026-11-02",
          "archiveSha256": "694ce30266e8c0bde8173d590c3ac71e6d928eb730fad3555e6a1dd298e0a980",
          "note": "observational archive; page footer '\u00a9 2024 PCBWay' only; no vendor revision date"
        },
        {
          "url": "https://www.pcbway.com/helpcenter/Engineering_Questions/limited_holes_spacing.html",
          "dateRead": "2026-11-02",
          "archiveSha256": "9cebdeed859c3c61d4e104185aa5e6a54fb1a5c6ac5864591fbd5993479145e1",
          "note": "official PCBWay Engineering Questions page; states last updated 2025-06-25"
        },
        {
          "url": "https://www.pcbway.com/pcb_prototype/PCB_Manufacturing_tolerances.html",
          "dateRead": "2026-11-02",
          "archiveSha256": "51142afe99832cc0ee41af19bf7d4c552a2658da466f04850523fab09bb66948",
          "note": "official PCBWay tolerances page; PTH ring 0.20 and via ring 0.15 (PTH ring weaker than capabilities table, not used)"
        },
        {
          "url": "https://m.pcbway.com/capabilities.html",
          "dateRead": "2026-11-02",
          "archiveSha256": "d7be6170136dad3df83304c5e34dab85775f7df80e632d8de8eae85969da3357",
          "note": "mobile capabilities page (summary only): drill 0.2 min, trace/spacing 4mil min with 6mil suggested, annular 0.15"
        }
      ],
      "profiles": [
        {
          "name": "circuit-forge-strict",
          "author": "Josh Aberdeen (Circuit Forge)",
          "why": "Circuit Forge's opt-in strict profile for PCBWay standard 4-layer 1 oz, reviewed in PR #9 (2026-11-02). Stricter than PCBWay's published minimums in two places, by choice: 5 mil track width on every layer (published inner: 4 mil) and 0.45 mm hole spacing for every pair (published via to via: 0.30 mm). Frozen at the reviewed bytes so Circuit Forge's gate keeps matching their hashes.",
          "frozen": true,
          "definition": "rules/profiles/pcbway-4L-circuit-forge-strict.json",
          "files": {
            "kicad_dru": "kicad/pcbway-4L-circuit-forge-strict.kicad_dru",
            "board-setup.json": "kicad/pcbway-4L-circuit-forge-strict.board-setup.json",
            "dru": "fusion/pcbway-4L-circuit-forge-strict.dru",
            "edru": "fusion/pcbway-4L-circuit-forge-strict.edru",
            "RUL": "altium/pcbway-4L-circuit-forge-strict.RUL"
          }
        }
      ]
    },
    {
      "vendor": "PCBWay",
      "vendorSlug": "pcbway",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/pcbway.json",
        "fusionEdru": "fusion/pcbway-6L.edru",
        "fusionDru": "fusion/pcbway-6L.dru",
        "kicadDru": "kicad/pcbway-6L.kicad_dru",
        "kicadBoardSetup": "kicad/pcbway-6L.board-setup.json",
        "altiumRul": "altium/pcbway-6L.RUL"
      },
      "sources": [
        {
          "url": "https://www.pcbway.com/capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "PCBWay",
      "vendorSlug": "pcbway",
      "process": "advanced",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/pcbway.json",
        "fusionEdru": "fusion/pcbway-advanced-2L.edru",
        "fusionDru": "fusion/pcbway-advanced-2L.dru",
        "kicadDru": "kicad/pcbway-advanced-2L.kicad_dru",
        "kicadBoardSetup": "kicad/pcbway-advanced-2L.board-setup.json",
        "altiumRul": "altium/pcbway-advanced-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.pcbway.com/advanced-pcb-capabilities.html",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.pcbway.com/capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "PCBWay",
      "vendorSlug": "pcbway",
      "process": "advanced",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/pcbway.json",
        "fusionEdru": "fusion/pcbway-advanced-4L.edru",
        "fusionDru": "fusion/pcbway-advanced-4L.dru",
        "kicadDru": "kicad/pcbway-advanced-4L.kicad_dru",
        "kicadBoardSetup": "kicad/pcbway-advanced-4L.board-setup.json",
        "altiumRul": "altium/pcbway-advanced-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.pcbway.com/advanced-pcb-capabilities.html",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.pcbway.com/capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "PCBWay",
      "vendorSlug": "pcbway",
      "process": "advanced",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/pcbway.json",
        "fusionEdru": "fusion/pcbway-advanced-6L.edru",
        "fusionDru": "fusion/pcbway-advanced-6L.dru",
        "kicadDru": "kicad/pcbway-advanced-6L.kicad_dru",
        "kicadBoardSetup": "kicad/pcbway-advanced-6L.board-setup.json",
        "altiumRul": "altium/pcbway-advanced-6L.RUL"
      },
      "sources": [
        {
          "url": "https://www.pcbway.com/advanced-pcb-capabilities.html",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.pcbway.com/capabilities.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Seeed Fusion",
      "vendorSlug": "seeed-fusion",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/seeed-fusion.json",
        "fusionEdru": "fusion/seeed-fusion-2L.edru",
        "fusionDru": "fusion/seeed-fusion-2L.dru",
        "kicadDru": "kicad/seeed-fusion-2L.kicad_dru",
        "kicadBoardSetup": "kicad/seeed-fusion-2L.board-setup.json",
        "altiumRul": "altium/seeed-fusion-2L.RUL"
      },
      "sources": [
        {
          "url": "https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification",
          "dateRead": "2026-09-03"
        },
        {
          "url": "https://www.seeedstudio.com/fusion_pcb.html",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Seeed Fusion",
      "vendorSlug": "seeed-fusion",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/seeed-fusion.json",
        "fusionEdru": "fusion/seeed-fusion-4L.edru",
        "fusionDru": "fusion/seeed-fusion-4L.dru",
        "kicadDru": "kicad/seeed-fusion-4L.kicad_dru",
        "kicadBoardSetup": "kicad/seeed-fusion-4L.board-setup.json",
        "altiumRul": "altium/seeed-fusion-4L.RUL"
      },
      "sources": [
        {
          "url": "https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Seeed Fusion",
      "vendorSlug": "seeed-fusion",
      "process": "standard",
      "layerCount": 6,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/seeed-fusion.json",
        "fusionEdru": "fusion/seeed-fusion-6L.edru",
        "fusionDru": "fusion/seeed-fusion-6L.dru",
        "kicadDru": "kicad/seeed-fusion-6L.kicad_dru",
        "kicadBoardSetup": "kicad/seeed-fusion-6L.board-setup.json",
        "altiumRul": "altium/seeed-fusion-6L.RUL"
      },
      "sources": [
        {
          "url": "https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Seeed Fusion",
      "vendorSlug": "seeed-fusion",
      "process": "advanced",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/seeed-fusion.json",
        "fusionEdru": "fusion/seeed-fusion-advanced-2L.edru",
        "fusionDru": "fusion/seeed-fusion-advanced-2L.dru",
        "kicadDru": "kicad/seeed-fusion-advanced-2L.kicad_dru",
        "kicadBoardSetup": "kicad/seeed-fusion-advanced-2L.board-setup.json",
        "altiumRul": "altium/seeed-fusion-advanced-2L.RUL"
      },
      "sources": [
        {
          "url": "https://support.seeed.cc/portal/en/kb/articles/fusion-advanced-pcb-specification",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Seeed Fusion",
      "vendorSlug": "seeed-fusion",
      "process": "advanced",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/seeed-fusion.json",
        "fusionEdru": "fusion/seeed-fusion-advanced-4L.edru",
        "fusionDru": "fusion/seeed-fusion-advanced-4L.dru",
        "kicadDru": "kicad/seeed-fusion-advanced-4L.kicad_dru",
        "kicadBoardSetup": "kicad/seeed-fusion-advanced-4L.board-setup.json",
        "altiumRul": "altium/seeed-fusion-advanced-4L.RUL"
      },
      "sources": [
        {
          "url": "https://support.seeed.cc/portal/en/kb/articles/fusion-advanced-pcb-specification",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Sierra Circuits",
      "vendorSlug": "sierra-circuits",
      "process": "standard",
      "layerCount": 2,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/sierra-circuits.json",
        "fusionEdru": "fusion/sierra-circuits-2L.edru",
        "fusionDru": "fusion/sierra-circuits-2L.dru",
        "kicadDru": "kicad/sierra-circuits-2L.kicad_dru",
        "kicadBoardSetup": "kicad/sierra-circuits-2L.board-setup.json",
        "altiumRul": "altium/sierra-circuits-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.protoexpress.com/products/rigid-pcb/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Sierra Circuits",
      "vendorSlug": "sierra-circuits",
      "process": "standard",
      "layerCount": 4,
      "filesGenerated": true,
      "files": {
        "record": "rules/records/sierra-circuits.json",
        "fusionEdru": "fusion/sierra-circuits-4L.edru",
        "fusionDru": "fusion/sierra-circuits-4L.dru",
        "kicadDru": "kicad/sierra-circuits-4L.kicad_dru",
        "kicadBoardSetup": "kicad/sierra-circuits-4L.board-setup.json",
        "altiumRul": "altium/sierra-circuits-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.protoexpress.com/products/rigid-pcb/",
          "dateRead": "2026-09-03"
        }
      ]
    },
    {
      "vendor": "Sierra Circuits",
      "vendorSlug": "sierra-circuits",
      "process": "turnkey-pro",
      "layerCount": 2,
      "filesGenerated": false,
      "files": {
        "record": "rules/records/sierra-circuits.json",
        "fusionEdru": "fusion/sierra-circuits-turnkey-pro-2L.edru",
        "fusionDru": "fusion/sierra-circuits-turnkey-pro-2L.dru",
        "kicadDru": "kicad/sierra-circuits-turnkey-pro-2L.kicad_dru",
        "kicadBoardSetup": "kicad/sierra-circuits-turnkey-pro-2L.board-setup.json",
        "altiumRul": "altium/sierra-circuits-turnkey-pro-2L.RUL"
      },
      "sources": [
        {
          "url": "https://www.protoexpress.com/",
          "dateRead": "2026-09-03"
        }
      ],
      "note": "No generated rule files: the vendor does not publish one or more of min trace width, min spacing, min drill for this process/layer count."
    },
    {
      "vendor": "Sierra Circuits",
      "vendorSlug": "sierra-circuits",
      "process": "turnkey-pro",
      "layerCount": 4,
      "filesGenerated": false,
      "files": {
        "record": "rules/records/sierra-circuits.json",
        "fusionEdru": "fusion/sierra-circuits-turnkey-pro-4L.edru",
        "fusionDru": "fusion/sierra-circuits-turnkey-pro-4L.dru",
        "kicadDru": "kicad/sierra-circuits-turnkey-pro-4L.kicad_dru",
        "kicadBoardSetup": "kicad/sierra-circuits-turnkey-pro-4L.board-setup.json",
        "altiumRul": "altium/sierra-circuits-turnkey-pro-4L.RUL"
      },
      "sources": [
        {
          "url": "https://www.protoexpress.com/",
          "dateRead": "2026-09-03"
        }
      ],
      "note": "No generated rule files: the vendor does not publish one or more of min trace width, min spacing, min drill for this process/layer count."
    }
  ]
}
