chore(ops): carry FLOWSHEET_TAKEOVER_ENABLED through the env-var allowlist - #2389
Merged
Conversation
This was referenced Sep 8, 2026
…wlist The flag has shipped dormant since BS#2233 and there is no supported way to light it up: `set-ec2-env-var.yml`'s resolve step hard-fails with "Unsupported secret_name" on any key missing from its env block, and this one was never added, so production has run the pre-BS#2233 silent co-host attachment the whole time. Turning it on today means a hand-edit of the EC2 host's `.env` over SSH, which leaves no record and no rollback path. Adds the key to the env block and the resolve `case`, matching STATION_SIGNUP_ENABLED: strict `=== 'true'` reader, so the secret holds lowercase `true` and rollback is `false` rather than an empty value. `restart_target=backend` is required and not incidental — unlike the cron-invoked station-signup keys, the backend is a long-running container that reads its env once at boot.
jakebromberg
force-pushed
the
chore/takeover-flag-allowlist
branch
from
September 8, 2026 18:33
27898fd to
9874f50
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2388.
FLOWSHEET_TAKEOVER_ENABLEDhas shipped dormant since BS#2233 and cannot be turned on through any supported path:set-ec2-env-var.yml's resolve step hard-fails withUnsupported secret_nameon any key absent from its env block, and this one was never added — it appears intest.ymlanddev_env/docker-compose.ymlonly. Production has therefore run the pre-BS#2233 silent co-host attachment continuously, most recently absorbing five DJs into show1951317over 14.5 hours whiledjs-on-airnamed four of them at once. #2388 has the full trace.This adds the key to the env block and the resolve
case, matchingSTATION_SIGNUP_ENABLED, and records the operational contract indocs/env-vars.md.Two things the comment makes explicit, both easy to get wrong:
true, and rollback isfalse— never empty. The reader is a strict=== 'true'comparison throughcreateEnvFlagConfig, soTRUEreads as false and cannot use the uppercase log-safety workaroundENRICHMENT_SUPPRESS_LML_BUDGETuses. Expect::add-mask::to redact the word "true" elsewhere in the run's logs. Clearing the value instead of settingfalsehard-fails the resolve step.restart_target=backendis required, not incidental. Unlike the cron-invokedSTATION_SIGNUP_*keys — whichdocker run --env-file .envre-reads every run, making their restart pure collateral — the backend is a long-running container that reads its env at boot.No behavior change lands with this PR. The workflow is only dispatchable manually, and the flip is a separate ops step: set the repo secret, then dispatch with
key=FLOWSHEET_TAKEOVER_ENABLED restart_target=backend.Rollout preconditions (verified 2026-09-08)
BS#2233's note requires every 409-aware client to ship before the flip. dj-site's handoff prompt (
readShowAlreadyOpen/useGoLiveHandoff) is onmainand deployed, and already renders today off thedjs-on-airpoll — the flip is what makes its "End Existing Show" button do what it says. auto-dj-orchestrator became 409-aware on 2026-08-30 (4e15cb67,b33f2d5f) and is not deployed regardless: no deploy workflow, and noNEXT_PUBLIC_ORCHESTRATOR_URLin dj-site production.Testing
npm run check:doc-rulesandnpm run check:doc-budgetpass; the remaining warnings are pre-existing onmain.casearm is present.