Skip to content

fix(OMN-12987): project-namespace forward-migration container_name to stop cross-lane collision - #1981

Merged
jonahgabriel merged 1 commit into
devfrom
jonah/omn-12987-forward-migration-container-name
Jun 14, 2026
Merged

jonahgabriel merged 1 commit into
devfrom
jonah/omn-12987-forward-migration-container-name

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Jun 14, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Project-namespaces the forward-migration container so it stops colliding across compose projects on the same host. The base docker-compose.infra.yml named it omnibase-forward-migration — the only base container_name not carrying the omnibase-infra-* prefix that every other base service uses (postgres, redpanda, valkey, ...). Since container_name is an absolute Docker name that ignores the compose -p project prefix, the bare name collided: a leftover dev-lane forward-migration container blocked a stability-lane rebuild, breaking clean deploy-runtime.sh end-to-end deploys (FINDING #4).

Renamed to omnibase-infra-forward-migration, which both follows the base convention and matches the lane-overlay form (omnibase-infra-stability-test-forward-migration, ...). The container name is now the derivable <compose-project>-forward-migration.

Coordinated changes (nothing references the old literal afterward)

  • docker/catalog/services/forward-migration.yaml — container_name updated. The catalog is the source of truth: deploy-agent regenerates docker-compose.infra.yml from it (omnibase_infra.docker.catalog.cli generate). Verified the generator now emits omnibase-infra-forward-migration, matching the committed compose.
  • docker/docker-compose.infra.yml — container_name updated (+ rationale comment).
  • scripts/deploy-runtime.sh — the migration preflight no longer hard-codes docker wait omnibase-forward-migration (the lane-blind name that false-failed stability deploys). It now derives ${compose_project}-forward-migration so the wait targets the lane being deployed. The projection-table probe is fixed the same way: it derived ${compose_project}-postgres instead of the hard-coded omnibase-infra-postgres, so a stability deploy probes its own postgres.
  • tests — PRODUCTION_CONTAINER_NAMES sets updated to the new base name in test_stability_test_runtime_lane.py and test_stability_test_runtime_compose_render.py.

dod_evidence

  • test_stability_test_runtime_lane.py: 19 passed
  • test_omn8738_compose_migration_manifests.py: 36 passed
  • deploy-agent test_executor_compose_gen.py: 14 passed
  • catalog generate runtime-infrastructure: container_name: omnibase-infra-forward-migration (catalog/compose in sync)
  • bash -n scripts/deploy-runtime.sh: OK
  • grep: no remaining live reference to the bare omnibase-forward-migration (only an explanatory comment naming the old form)
  • pre-commit ran on commit (no --no-verify)

Note: a clean stability-lane deploy-runtime.sh re-prove requires Docker on the .201 server (not available in CI sandbox); see the combined re-prove note in the handoff.

OCC pairing

Honest OCC pairing: this is the infra half of OMN-12987; the OCC half is #2619 (deploy-context-json), already open on OCC dev.

OMN-12987
Evidence-Ticket: OMN-12987
Evidence-Source: OCC#2619

… stop cross-lane collision

The base docker-compose.infra.yml named the forward-migration container
"omnibase-forward-migration" — the one base container_name NOT carrying
the omnibase-infra-* prefix that every other base service uses (postgres,
redpanda, valkey, ...). Because container_name is an absolute Docker name
that ignores the compose -p project prefix, the bare name collided across
compose projects on the same host: a leftover dev-lane forward-migration
container blocked a stability-lane rebuild, breaking clean
deploy-runtime.sh end-to-end deploys.

Fix: rename to omnibase-infra-forward-migration so it follows the same
convention as the other base services AND the lane overlays
(omnibase-infra-stability-test-forward-migration, etc.). The container
name is now the derivable form <compose-project>-forward-migration.

Coordinated changes (nothing references the old literal afterward):
- docker/catalog/services/forward-migration.yaml: container_name updated.
  The catalog is the source of truth — deploy-agent regenerates
  docker-compose.infra.yml from it (verified: catalog generate now emits
  omnibase-infra-forward-migration, matching the committed compose).
- docker/docker-compose.infra.yml: container_name updated (+ rationale).
- scripts/deploy-runtime.sh: the migration preflight no longer hard-codes
  "docker wait omnibase-forward-migration" (a lane-blind name that
  false-failed stability deploys). It now derives
  ${compose_project}-forward-migration so the wait targets the lane being
  deployed. The projection-table probe is fixed the same way: it derived
  ${compose_project}-postgres instead of the hard-coded
  omnibase-infra-postgres, so the stability deploy probes its own postgres.
- tests: PRODUCTION_CONTAINER_NAMES sets updated to the new base name in
  test_stability_test_runtime_lane.py and
  test_stability_test_runtime_compose_render.py.

Verification:
- test_stability_test_runtime_lane.py: 19 passed
- test_omn8738_compose_migration_manifests.py: 36 passed
- deploy-agent test_executor_compose_gen.py: 14 passed
- catalog generate (runtime-infrastructure): container_name =
  omnibase-infra-forward-migration (catalog/compose in sync)
- bash -n scripts/deploy-runtime.sh: OK
- grep: no remaining live reference to the bare omnibase-forward-migration

OMN-12987
@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@jonahgabriel, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 1 hour, 56 minutes, and 2 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: bcef66c7-b3f6-4b93-b002-892297366690

📥 Commits

Reviewing files that changed from the base of the PR and between c513071 and caebc47.

📒 Files selected for processing (5)
  • docker/catalog/services/forward-migration.yaml
  • docker/docker-compose.infra.yml
  • scripts/deploy-runtime.sh
  • tests/integration/infra/test_stability_test_runtime_compose_render.py
  • tests/unit/infra/test_stability_test_runtime_lane.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-12987-forward-migration-container-name

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

@jonahgabriel
jonahgabriel enabled auto-merge June 14, 2026 08:43
@jonahgabriel
jonahgabriel added this pull request to the merge queue Jun 14, 2026
Merged via the queue into dev with commit 40c849e Jun 14, 2026
71 of 74 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-12987-forward-migration-container-name branch June 14, 2026 09:17
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