Skip to content

fix(photos): three shell call sites still name the .mjs files #526 renamed - #529

Merged
oddharsh merged 1 commit into
mainfrom
claude/photos-ts-callsites
Aug 24, 2026
Merged

oddharsh merged 1 commit into
mainfrom
claude/photos-ts-callsites

Conversation

@oddharsh

Copy link
Copy Markdown
Owner

Follow-up to #526, which moved the photo pipeline to TypeScript and says in its own message that it rewrote "the shell scripts that invoke them". It got one of the four and missed three.

script call file on disk
add-photos.sh check-photo-pipeline.ts ok, #526 fixed this one
extract-photo-metadata.sh build-exif-index.mjs build-exif-index.ts
extract-photo-metadata.sh build-histogram-index.mjs build-histogram-index.ts
hash-thumbnails.sh build-image-fingerprints.mjs build-image-fingerprints.ts

All three throw MODULE_NOT_FOUND on main right now, because nothing answers to those names any more. Two of them are the steps that roll the per-photo files into the two committed indexes, so the failure lands after the expensive work rather than before it.

Same family as #525, and the reason a sweep misses these is the same: the specifier is assembled from a variable and a literal, so no grep for the assembled form can see it. That is gotcha 29's blind spot, third instance.

node is still correct in front of these. Node 26 runs a .ts file directly via type stripping, verified here, so only the name was wrong.

Controls

All three resolve and run after the change.

  • build-image-fingerprints.ts exits 0 on a clean checkout.
  • The other two exit 1 on a missing public/images/meta/, which is the gitignored build output extract-photo-metadata.sh writes earlier in the same script. Standalone in a clean tree that is the honest answer, and it is a different failure from the one being fixed: before, they died at module resolution; now they die inside their own function on absent input.
  • With that directory present, both exit 0 and regenerate exif.json and histograms.json byte-identically against the committed copies, so no artifact drift.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 24, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
aadhar-sh e386ffe Aug 24 2026, 01:14 AM

…named

#526 moved the photo pipeline to TypeScript and says it rewrote "the shell
scripts that invoke them". It got add-photos.sh (check-photo-pipeline.ts) and
missed three:

  extract-photo-metadata.sh  build-exif-index.mjs        -> .ts
  extract-photo-metadata.sh  build-histogram-index.mjs   -> .ts
  hash-thumbnails.sh         build-image-fingerprints.mjs -> .ts

All three throw MODULE_NOT_FOUND, because no file answers to those names any
more. Two of them are the steps that roll the per-photo files into the two
committed indexes, so the failure lands after the expensive work rather than
before it.

This is the same family as the rest of this branch and it is why the branch
exists: a rename that a grep for the old string cannot find, in a pipeline
nobody has run since the moves, so the break sits there looking fine. Worth
noting that the extension is the visible half. The reason a sweep misses these
is that the specifier is assembled from a variable and a literal, which is
gotcha 29's blind spot again.

node 26 runs a .ts file directly (type stripping), verified here, so `node` is
still correct in front of these and only the name was wrong.

Controls, all three run after the change. build-image-fingerprints.ts exits 0
on a clean checkout. The other two exit 1 on a MISSING public/images/meta,
which is the gitignored build output that extract-photo-metadata.sh writes
earlier in the same script, so standalone in a clean tree that is the honest
answer; with the directory present both exit 0 and regenerate exif.json and
histograms.json byte-identically, no drift against the committed copies.
@oddharsh
oddharsh force-pushed the claude/photos-ts-callsites branch from 9292d20 to e386ffe Compare August 24, 2026 01:12
@github-actions

Copy link
Copy Markdown
Contributor

Wire-size diff vs merge base

1988915 → 663a336

Brotli q11, the quality the edge serves. Every number here is deterministic:
an unchanged file produces no row. Advisory — this check fails on nothing.

Client assets

No change. 22 files, 77.74 KiB Brotli total.

Pages

No change. 50 files, 531.29 KiB Brotli total.

Worker bundle

No change. 237.91 KiB gzip.

Dictionary deltas (pd/)

No change. 146 deltas, 492.24 KiB total.

@oddharsh
oddharsh merged commit 0db8fda into main Aug 24, 2026
6 checks passed
@oddharsh
oddharsh deleted the claude/photos-ts-callsites branch August 24, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant