Problem
Two identical clean builds from the same commit do not produce byte-identical vendored outputs, because the vendor scripts stamp wall-clock time into their metadata:
packages/adapter-javascript/scripts/build-js-debug.js — writeManifest() writes fetchedAt: new Date().toISOString() into the js-debug vendor manifest.
packages/codelldb-common/scripts/vendor-codelldb.js — writes cachedAt: new Date().toISOString() (cache metadata, ~line 282) and downloadedAt: new Date().toISOString() (vendor metadata, ~line 537).
This blocks independent verification that a rebuild from source matches what was published (the OpenSSF Best Practices build_repeatable criterion) and adds diff noise to any workflow that compares vendor outputs.
Fix
Make the stamps deterministic or remove them from anything that ships:
- Prefer deriving from stable inputs: honor the standard
SOURCE_DATE_EPOCH convention when set, falling back to the upstream release/asset date (both engines are already digest-pinned in their manifests, so the date carries no integrity weight).
- Where a field is purely local cache bookkeeping, keep it out of files included in packages — the digest pins already carry the integrity information.
Acceptance
Two consecutive pnpm run vendor:force && npm run build runs from the same commit produce byte-identical vendor/ trees and identical shipped package contents.
Problem
Two identical clean builds from the same commit do not produce byte-identical vendored outputs, because the vendor scripts stamp wall-clock time into their metadata:
packages/adapter-javascript/scripts/build-js-debug.js—writeManifest()writesfetchedAt: new Date().toISOString()into the js-debug vendor manifest.packages/codelldb-common/scripts/vendor-codelldb.js— writescachedAt: new Date().toISOString()(cache metadata, ~line 282) anddownloadedAt: new Date().toISOString()(vendor metadata, ~line 537).This blocks independent verification that a rebuild from source matches what was published (the OpenSSF Best Practices
build_repeatablecriterion) and adds diff noise to any workflow that compares vendor outputs.Fix
Make the stamps deterministic or remove them from anything that ships:
SOURCE_DATE_EPOCHconvention when set, falling back to the upstream release/asset date (both engines are already digest-pinned in their manifests, so the date carries no integrity weight).Acceptance
Two consecutive
pnpm run vendor:force && npm run buildruns from the same commit produce byte-identicalvendor/trees and identical shipped package contents.