Repository navigation
feat(OMN-19522): the dev-202 deploy-agent instance runs its own composition with the .201-only phases off - #4101
Merged
Conversation
…e overlay Second-deploy-slot plan task B2 (epic OMN-19500). A dev-shaped lane on the .202 host, layered on the dev composition, with its own Postgres, Redpanda and Valkey, loopback ports in the 61xxx block, its own Bifrost overlay with no local model rung, and every service the .201 dev lane declares under a dev-202 name. Keycloak and Infisical are disabled; onex-api and its cloud migrations are profile-gated. Declared, not built.
…nstance by a declared table Second-deploy-slot plan task B3 (epic OMN-19500). config/deploy_lane_routing.yaml maps a dev command's requesting repository to one agent instance and names dev-201 as the pinned default. Each instance subscribes with its own declared consumer group (dev-201 keeps onex-deploy-agent so .201's offsets carry over) and skips a command routed elsewhere, committing its offset and publishing nothing, before the busy and duplicate checks. The route is read from the table at the command's own git_ref, as the TLA+ model on the ticket requires. The committed table routes nothing to dev-202 yet.
…to jonah/omn-19522-dev-202-executor-lane
…sition with the .201-only phases off The executor keys the dev lane's compose files, project, build project, postgres container, health targets and main runtime container by the routing instance the agent resolved (OMN-19506), selected once at agent start. The dev-202 instance renders the infra + dev-lane + dev-202 triple under omnibase-infra-dev-202 with health ports 61085/61086, never names the services its overlay disables, and skips the gateway deploy, the k3s onex-lab overlay and repair build, the onex-api pin delivery and the Infisical seed. dev-201 and a router-less agent are unchanged. Adds scripts/deploy-agent/deploy/deploy-agent-dev-202.service (not installed: decision 19 of the unified verification plan) and a names-only dev-202.env.template derived from the compose triple's required names.
onexbot-occ-writer Bot
pushed a commit
to OmniNode-ai/onex_change_control
that referenced
this pull request
Sep 25, 2026
…fra#4101 OCC companion by node_pr_lifecycle_fix_effect (OMN-13317 F1 / OMN-13990 / OMN-14285). Product PR head 65eba4b6762cc993b06e5c992dca88a75df20351.
This was referenced Sep 25, 2026
Merged
jonahgabriel
pushed a commit
to OmniNode-ai/onex_change_control
that referenced
this pull request
Sep 25, 2026
#11207) * evidence(OMN-19522): author OCC companion for OmniNode-ai/omnibase_infra#4101 OCC companion by node_pr_lifecycle_fix_effect (OMN-13317 F1 / OMN-13990 / OMN-14285). Product PR head 65eba4b6762cc993b06e5c992dca88a75df20351. * evidence(OMN-19522): self-bind OCC#11207 + rebind contract_sha256 --------- Co-authored-by: omnimarket-bot <bot@omninode.ai>
Contributor
|
| Surface | Meaning | Blocks merge? |
|---|---|---|
| Review threads | Per-finding, posted by the reviewer | No (informational) |
Hostile Review Thread Gate |
Deterministic: unresolved hostile-reviewer threads exist | Fails until resolved (not yet a required context) |
degraded verdict |
Fewer than 2 models succeeded (infra) | No |
Powered by omniintelligence.review_pairing.cli_review — multi-model adversarial review: qwen3-review, qwen3-review-b, glm-review (OMN-8468/OMN-8524/OMN-17492)
…2-executor-lane # Conflicts: # scripts/deploy-agent/deploy_agent/agent.py # scripts/deploy-agent/tests/unit/conftest.py
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.
What
Remaining B3 work of the second-deploy-slot plan (knowledge-base-internal
beta/plans/2026-09-24-second-deploy-slot-plan.md, epic OMN-19500). Ticket: OMN-19522. Operator authority: omni_home ledger RULING 2026-09-25T00:56:45Z (lane merge-drain-83).Stacked on omnibase_infra#4097 (OMN-19506) and omnibase_infra#4095 (OMN-19505). This branch carries their commits. It adds one commit of its own,
65eba4b67. Land it after both, then merge dev in before it lands. See the landing order below.Summary (drafted by lab delegation run
87a26441-103c-4c51-99c2-67c12c319917from a fact list, then checked against the diff):omnibase-infra, ports 8085/8086) on .202.executor.DEV_INSTANCE_LANE_CONFIGSis keyed by instance.select_dev_instance(name)runs once at agent start, with the instance the router resolved. An unknown name refuses start. It never falls back to .201's composition.omnibase-infra-dev-202;omnibase-infra-dev-202-postgres;omninode-dev-202-runtime, which the lineage fence reads.skipped.scripts/deploy-agent/deploy/deploy-agent-dev-202.service;scripts/deploy-agent/deploy/dev-202.env.template, which holds variable names only. The test derives the required set from the compose triple's required variables, minusdocker/runtime-policy.env.Why the build project changed too
Compose names a built image
<project>-<service>. If the lane is built underomnibase-infraand brought up underomnibase-infra-dev-202, the up finds no image and builds a second one, without the GIT_SHA build args. A newbuild_projectfield defaults toomnibase-infra, so every other lane issues exactly the same build argv as before.Tests
scripts/deploy-agent/tests/unit/test_dev_202_executor_lane_omn19522.py, 27 tests. The names carry the ticket's falsifier selectors:dev_202_lane_config,dev_202_phases_off,dev_201_unchanged,dev_202_unitanddev_202_env_template.docker/docker-compose.dev-202.yml: project name, postgres container, runtime container, published health ports and the profile-disabled set.conftest.pyresets the selected instance to dev-201 for every test.select_dev_instancecall inagent.pyfails..._is_selected_by_agent_construction;phases_offjob tests.uv run pytest tests/unitinscripts/deploy-agent).mypyis clean onexecutor.pyandagent.py.pre-commit run --filespasses on all 6 changed files (57 hooks passed).Lab
.giton .202 while the C13, C14 and C29 producers run bare there. C29's container move is omninode_infra#1663, which is still open. The unit is therefore in the repo and not installed._LANE_CONFIGS[DEV], unchanged.dev-201, consumer group onex-deploy-agent.Runtime classification
This PR is runtime-affecting because it changes the deploy agent (
scripts/deploy-agent). It goes SOLO with the agent idle, after #4097.Landing order across this epic's open PRs
Evidence-Ticket: OMN-19522
Evidence-Source: OCC#11207