main
John Lauer Hero GLB rebuilt with adom/component-hero's hero_glb.py (the earlier independent build drew pad label 2 doubled in the… f19c581 1d ago
{
 "manufacturer_reference": "https://yageogroup.com/products/productDetail/RC0402FR-071K33L",
 "symbol_source": "Original, written for this page (standard resistor graphic, non-polar). CC-BY-4.0.",
 "footprint_source": "KiCad standard library Resistor_SMD:R_0402_1005Metric (CC-BY-SA 4.0 with the KiCad library exception); renamed R_0402_1005Metric -> R_0402_1005Metric_RC0402FR-071K33L, model path set to ${KIPRJMOD}/RC0402FR-071K33L.step; copper unchanged",
 "footprint_upstream_sha256": "e05c7605248c220836f642ed1f526133edf0374acdfd5bb2631e58b4e377acfb",
 "footprint_upstream_url": "https://gitlab.com/kicad/libraries/kicad-footprints/-/raw/master/Resistor_SMD.pretty/R_0402_1005Metric.kicad_mod",
 "package_source": "KiCad packages3D Resistor_SMD.3dshapes/R_0402_1005Metric.step (CC-BY-SA 4.0 with the KiCad library exception)",
 "package_upstream_url": "https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/Resistor_SMD.3dshapes/R_0402_1005Metric.step",
 "package_bytes_unchanged": true,
 "manufacturer_step": {
  "found": false,
  "searched": "2026-10-21",
  "note": "YAGEO publishes CAD through interactive product pages; no direct STEP download for RC0402FR-071K33L was reachable without a browser session, so KiCad's library model was used and checked against the datasheet."
 },
 "geometry_status": "KiCad library package geometry, every printed dimension checked against the datasheet (docs/verify). Not manufacturer-issued CAD.",
 "frame": {
  "units": "mm (STEP), metres (GLB)",
  "up_axis": "Z",
  "seat_z": 0,
  "origin": "footprint origin",
  "transform": "none"
 },
 "glb": {
  "tool": "step2glb convert",
  "exit": 0,
  "stderr_tail": "Large file queued for async conversion (job 2efe4d285ae3a1b6). Polling...\nJob 2efe4d285ae3a1b6 complete (0s). Downloading GLB...\n"
 },
 "hero": {
  "tool": "step2glb thumbnail --width 1600 --height 1000 (iso, 16:10)",
  "path": "docs/hero.png"
 },
 "hero_glb": {
  "file": "rc0402fr-071k33l-hero.glb",
  "tool": "provenance/tools/hero.py (independent implementation of adom-hero 1.4; adom/component-hero's generator was not run)",
  "source_glb": "package-reference.glb",
  "footprint": "R_0402_1005Metric_RC0402FR-071K33L.kicad_mod",
  "glyphs": "provenance/tools/hero_glyphs.json (data from adom/component-hero)",
  "align": {
   "ok": true,
   "centre_offset_mm": 0.0,
   "tolerance_mm": 0.25,
   "orientation_flipped": false,
   "contacts_bbox_mm": [
    -0.4825,
    0.4825,
    -0.25,
    0.25
   ],
   "pads_bbox_mm": [
    -0.78,
    0.78,
    -0.32,
    0.32
   ],
   "seating_z_mm": -0.0
  },
  "sidecar": "rc0402fr-071k33l-hero.overlay.json"
 },
 "altium": {
  "files": [
   "altium/RC0402FR-071K33L.SchLib",
   "altium/RC0402FR-071K33L.PcbLib",
   "altium/RC0402FR-071K33L.adom-lbr.json"
  ],
  "tool": "adom-lbr import-kicad --sym --fp --mpn, then adom-lbr export-altium",
  "log_tail": "/rc0402fr-071k33l/RC0402FR-071K33L.lbr (2 pins, 6908 bytes)\nHINT: Lint PASSED with 0 error(s), 0 warning(s)\nOK: Lint passed with 0 error(s), 0 warning(s)\n{\n  \"passed\": true,\n  \"errors\": [],\n  \"warnings\": []\n}\nLINT_OK\nHINT: identity complete (MPN, Manufacturer, Datasheet, Description, Mouser, DigiKey, LCSC, Adom Wiki) - they become Altium parameters + Supplier links and EAGLE attributes.\nOK: wrote /tmp/claude-1001/rc0402esc/pages/rc0402fr-071k33l/altium/RC0402FR-071K33L.adom-lbr.json (adom-lbr JSON \u2014 the canonical hub)\nHint: verified /tmp/claude-1001/rc0402esc/pages/rc0402fr-071k33l/altium/RC0402FR-071K33L.adom-lbr.json (4461 bytes, sha256 5b20bc443f210be592842cbd24f3029fddd858826f7c68fbe66185b3e2bd234d, read back identical)\nHint: convert it with `adom-lbr export-altium /tmp/claude-1001/rc0402esc/pages/rc0402fr-071k33l/altium/RC0402FR-071K33L.adom-lbr.json` or `export-intlib`.\nOK: wrote /tmp/claude-1001/rc0402esc/pages/rc0402fr-071k33l/altium/RC0402FR-071K33L.SchLib (2 pins) + /tmp/claude-1001/rc0402esc/pages/rc0402fr-071k33l/altium/RC0402FR-071K33L.PcbLib (2 pads)\nHint: verified /tmp/claude-1001/rc0402esc/pages/rc0402fr-071k33l/altium/RC0402FR-071K33L.SchLib (24576 bytes, sha256 69af2d2eda79aa9735696bba69fcc77e7748657bf446986576b5492a1ab23e24, read back identical)\nHint: verified /tmp/claude-1001/rc0402esc/pages/rc0402fr-071k33l/altium/RC0402FR-071K33L.PcbLib (126976 bytes, sha256 d1033c38303bbfb7d9d9d155e53ea28003e90bd882cec9c2e7ea9a4f67f3f806, read back identical)\nALTIUM_OK\n"
 },
 "datasheet_figures": {
  "index": "docs/figures/figures.json",
  "tool": "provenance/tools/figures.py (pdftoppm 150 dpi, PIL crop)"
 },
 "fusion_lbr": {
  "file": "RC0402FR-071K33L.lbr",
  "tool": "adom-lbr generate --sym --fp --part-metadata page.json",
  "lint": "passed"
 },
 "datasheet": {
  "file": "docs/rc0402fr-071k33l-datasheet.pdf",
  "sha256": "7b6f0ae72708ca4b38126f84b5407a3e970a94cb60bc1a0afdaeb25a23d839bb",
  "url": "https://yageogroup.com/content/datasheet/asset/file/PYU-RC_GROUP_51_ROHS_L",
  "title": "YAGEO General Purpose Chip Resistors RC_L series, product specification V.14, Nov. 14, 2025",
  "retrieved": "2026-10-21"
 },
 "supporting_documents": [
  {
   "file": "docs/yageo-chip-resistors-mounting-v10.pdf",
   "sha256": "591634ace247f61e9c6a263ca1ac98d7672fc163f5e87334c3460956f5c68b7b",
   "url": "https://yageogroup.com/content/Resource%20Library/Product%20Guide-Catalog/yageo_PYu-R_Mount_10_19050818_343.pdf",
   "title": "YAGEO Chip Resistors Mounting, product specification V.10, Feb. 13, 2018",
   "retrieved": "2026-10-21"
  }
 ],
 "datasheet_check": {
  "overlay": "docs/verify/rc0402fr-071k33l-overlay.png",
  "numbers": "docs/verify/rc0402fr-071k33l-check.json",
  "tools": "provenance/tools/ (ortho.py, overlay_chip.py, spec json)",
  "result": "PASS"
 },
 "land_pattern_check": {
  "readme": "land-pattern/README.md",
  "numbers": "land-pattern/land-check.json",
  "source": "YAGEO Chip Resistors Mounting V.10, p.4 Table 1 (reflow), size 0402",
  "result": "matches"
 },
 "marking": {
  "real_marking": null,
  "statement": "YAGEO states 'No Marking' for RC0402 (Fig. 1)",
  "source": "RC_L product specification V.14, p.3 'Marking'"
 },
 "distributors": {
  "tool": "adom-parts-search search RC0402FR-071K33L",
  "date": "2026-10-21",
  "mouser": {
   "part": "603-RC0402FR-071K33L",
   "url": "https://www.mouser.com/ProductDetail/YAGEO/RC0402FR-071K33L?qs=sxZXDnvRBEiC9hRBXOP5cQ%3D%3D",
   "stock": 116581
  },
  "digikey": {
   "part": "311-1.33KLRTR-ND",
   "url": "https://www.digikey.com/en/products/detail/yageo/RC0402FR-071K33L/2827593",
   "stock": 19890
  },
  "lcsc": {
   "part": "C276261",
   "url": "https://www.lcsc.com/product-detail/C276261.html",
   "stock": 6281
  }
 },
 "lod": {
  "manifest": "lod/manifest.json",
  "generator": "provenance/tools/lod.py",
  "source_sha256": "91507e5af4251cb4ef38e04889c9b98da29904432bd83786bba13ae9b605eacb"
 },
 "tools_note": "lod.py, ortho.py and overlay_chip.py come from the GRM155R71C104KA88D component page (overlay_chip.py extended for min/max ranges). build.py, parts.py, landcheck.py, records.py, figures.py, hero.py and finish.sh built this page; they are the same scripts as adom/rc0402fr-074k7l plus the hero, figure and Altium steps.",
 "files": {
  "RC0402FR-071K33L.step": "91507e5af4251cb4ef38e04889c9b98da29904432bd83786bba13ae9b605eacb",
  "verification.json": "7bf2b69f75f5cda710102cde8db5660b02030df610f1c48c6cafd86d776ec9be",
  "RC0402FR-071K33L.lbr": "5136f772c0d969e187d901002d60a00fecb2f71db35fae05c51385fcdd8dd75e",
  "rc0402fr-071k33l-hero.overlay.json": "17298e976b80913c3941ea8e91d879539f9740d4cabb1eb1398c3d63893a1f49",
  "package-reference.glb": "e0f0a1b3f86b307421456f2e9945d22b4d3e222a7ec62e602fc97c5e6a7f34c3",
  "package.json": "9001b4d47724928b906cb47de2598c713f789d46b8352b1af071779fd3e74938",
  "RC0402FR-071K33L.kicad_sym": "dec34ea1cb9dda8d3ac62d24e525a9e8ddc5e670ec1bd76c02ca9182e3576821",
  "models.json": "7a99bb41422fd95f6f5b1c65de871e04b7bffdad06ea25047b02d5bb88eccd42",
  "rc0402fr-071k33l-hero.glb": "feda69af90e41baed866b6290fe6aefc96d98ca1fa5f746cd0f6deab7a58d627",
  "LICENSE": "f15aca45b249f66e1849307bbfc6c7de5dbcb968b649056ac1acf0be3f892ec1",
  "R_0402_1005Metric_RC0402FR-071K33L.kicad_mod": "6dbd572ec3eb3cfcddfa83c6d039757792c23836e17f7001dca1e5a95b055dc4",
  "page.json": "2eb334d9a7824a41159661aee9bf18c67b847d59c97ed759805b3d20b8db379d",
  "README.md": "45745a4dde6cf0a3ef9c25ca84fdb39b6fadb7ae4fe7ccaae10fbe5a004fbeb5",
  "provenance/tools/figures.py": "5ce9ccf82cd932c238fdb2ad3ea33cc45d92ad348b5b7465dec87fb0abaa9bbb",
  "provenance/tools/parts.py": "fdd39614e9221e7a7272d163f7368d5dfd9a809c3fdd4ee09ce92eaaeeea1762",
  "provenance/tools/rc0402fr-071k33l-overlay-spec.json": "b60068a46df0a9ae9bb45093ff36c3bb0f326fbb68c407b2d28f6742c15717ba",
  "provenance/tools/hero_glyphs.json": "da37b40cd710f17a5c78b5fdfbba529c052519dfee3b7774c1de99a0da1a3242",
  "provenance/tools/records.py": "f66fce56e448bc5b6c418eaaaf8af9b14cdc41c468c03351846a3ff217ee3351",
  "provenance/tools/landcheck.py": "a6141dcaa4992652e0caf3a7fdd51dcf8451fd630b7de7b873d1b910ae4a1d41",
  "provenance/tools/overlay_chip.py": "52617a63c9504e020e574ec63f39f518734032fcda7b14ad158e3f8907b31723",
  "provenance/tools/ortho.py": "c5a44e74fa447e1ece13190840c90d453cbb004f6c4608efb6e8cdb1ba2cbb6d",
  "provenance/tools/finish.sh": "92c68f529e64825c14be4320daea11db148b8ef6ce8ac1050938ede83488fd98",
  "provenance/tools/lod.py": "fc3eb9db56947d002d1dda328a6ee53032eae39f700521d00d18477f9915135c",
  "provenance/tools/push.sh": "da2b13bef5ca22ff4c931a767e455d528effcfaa9ffc5b071eba8db174d0ea25",
  "provenance/tools/hero.py": "ccd25e8b9a77ea6a5e040116a86d158e2c1b68589163d1693eafae8a7f35179a",
  "provenance/tools/build.py": "ca6a6cb1e4fa239463532c825bdaa307c13af62c791b3fc295e9ed9fef411312",
  "lod/low.png": "3128655e4b3ceb9eef7cf5c6c44e5a32d90d6c021e3202290a0a324d7705c82b",
  "lod/super-low.png": "2b5e64c2a87d0a650c6de41268667d5885ead95db8842584d8eef99773745415",
  "lod/low.glb": "707e9affdb4bbf23e2b576df1d412d63cc2744467c4a4f8d83e8ce58a0c88444",
  "lod/high.png": "095f270774d0289aaa735f205016d58064f1f04169cfd2d97c1a1c31fee7f3e2",
  "lod/manifest.json": "2491b9c746524a07a96a5734fc5d6b390f1c62a3d2f3d6d1be0b45771a0121ef",
  "lod/super-low.glb": "5fd30cfae695bd267b2707b3556a7d1d16daa62f38dbd9360f47c278780bd7e3",
  "lod/medium.glb": "6fc498a2cac8b122a17297169717fd8d4da4f03f0bc9a246b8d6ab99c6b6a366",
  "lod/high.glb": "4bb01ae8eb8803282e2285231a67f74a530a630c96da2bd57bf0900bb46d0621",
  "lod/medium.png": "e356705c3e76db346530dcafa2fb13d357a028b36d47463ed07e7caa89f6d1d3",
  "docs/rc0402fr-071k33l-datasheet.pdf": "7b6f0ae72708ca4b38126f84b5407a3e970a94cb60bc1a0afdaeb25a23d839bb",
  "docs/yageo-chip-resistors-mounting-v10.pdf": "591634ace247f61e9c6a263ca1ac98d7672fc163f5e87334c3460956f5c68b7b",
  "docs/hero.png": "9c403dd3dcb30ba7ebf8eec15f50cc837162292c0df4ab9d81cfd5c18c020850",
  "docs/models/package-reference-step.png": "aa00bd27011a835eaf7b224d87bb73bbaea48c7cd7a74bd3db28bf99701e9f1a",
  "docs/verify/rc0402fr-071k33l-hero-preview.png": "6c6bfc95567f4a636f77be2a77ca5c1376112834b66d89462e0789962fdcc3ca",
  "docs/verify/rc0402fr-071k33l-check.json": "6530845b2fd3b56956c5ac3341b7f706144f506c36bb41668d709eae7b0a0c4f",
  "docs/verify/rc0402fr-071k33l-overlay.png": "a833b69cc4465bdf8a1933bf56df31eccb9e0b9e731e8e488e19e48af573d8d3",
  "docs/figures/mount-p4-land.png": "050e0445c4bf0bb552179e0e420675a23594806a31db72d8ddcf84d28d908cc6",
  "docs/figures/rc-p3-marking.png": "9c64c26c18edec1af06b6c6046a5616ce597b2bc94afd13e9a9a12a4123a58fa",
  "docs/figures/rc-p2-ordering.png": "cd0a6a5b28dd51571a3c6566c7db2ddbe035cd6ffc49628d0e2ec77fd4fe1d3e",
  "docs/figures/rc-p5-electrical.png": "16b739b6903c2a86d90d18dc6e1a50508573702ef55f06644b060be4b47671f7",
  "docs/figures/rc-p7-packing-power.png": "4c9d71868624912824638394d084375b22509c25fe4ffab4518fd1e4f544bec8",
  "docs/figures/figures.json": "1ef3a5672795409244bccc1007b81f90db6b19f531b1b26809c4b5f87c846779",
  "docs/figures/rc-p4-dimensions.png": "e9eb4a02cf65822fbcfeac3623075f31b50664dc701603df189ecf798dcc14a1",
  "land-pattern/land-check.json": "19ccc87a4b0b5cc1cfb3c63fe12538de80c9e0fcbaa3470e6918692c88abbec2",
  "land-pattern/land-pattern-icon.png": "255beb3065f724af41332fcc126d4c20ed52f6ebbe76aee1942f4362ed6edabe",
  "land-pattern/land-pattern.png": "064cba352201b5e65bbdd3949a29e25b5f38d0b6568eb3185d6627375ba15128",
  "land-pattern/README.md": "f811858e1a84f79a18d4b3a2528167a9be9976d23fc0363c8620eb0e5695f977",
  "altium/RC0402FR-071K33L.adom-lbr.json": "5b20bc443f210be592842cbd24f3029fddd858826f7c68fbe66185b3e2bd234d",
  "altium/RC0402FR-071K33L.SchLib": "69af2d2eda79aa9735696bba69fcc77e7748657bf446986576b5492a1ab23e24",
  "altium/RC0402FR-071K33L.PcbLib": "d1033c38303bbfb7d9d9d155e53ea28003e90bd882cec9c2e7ea9a4f67f3f806"
 },
 "files_note": "provenance.json itself is not listed.",
 "built_by": "Claude (AI agent) for John Lauer",
 "date": "2026-10-21"
}