screenshots: R2-hosted manifest becomes the baseline source of truth (morelli cutover)
The committed tests/screenshot-manifest.json is retired. CI now downloads baselines/pcbjam/manifest.json (manifest v3, written only by the morelli review app + its seed script) to the gitignored .baseline-manifest.json, and everything downstream (pull, verify, compare) reads that copy: - config.ts: MANIFEST_VERSION 3, MANIFEST_PATH .baseline-manifest.json, R2_BASELINES_MANIFEST_KEY; ManifestEntry grows opaque provenance - r2-sync.ts: new --manifest mode (atomic fetch; no-creds skip DELETES a stale copy so the gate skips rather than using old baselines); --push gone (bytes enter the CAS only via morelli's promote) - compare.ts: hard-skips when no manifest was fetched — a stale warm cache can never gate - wasm-build.yml: fetch-manifest step before the baselines cache; cache key now hashes the fetched manifest; the gen-manifest --check lint gate goes with the committed manifest - deleted: screenshot-manifest.json, promote.ts, changelog.ts, gen-manifest.ts, screenshot-changelog.yml, promote-screenshots skill - docs (CLAUDE/README/TESTING/WHATWORKS/tools README): promote flow is now https://pcbjam-morelli-staging.pcbjam-staging.workers.dev Validated locally against the real bucket: fetch-manifest (492), cold pull 492 / warm pull cached=492, no-creds skip chain, compare gate skip. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
4196958c10
commit
ec7a1b0787
20 changed files with 239 additions and 4793 deletions
|
|
@ -18,14 +18,11 @@
|
|||
"lint:determinism": "tsx tools/lint-determinism.ts",
|
||||
"lint:ci-coverage": "tsx tools/lint-ci-coverage.ts",
|
||||
"screenshots:check": "tsx tools/screenshots/compare.ts",
|
||||
"screenshots:promote": "tsx tools/screenshots/promote.ts",
|
||||
"screenshots:noise": "tsx tools/screenshots/noise.ts",
|
||||
"screenshots:report": "tsx tools/screenshots/post-discord.ts",
|
||||
"screenshots:changelog": "tsx tools/screenshots/changelog.ts",
|
||||
"screenshots:manifest": "tsx tools/screenshots/gen-manifest.ts",
|
||||
"screenshots:fetch-manifest": "tsx tools/screenshots/r2-sync.ts --manifest",
|
||||
"screenshots:fetch": "tsx tools/screenshots/r2-sync.ts --pull",
|
||||
"screenshots:upload-run": "tsx tools/screenshots/upload-run.ts",
|
||||
"screenshots:push": "tsx tools/screenshots/r2-sync.ts --push",
|
||||
"3d:compare": "tsx tools/screenshots/compare-dirs.ts",
|
||||
"3d:check": "tsx tools/screenshots/compare-dirs.ts --old 3d-regression/baseline --new 3d-regression/output/native --out 3d-regression/output/diff/native-self --floors 3d-regression/floors.json --level native-self --label 3d-native --fail-on-change",
|
||||
"3d:check:webgl": "tsx tools/screenshots/compare-dirs.ts --old 3d-regression/baseline-webgl --new 3d-regression/output/webgl --out 3d-regression/output/diff/webgl-self --floors 3d-regression/floors.json --level webgl-self --label 3d-webgl --fail-on-change",
|
||||
|
|
|
|||
Loading…
Reference in a new issue