Skip to content

Tiger_Theme::activate() seam + headless install docs + v-tag guard (TIGER-124) — 1.7.0 - #268

Merged
WebTigers merged 1 commit into
mainfrom
feat/theme-activate-seam
Sep 14, 2026
Merged

WebTigers merged 1 commit into
mainfrom
feat/theme-activate-seam

Conversation

@WebTigers

Copy link
Copy Markdown
Owner

Summary

  • Tiger_Theme::activate() / deactivate() — theme activation extracted from System_Service_Modules into a library seam so the headless installer (WebTigers/TigerHeadless, TIGER-124) and the admin share one authority. Service rewired; behaviour unchanged.
  • INSTALL.md — the headless install documented as the third path (design of record for TigerHeadless).
  • release-zip.yml — refuses a release tag that isn't v<semver>. Tiger_Update_Core::resolveRelease() fetches /releases/tags/v<version>; the bare 1.6.3/1.6.4 tags made both releases invisible to the updater (re-tagged today).
  • Version 1.7.0 (new @api surface).

Test plan

  • New tests/Integration/Theme/ThemeActivateTest (4 tests: link + config, idempotent over a stale link, deactivate only-when-active, non-theme refused).
  • Existing ModulesServiceThemeTest passes through the new seam.
  • Full suite: 2352 tests green locally.
  • Headless installer proven end to end against a real bundle + DB with this seam (theme-grey-mist installed, activated, served).

🤖 Generated with Claude Code

https://claude.ai/code/session_01L8p9pLJ3DFstG3xZuh2QgZ

…L.md, v-tag guard (TIGER-124)

Theme activation (tiger.theme config + the public/<assetBase> link with
copy fallback) lived only inside System_Service_Modules, so the headless
installer would have had to re-implement it. Extracted to Tiger_Theme as
the one authority; the service now calls it. ThemeActivateTest covers the
link, idempotent re-activation over a stale link, and that deactivating a
non-active theme changes nothing. The public dir resolves from PUBLIC_PATH
when booted, else APPLICATION_ROOT/public (CLI + tests).

INSTALL.md documents the headless path as the third install path and the
design of record for TigerHeadless.

release-zip.yml refuses a release tag that is not v<semver>: resolveRelease()
fetches /releases/tags/v<version>, so the bare 1.6.3/1.6.4 tags published
vendored ZIPs the updater could not find (both re-tagged as v1.6.3/v1.6.4).

Version 1.7.0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L8p9pLJ3DFstG3xZuh2QgZ
@WebTigers
WebTigers merged commit fce58e8 into main Sep 14, 2026
14 checks passed
@WebTigers
WebTigers deleted the feat/theme-activate-seam branch September 14, 2026 08:39
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