Skip to content

[fix] content refs: scenes@format-2 and packs@format-1, never a semver-looking name (#230) - #235

Merged
AlexZ005 merged 1 commit into
release/nextfrom
fix/29f-scenes-ref
Sep 20, 2026
Merged

AlexZ005 merged 1 commit into
release/nextfrom
fix/29f-scenes-ref

Conversation

@AlexZ005

Copy link
Copy Markdown
Collaborator

Core half of #230 (production is already unblocked by the cloud .env.deploy VITE_SCENES_BASE=…scenes@main override, which stays until this ships).

Measured, not assumed. format-2 (scenes, a5ebe8f) and format-1 (packs, 03b9568) were pushed as plain tags; jsDelivr reports both x-jsd-version-type: branch with s-maxage=43200, while @v2/@v1 are version + cache-control: immutable (one year) — which is why a retag of v2 was a no-op forever. scenes@format-2/index.json lists all six games.

  • SCENES_BASEscenes@format-2, PACKS_BASEpacks@format-1; contentBase() untouched, the override still wins.
  • tests/unit/contentBase.test.js (4): override wins / absent = fallback byte-identical / the two consumers' source literals are the format-N refs / no fallback ref matches jsDelivr's version rule. Counterfactual: scenes@v2 restored → 2 red.
  • The three games suites' feed fallback and the one packs@v1 asset URL in author-templates.cjs follow.
  • Docs: JSDoc on both consts, PACKS.md, CLAUDE.md gotcha closed, e2e skill.

End state, built with NO VITE_SCENES_BASE: bundle contains scenes@format-2 / packs@format-1 once each; curl of that index → x-jsd-version-type: branch, games count: 6 (towers, stars-room, football, jam-room, dungeon-realms, untangle).

Gates: svelte-check 336/47 with byte-identical message lists · vitest 182 (base 178) · held suites: game-untangle 46, game-dungeon-realms 64, game-football 102, templates-modal 45, template-modules 27, packs+sessions-packs 94, contest-starters 27, game-towers 20, game-stars-room 36 — all at or above base · build green server-down.

Companion doc PRs: theprototype-app/scenes#7, theprototype-app/packs#1, theprototype-app/cloud#28.

🤖 Generated with Claude Code

…r-looking name (#230)

- SCENES_BASE default moves scenes@v2 -> scenes@format-2 and PACKS_BASE packs@v1 ->
  packs@format-1; contentBase() is untouched, so the deploy-time VITE_* override still
  wins (production keeps VITE_SCENES_BASE=...scenes@main until this release ships)
- WHY: jsDelivr parses `v2` as a SEMVER VERSION (`x-jsd-version-type: version`,
  `cache-control: immutable` for a year), so `git tag -f v2` was a no-op forever and four
  purges changed nothing -- the Games tab shipped three games while the feed had six.
  Measured today: a plain TAG named `format-2` (scenes, a5ebe8f) and `format-1` (packs,
  03b9568) are reported `x-jsd-version-type: branch` with `s-maxage=43200`, and
  scenes@format-2/index.json lists all six games (towers, stars-room, football, jam-room,
  dungeon-realms, untangle). packs@v1 was the identical trap, unexploded only because it
  had never been retagged, so it moves in the same change
- the three games suites' feed fallback follows (game-untangle / game-football /
  game-dungeon-realms), plus the one packs@v1 asset URL in scripts/author-templates.cjs
  (sha256-pinned, same bytes at format-1)
- tests/unit/contentBase.test.js (4): the override wins with a trailing slash trimmed; an
  absent override ships the fallback byte-identically; the two consumers' SOURCE literals
  are the format-N refs; and no shipped fallback names a ref jsDelivr would parse as a
  version. Counterfactual: scenes@v2 restored in sceneTemplates.js -> 2 of 4 red
  ("the scenes default is scenes@format-2" and "no shipped fallback names a ref jsDelivr
  would parse as a semver version"); restored byte-identically -> 4/4
- docs: the SCENES_BASE/PACKS_BASE JSDoc carries the ritual and the measurement; PACKS.md,
  CLAUDE.md (games-suite line + the #230 gotcha closed) and the e2e skill name the new refs.
  The scenes/packs READMEs and cloud's .env.deploy.example move in their own PRs
  (scenes#7, packs#1, cloud#28)
- gates: svelte-check 336/47 with byte-identical message lists; vitest 182 (base 178);
  battery held (see the handover table); build green server-down

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@AlexZ005
AlexZ005 merged commit 316a43c into release/next Sep 20, 2026
4 checks passed
@AlexZ005
AlexZ005 deleted the fix/29f-scenes-ref branch September 20, 2026 10:12
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