← Commit history

Correct GLB hashes using binary-safe downloads and validated container headers

John Lauer ·a4180f264e ·1mo ago ·parent 4480463
2 files changed +26−16
PROVENANCE.md+10−4
@@ -7,7 +7,7 @@ This audit was written by **Codex Astra (AI)**. It identifies the current bytes | [MachineContactMedium.kicad_sym](MachineContactMedium.kicad_sym) | Existing wiki asset; upstream authoring source and redistribution evidence not established by this audit | `5b3b855022eb12f49988b413f0c848260e485923f1033037f6fa76aa59fc09f8` | | [MachineContactMedium.kicad_mod](MachineContactMedium.kicad_mod) | Existing wiki asset; upstream authoring source and redistribution evidence not established by this audit | `673939ba2ea3f035b265427705f2d8bf842c5d5d57c2c4abda914a049d89f20f` | | [MachineContactMedium.step](MachineContactMedium.step) | Existing wiki asset; upstream authoring source and redistribution evidence not established by this audit | `cba9913901864710d26b819bad6913aa2e4e9a1dd8d9143de9bdde3cabc19279` |-| [MachineContactMedium.glb](MachineContactMedium.glb) | Existing wiki asset; upstream authoring source and redistribution evidence not established by this audit | `ca0976be72e4a16609f3cdfe43d52cc8a779830dbc51eaa556b690ddaf105651` |+| [MachineContactMedium.glb](MachineContactMedium.glb) | Existing wiki asset; upstream authoring source and redistribution evidence not established by this audit | `3a7fe56ba9cd7f22d3618ccc85ac0d255174c18da52703377f150c84e817076a` |  ## MachineContactMedium.kicad_sym @@ -50,9 +50,15 @@ Legacy aliases and extra variants are inventoried separately so an unselected fi  | File | Origin status | SHA-256 | |---|---|---|-| [MachineContactMedium.insertion.glb](MachineContactMedium.insertion.glb) | Byte-identical alias of the tracked asset MachineContactMedium.glb | `ca0976be72e4a16609f3cdfe43d52cc8a779830dbc51eaa556b690ddaf105651` |+| [MachineContactMedium.insertion.glb](MachineContactMedium.insertion.glb) | Byte-identical alias of the tracked asset MachineContactMedium.glb | `3a7fe56ba9cd7f22d3618ccc85ac0d255174c18da52703377f150c84e817076a` | | [MachineContactMedium.lbr](MachineContactMedium.lbr) | Additional existing wiki CAD; upstream authoring provenance not established by this audit | `31d2dc538fed7e34ff00b410e5a76e80384ecde99b313efcb2a9f5b8c75199dd` |-| [_plain.glb](_plain.glb) | Additional existing wiki CAD; upstream authoring provenance not established by this audit | `73ab72de90fe62958fd48c6f7dc7838558d8178d56dccc4e9e526b9f8c2929c9` |-| [_plain_mm.glb](_plain_mm.glb) | Additional existing wiki CAD; upstream authoring provenance not established by this audit | `0a878de74ff0edc723931ad6c9b6db378111586dc7ab577ad37e31080bce4d4a` |+| [_plain.glb](_plain.glb) | Additional existing wiki CAD; upstream authoring provenance not established by this audit | `293e5f64f0ecde2a121ebdad7f7fc410aabdf0f95fd4e07bb0d6bd5b2042e9ac` |+| [_plain_mm.glb](_plain_mm.glb) | Additional existing wiki CAD; upstream authoring provenance not established by this audit | `2c5291d1c6582262d0e39660ca59f32075363df7a582ed7303ef8fb5813c6f3e` |  See asset-provenance.json for source commits, variant lineage and remaining uncertainty.++Binary audit correction: GLB hashes above were recomputed from byte-preserving HTTPS downloads, with GLB header length and JSON chunk validation. Earlier hashes from the text-oriented repo-show path were invalid; they did not describe the stored GLBs.++Binary audit correction: GLB hashes above were recomputed from byte-preserving HTTPS downloads, with GLB header length and JSON chunk validation. Earlier hashes from the text-oriented repo-show path were invalid; they did not describe the stored GLBs.++Binary audit correction: GLB hashes above were recomputed from byte-preserving HTTPS downloads, with GLB header length and JSON chunk validation. Earlier hashes from the text-oriented repo-show path were invalid; they did not describe the stored GLBs.
asset-provenance.json+16−12
@@ -46,13 +46,14 @@     {       "kind": "glb",       "file": "MachineContactMedium.glb",-      "bytes": 307772,-      "sha256": "ca0976be72e4a16609f3cdfe43d52cc8a779830dbc51eaa556b690ddaf105651",+      "bytes": 201696,+      "sha256": "3a7fe56ba9cd7f22d3618ccc85ac0d255174c18da52703377f150c84e817076a",       "retrievedFrom": "https://wiki.adom.inc/adom/machinecontactmedium/files/MachineContactMedium.glb",       "retrievedAtUtc": "2026-09-16T13:48:38.724333+00:00",       "wikiCommit": "d364edf6ecc87446054f92e028d9f04af8d907cc",       "originStatus": "Existing wiki asset; upstream authoring source and redistribution evidence not established by this audit",-      "modifiedByThisAudit": false+      "modifiedByThisAudit": false,+      "retrievalMethod": "Binary-safe HTTPS file response; GLB header total length and JSON chunk validated"     }   ],   "existingPageCitations": {@@ -84,8 +85,8 @@   "additionalCadFiles": [     {       "file": "MachineContactMedium.insertion.glb",-      "sha256": "ca0976be72e4a16609f3cdfe43d52cc8a779830dbc51eaa556b690ddaf105651",-      "bytes": 307772,+      "sha256": "3a7fe56ba9cd7f22d3618ccc85ac0d255174c18da52703377f150c84e817076a",+      "bytes": 201696,       "wikiBlobHash": "190b0e9fc4219d656968a082937fdec15c843d0f",       "lastCommit": {         "hash": "2836e9a12650b853160fd17e20551dd2d6225009",@@ -95,7 +96,8 @@       },       "retrievedFrom": "https://wiki.adom.inc/adom/machinecontactmedium/files/MachineContactMedium.insertion.glb",       "originStatus": "Byte-identical alias of the tracked asset MachineContactMedium.glb",-      "lineage": "Same SHA-256 as MachineContactMedium.glb; its source/limits apply"+      "lineage": "Same SHA-256 as MachineContactMedium.glb; its source/limits apply",+      "retrievalMethod": "Binary-safe HTTPS file response; GLB header total length and JSON chunk validated"     },     {       "file": "MachineContactMedium.lbr",@@ -114,8 +116,8 @@     },     {       "file": "_plain.glb",-      "sha256": "73ab72de90fe62958fd48c6f7dc7838558d8178d56dccc4e9e526b9f8c2929c9",-      "bytes": 31690,+      "sha256": "293e5f64f0ecde2a121ebdad7f7fc410aabdf0f95fd4e07bb0d6bd5b2042e9ac",+      "bytes": 26184,       "wikiBlobHash": "92d0fced0fbfc241422938a1c4cb254de3d66986",       "lastCommit": {         "hash": "a82ed3fe30a620d4d53fc21361ffd1f3edb51e16",@@ -125,12 +127,13 @@       },       "retrievedFrom": "https://wiki.adom.inc/adom/machinecontactmedium/files/_plain.glb",       "originStatus": "Additional existing wiki CAD; upstream authoring provenance not established by this audit",-      "limits": "Wiki commit and file hash identify the bytes, not manufacturer source or redistribution permission. Referenced page citations are not proof of lineage."+      "limits": "Wiki commit and file hash identify the bytes, not manufacturer source or redistribution permission. Referenced page citations are not proof of lineage.",+      "retrievalMethod": "Binary-safe HTTPS file response; GLB header total length and JSON chunk validated"     },     {       "file": "_plain_mm.glb",-      "sha256": "0a878de74ff0edc723931ad6c9b6db378111586dc7ab577ad37e31080bce4d4a",-      "bytes": 31682,+      "sha256": "2c5291d1c6582262d0e39660ca59f32075363df7a582ed7303ef8fb5813c6f3e",+      "bytes": 26176,       "wikiBlobHash": "e4e9127cb557b72bce17f02ad21645a7da86492c",       "lastCommit": {         "hash": "a82ed3fe30a620d4d53fc21361ffd1f3edb51e16",@@ -140,7 +143,8 @@       },       "retrievedFrom": "https://wiki.adom.inc/adom/machinecontactmedium/files/_plain_mm.glb",       "originStatus": "Additional existing wiki CAD; upstream authoring provenance not established by this audit",-      "limits": "Wiki commit and file hash identify the bytes, not manufacturer source or redistribution permission. Referenced page citations are not proof of lineage."+      "limits": "Wiki commit and file hash identify the bytes, not manufacturer source or redistribution permission. Referenced page citations are not proof of lineage.",+      "retrievalMethod": "Binary-safe HTTPS file response; GLB header total length and JSON chunk validated"     }   ] }