Current scope: publish and maintain the already deployed Stacks application at https://the-settlers-remake.stacksjs.com. The server application, guest demo, authenticated game and original-media web channel supersede the historical static-only plan below, as recorded in the 2026-10-30 implementation comment and docs/content/permissions/. Those owner decisions are not rights-holder grants.
Current acceptance:
- Public HTTPS home has the correct title, a guest demo, original-game credit and a readable mobile layout. Direct live HTTP and five real Chrome viewport checks passed on 2026-11-01.
- Attachment and domain are read from protected deployment configuration, without publishing host identity.
- Local and CI browser acceptance exercise guest play, sign-in gating and registration in a disposable environment.
- Run the maintained deployment workflow with its post-cutover public page, decoded-image and sign-in-gate checks, retaining the actual run and rollback outcome if triggered.
- Retain regressions for invalid pages, missing routes, corrupt or truncated images, and an incorrect or bypassed game redirect.
Related: #103, #25, stacksjs/stacks#3083. The production deployment and post-cutover smoke gate passed in run 41387712090 (https://github.com/stacksjs/the-settlers-iii-remake/actions/runs/41387712090). Full native and Gold Edition qualification remain separate.
Historical original scope (preserved):
A public landing page lives in site/ and is declared as the only deployed site in config/cloud.ts. It carries no original media, because redistribution rights are unverified (bun run publication:check --channel web) and the playable game therefore cannot be published yet.
Acceptance:
site/is served at https://the-settlers-remake.stacksjs.com with working TLS, the page title and a readable mobile layout.- The deploy attaches to the shared Stacks box through
CLOUD_ATTACH_TOsupplied by the encrypted production environment or a protected CI secret. No host, address or token appears in tracked files. - DNS for the subdomain exists and the deploy workflow's post-deploy smoke check requests the live page.
- A unit regression keeps original media, em-dashes and server names out of the public site and config (
tests/unit/cloud-config.test.ts).
Related: #103 (finished release), #25 (adopt published foundation releases). The playable game stays off the public site until a reviewed grant exists in docs/content/policy.ts.