Repository navigation
chore(relay): treat Asia cell c30 as a general cell now that it is promoted - #22439
Conversation
…omoted C30 was promoted to general on 2026-09-23 (selector generation 286). The same-cap wave now rolls it as a general cell instead of handing it back isolated, and the shadow gate reads its pool beside C27-C29. Follow-up to #22375. Claude-Session: https://claude.ai/code/session_01JNnE9qzUZMMnqpZWCqM3nb
|
This run was cancelled 🛑 The workflow was cancelled before completion. Please check the link below for details. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (7)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughC30 moves from the migration-only class to the general same-cap class. The shadow-gate fleet-pool list and its test coverage now include C30. Related tests and workflow documentation reflect the updated classification. Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to C30 is treated as a general cell and included in fleet-pool checks. No actionable issue remains before merge beyond normal checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |

ELI5
The fourth Hong Kong relay server, c30, now serves users like its three siblings. Two operational scripts still treated it as a standby server. This PR tells them it is a normal serving server now.
What Changed
Before: the same-cap rollout script listed c30 as migration-only, beside the US standby cells c17 and c18. Rolling c30 would have handed it back isolated, taking a serving cell out of rotation. The shadow health gate also left c30 out of the Asia database-pool checks.
After: c30 is in the same-cap general list with c27-c29. A roll now isolates and restores it like any serving cell, advancing the selector by two. The shadow health gate reads c30's pool beside c27-c29. Only c17 and c18 stay migration-only.
Changed files:
relay-production-same-cap-wave.mjs: c30 moves from the migration-only list to the general list.relay-same-cap-shadow-gate-verdict.mjs: c30 joins the fleet pool list.cloud/docs/relay-workflows.md: the paragraph now records the promotion and the rule for any later Asia cell.Nothing deployed changes. Terraform, tfvars, and workflows are untouched. The same-cap job's case list already carried c30 at the 3,000 cap, asia-east2, pool 16.
Why
C30 was promoted to general in the live admission selector on 2026-09-23 at generation 286. #22375 listed it as migration-only until then, and named this change as the follow-up. It was kept out of the fleet pool list until it served, because a cell with no metrics reads as unverified and turns every verdict into a warning. It serves now, so both lists move together as planned.
Linked Issue
N/A. Follow-up to #22375.
Visual Proof
N/A. Operational scripts and docs only, no UI.
Testing
Run from
cloud/withnode --test:relay-production-same-cap-wave.test.mjs: 17 passrelay-same-cap-shadow-gate.test.mjs: 20 passrelay-same-cap-script-census.test.mjs: 25 passprepare-relay-production-capacity-canary.test.mjs: 13 passdev/scripts/*relay*.test.mjsfiles: 0 failuresnode dev/scripts/relay-cloud-sql-connection-budget.mjsstays within budget with four Asia cells at pool 16. operatingMaximum is 419 against a usableCeiling of 490, leaving 71.