Skip to content

backend-listen prod: explicit SERVER_BATCH_ONLY_MOBILE_PERCENT=0 - #23838

Merged
Git-on-my-level merged 2 commits into
mainfrom
accel3/listen-mobile-percent-default
Oct 27, 2026
Merged

Git-on-my-level merged 2 commits into
mainfrom
accel3/listen-mobile-percent-default

Conversation

@Git-on-my-level

@Git-on-my-level Git-on-my-level commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Summary

Make the mobile server-batch-only cohort (ruling 73b217) an explicit, reviewed value on the prod listen chart: SERVER_BATCH_ONLY_MOBILE_PERCENT=0.

Until now the variable was absent from backend-listen, so the code default (0, in config/server_batch.py) applied silently. With an explicit value:

  • the paired 25% step becomes a one-line values PR ("0" → "25") that rides a normal listen roll pinned to the morning image;
  • rollback is the same line set back to "0".

No behavior change: the value stays 0.

Changes

  • backend/charts/backend-listen/prod_omi_backend_listen_values.yaml: adds SERVER_BATCH_ONLY_MOBILE_PERCENT: "0" next to BATCH_PIPELINE_PERCENT. This is the single declaration: the feature-flag registry forbids a new ramp flag in two sources, existing duplicates are allowlisted only until 2026-11-20 (workstream B), and the listen roll applies this values file (helm -f).
  • backend/docs/feature-flag-registry.md: regenerated (scripts/render_feature_flag_registry.py --as-of 2026-10-22). Only this flag's row changes, now recording the listen declaration of 0.
  • config/deployment-setting-classification.json: classifies SERVER_BATCH_ONLY_MOBILE_PERCENT as config, a non-secret setting (like BATCH_PIPELINE_PERCENT), for the deployment secret-boundary ratchet.
  • backend/scripts/verify_pusher_cohost_env_diff.py: adds the flag to LISTEN_ONLY_ALLOWED["prod"] with a reason. Consumer audit (confirmed by review): the only reader is server_batch.selected(), reached via request_eligible() and via eligible() ← create_in_progress_conversation, both called only from routers/listen; pusher's finalizer uses owned()/has_audio(). Pusher never admits capture, so it does not get the value.
  • backend/tests/unit/test_backend_listen_helm_defaults.py: test_prod_listen_carries_an_explicit_zero_mobile_batch_only_percent. It asserts exactly one explicit "0" in the prod values, and that the value reaches the rendered container env in helm template.

No .github change; the existing listen deploy workflow applies chart values.

Verification

  • pytest tests/unit/test_backend_listen_helm_defaults.py tests/unit/test_backend_runtime_env_validator.py: 160 passed. The runtime env validator confirms the manifest/values alignment.
  • backend/scripts/pre-deploy-check.sh (static): 341 passed, "pre-deploy checks passed".
  • scripts/check_feature_flag_registry.py: "feature-flag registry: OK". runtime_env.yaml is unchanged from main.
  • Independent Luna review (one round, read-only): SHIP. Its P3 (name both listen paths in the allowlist reason) is fixed in d317196.
  • Pre-push gate passed on every push; no skip hatches.

Product invariants affected

  • INV-MEM-4: not affected. This only adds a listen env value that stays 0; no memory intake, consolidation or promotion path changes.

Failure class (fixes)

Not a fix; no declaration required.

Rollout

Ramp, deploy and merge decisions are lead-owned (two-lane rollout lead). This PR is MERGE READY only. The 25% step is a later separate values PR, applied after the batch Cloud Run services serve 25% (paired-step order).

🤖 Generated with Claude Code

The mobile server-batch-only cohort (ruling 73b217) was an absent default on
the listen chart. Make it a reviewed explicit 0 in the prod listen values (the
single declaration the feature-flag registry allows for a ramp flag; the
listen roll applies the values file), so the paired 25% step is a one-line
values change and rollback is the same line at 0. Regenerates the registry
doc and adds a test that the value reaches the rendered container env.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T22:12:42.555345Z 15a5123 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

…ohort (Luna r1 P3)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Git-on-my-level
Git-on-my-level merged commit 08ff6c6 into main Oct 27, 2026
62 checks passed
@Git-on-my-level
Git-on-my-level deleted the accel3/listen-mobile-percent-default branch October 27, 2026 22:26
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