Skip to content

chore(relay): move Asia cell c31 to the general same-cap lists after promotion - #24318

Merged
Jinwoo-H merged 1 commit into
mainfrom
relay-asia-c31-general
Oct 1, 2026
Merged

Jinwoo-H merged 1 commit into
mainfrom
relay-asia-c31-general

Conversation

@Jinwoo-H

@Jinwoo-H Jinwoo-H commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 4 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​28 $\color{#cf222e}{\Huge{\mathbf{−}}}$​17 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​11
Prod 3 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​6 $\color{#cf222e}{\Huge{\mathbf{−}}}$​7 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1

ELI5

The new Asia relay server C31 graduated from "test only" to serving regular traffic on 2026-10-01. Our rollout tooling still listed it as test-only, so it disagreed with the live production setup. This updates the tooling's lists so they match.

What Changed

  • Before: the same-cap rollout tooling still classified C31 as migration-only, a cell that takes no regular traffic. The live director now admits C31 as a general cell. That mismatch made the tooling refuse to roll any Asia cell, because its pre-roll check compares the expected migration-only set against what production reports.
  • After: the lists match the live selector. C31 is a general cell beside C27-C30, and only C17 and C18 remain migration-only.

Mechanism, one list at a time:

  • The same-cap wave script's migration-only list decides whether a cell's roll isolates and restores it (two selector changes) or leaves it isolated (none). It also forbids mixing the two kinds in one wave. C31 moves to the general list.
  • The shadow health gate's fleet pool list names the Asia cells whose database-pool metrics it reads after a roll. C31 now serves, so it joins C27-C30.
  • The docs record that C31 was promoted on 2026-10-01.
  • Tests that pinned C31 as migration-only now pin it as general. They check it rolls beside C30 and is refused in a wave with C18. The census and capacity-canary allowlist tests move it the same way.

Why

The C29 and C28 rolls are blocked on this mismatch. This mirrors exactly what #22439 did for C30 after its promotion. No terraform values, workflows, or other cells change.

Linked Issue

N/A, maintainer follow-up to the C31 promotion.

Visual Proof

N/A. Release tooling only, with no UI change.

Testing

Each of these passes with node --test in cloud/dev/scripts: the same-cap wave, same-cap script census, shadow gate, capacity canary, rehome trust probe, Asia admission, and capacity wave tests.

  • Automated tests added/updated, or explained why not below

Agent skill upstream boundary

  • Not applicable, or this change follows docs/reference/agent-skill-sharing-upstream-boundary.md and copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.

Checklist

  • This PR is small and focused
  • I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
  • Before/after screenshots or videos attached for UI changes, or N/A with reason
  • Self-reviewed for correctness, security, and performance
  • Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)

…promotion

Claude-Session: ced32ebb-7155-4413-adad-1eccd14c2010
@greptile-apps

greptile-apps Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[High risk] Moves a production relay cell from migration-only to general capacity.

The PR appears safe to merge; no actionable issue was identified.

Summary

The PR updates release tooling to treat promoted Asia cell C31 as a general same-cap cell.

  • Moves C31 out of the migration-only list and into the shadow gate’s fleet-pool checks.
  • Updates rollout, canary, census, and shadow-gate tests and records the promotion in the workflow documentation.

Reviews (1) · Last reviewed commit: "chore(relay): move Asia cell c31 to the ..."

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

  • SAME_CAP_MIGRATION_ONLY_CELLS shrinks to C17/C18 — production-gce-c31 moves to SAME_CAP_CELLS, so entryAdmission/selectorWaveDelta now report it as general / delta 2.
  • Shadow gate fleet pool gains C31 — FLEET_POOL_CELL_IDS now reads C31's database-pool metrics beside C27-C30.
  • Docs record the promotion — relay-workflows.md notes C31 was promoted to general on 2026-10-01.
  • Tests moved in lockstep — the wave, script-census, shadow-gate, and capacity-canary tests now pin C31 as general, including rolling beside C30 and being refused in a wave with C18.

This is a faithful mirror of the C30 promotion (51c3434851, #22439) — the same seven-file set. The cross-references all hold: C31 remains in relay_region_rehome_source_cell_ids, so the script-census equality (non-rehome same-cap == migration-only) still balances, and the asia-admission and terraform cell lists already admitted C31. I ran the four affected node --test files in cloud/dev/scripts — 66/66 pass.

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

@coderabbitai

coderabbitai Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

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 configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 87298291-61a7-4024-97bb-9c25f0f69f68

📥 Commits

Reviewing files that changed from the base of the PR and between 3e5c8d9 and f4610fb.

📒 Files selected for processing (7)
  • cloud/dev/scripts/prepare-relay-production-capacity-canary.test.mjs
  • cloud/dev/scripts/relay-production-same-cap-wave.mjs
  • cloud/dev/scripts/relay-production-same-cap-wave.test.mjs
  • cloud/dev/scripts/relay-same-cap-script-census.test.mjs
  • cloud/dev/scripts/relay-same-cap-shadow-gate-verdict.mjs
  • cloud/dev/scripts/relay-same-cap-shadow-gate.test.mjs
  • cloud/docs/relay-workflows.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

C31 moves from the migration-only list to the general same-cap cell list. Tests cover its admission and batch behavior. C31 is also added to the shadow-gate fleet pool and its test checks. The workflow documentation records its promotion and fleet-pool inclusion.

Priority: ➖ Normal

Merge Risk: ⚪ Minimal · up to f4610

C31 is included in same-cap admission and fleet-health checks. The reviewed changes show no remaining merge-blocking regression.

Security Architecture Review

Security architecture risk: 🔵 Low · up to f4610

C31 inherits the existing serving-cell rollout safeguards and gains fleet monitoring coverage. No introduced security bypass was established, but live admission state and interruption-recovery guarantees remain incompletely verified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The changed rollout behavior reaches C31's production template/MIG and the shared director admission selector. Draining can redistribute hosts across the relay fleet, so operational effects are not limited to C31. Existing targeted-plan validation constrains the requested infrastructure change; effective credential privileges were not established.

Trust Boundaries and Controls

  • observed — Operator-selected inputs enter the existing main-branch, production-environment workflow. The job obtains configured workload identities, checks live selector membership and disabled rehome state, and acquires the rollout lease. Admin calls require a token and parser-validated exact director and cell origins; the PR does not change these declarations.

Resilience and Maintainability Implications

  • observed — The selector client rejects stale expected state, submits generation-bound mutations, recognizes already-matching membership as a no-op, and reconciles ambiguous responses against committed intent. The workflow serializes cells, rejects mutation reruns and declares an always-run lease finalizer. Failure isolation is best-effort and failure-conditioned; these declarations do not guarantee cleanup after cancellation or hard interruption.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: moving Asia cell C31 into the general same-cap lists after promotion.
Description check ✅ Passed The description is complete and focused. It explains the before and after states, the mechanism, the reason for the change, the testing performed, and the lack of UI impact. The maintainer exception e…
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 6 files. (1 skipped: 1 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Jinwoo-H
Jinwoo-H merged commit 6b8ca27 into main Oct 1, 2026
28 checks passed
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