unified development activity dev.permadeath.com

fix(publish): upload hashed assets before the pages that load them #237

Merged permadeath.com
targeting main from claude/publish-order
Merged opened by and assigned to permadeath.com
targeting main from claude/publish-order

The site now ships app.<hash>.js and style.<hash>.css, named by a hash of their content, and index.html and 404.html load those names. Publish uploads assets first, then data/, then HTML, so a page never goes up before the files it names. Hashed files get a one-year immutable cache, and a deploy reload no longer refetches the old names.

Before, a reader could get a new index.html with last run's script or stylesheet, or the reverse, while an upload was in progress.

Verified: cargo fmt --check, clippy (aws, -D warnings), cargo test (177 passed with aws, 166 without) and node --check. Main already has #223, so no local patch was needed.

🤖 Generated with Claude Code

Commits 0