Skip to content

fix(OMN-12734): clear contract resolver bifrost path - #1881

Merged
jonahgabriel merged 1 commit into
devfrom
jonah/omn-12734-contract-resolver-bifrost-path
Jun 6, 2026
Merged

jonahgabriel merged 1 commit into
devfrom
jonah/omn-12734-contract-resolver-bifrost-path

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Jun 6, 2026 •

Copy link
Copy Markdown
Collaborator

Evidence-Source: OCC#2218
Evidence-Ticket: OMN-12734

Summary

  • Clear BIFROST_CONTRACT_PATH for omninode-contract-resolver in docker-compose.infra.yml so the service does not try to render Bifrost delegation config into /app/data without a data mount.
  • Add the same explicit override to the contract-resolver catalog manifest via catalog_env.
  • Add regression coverage for the hand-authored compose source and generated runtime-core catalog output.

Runtime impact

This preserves the live dev-lane hotpatch in durable infra sources. It changes only contract-resolver startup env by disabling Bifrost contract rendering for that no-data-volume HTTP bridge. No live restart was performed from this PR.

Verification

  • PYTHONPATH="$PWD/src:$PWD${PYTHONPATH:+:$PYTHONPATH}" uv run pytest tests/unit/infra/test_catalog_completeness.py tests/integration/test_runtime_sub_bundle_cli.py -q
    • Result: 11 passed, 1 xpassed
  • env ... docker compose --env-file docker/runtime-policy.env -f docker/docker-compose.infra.yml --profile runtime config --format json
    • Verified omninode-contract-resolver.environment.BIFROST_CONTRACT_PATH == ""
  • uv run ruff format tests/unit/infra/test_catalog_completeness.py tests/integration/test_runtime_sub_bundle_cli.py
  • uv run ruff check tests/unit/infra/test_catalog_completeness.py tests/integration/test_runtime_sub_bundle_cli.py
  • git diff --check

OCC Evidence

Post-merge validation

  • Redeploy dev lane without manual compose edits.
  • Recreate omninode-contract-resolver from the rendered deployed compose.
  • Verify http://127.0.0.1:8091/health remains ok and the service no longer logs Bifrost delegation render failures.

Linear: OMN-12734

@coderabbitai

coderabbitai Bot commented Jun 6, 2026 •

Copy link
Copy Markdown

Need an answer fast? Review this PR in Change Stack to ask focused questions about the PR or a changed range.

Review Change Stack

📝 Walkthrough

Walkthrough

This PR sets BIFROST_CONTRACT_PATH to an empty string in the omninode-contract-resolver service to prevent contract rendering into shared runtime data. Configuration is added to the catalog manifest and compose file, validated by unit tests, and verified end-to-end by an integration test.

Changes

Bifrost contract path clearing

Layer / File(s) Summary
Contract resolver Bifrost path configuration
docker/catalog/services/contract-resolver.yaml, docker/docker-compose.infra.yml
The catalog service definition adds catalog_env with BIFROST_CONTRACT_PATH: "", and the runtime compose file applies the same empty-string environment variable to the omninode-contract-resolver service to prevent contract rendering.
Unit test validation
tests/unit/infra/test_catalog_completeness.py
New unit tests verify the contract-resolver catalog manifest sets catalog_env.BIFROST_CONTRACT_PATH to empty string, and that compose services (projection-api, omninode-contract-resolver) neither mount /app/data nor set BIFROST_CONTRACT_PATH to a non-empty value.
Integration test verification
tests/integration/test_runtime_sub_bundle_cli.py
Test helper _run_cli is enhanced to merge subprocess environment with a computed PYTHONPATH preserving existing values, and a new integration test confirms catalog.cli generate runtime-core produces a compose file with omninode-contract-resolver setting BIFROST_CONTRACT_PATH to empty string.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • OmniNode-ai/omnibase_infra#1780: Both PRs implement the same BIFROST_CONTRACT_PATH == "" "disable Bifrost render" mechanism via runtime compose environment changes (this PR: omninode-contract-resolver, related: projection-api) relying on shared renderer logic.

Poem

🐰 A path now clear, set to naught,
Bifrost contracts shall not be wrought,
Tests in layers, bright and neat,
Make this change complete!
Configuration flows, configs all square—
Empty strings float through the air! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 62.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: clearing the BIFROST_CONTRACT_PATH for the contract resolver service, which is the primary objective across all modified files.
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-12734-contract-resolver-bifrost-path

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

@jonahgabriel
jonahgabriel added this pull request to the merge queue Jun 6, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 6, 2026
@jonahgabriel
jonahgabriel added this pull request to the merge queue Jun 6, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 6, 2026
@jonahgabriel
jonahgabriel added this pull request to the merge queue Jun 6, 2026
Merged via the queue into dev with commit a96b753 Jun 6, 2026
97 of 103 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-12734-contract-resolver-bifrost-path branch June 6, 2026 09:57
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