Evaluate effective runtime secret binding#1122
Merged
Merged
Conversation
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.
Summary
ambiguous_bindingbehavior for true duplicates at the same route specificityMotivation
After PR #1121 retired disabled placeholders, Odoo CM testing still failed live-target-runtime dry-run with
ambiguous_binding:26847996707launchplane_req_beb763e5c10c48c7a2dc10ad2057b96cSecret value resolution already allows context-level and instance-level records to coexist, with the more specific value winning. Runtime key-safety should evaluate the same effective binding instead of treating broader+narrower coexistence as ambiguous.
Validation
uv run python -m unittest tests.test_runtime_key_safety tests.test_service.LaunchplaneServiceTests.test_live_target_runtime_api_dry_run_returns_redacted_delta tests.test_service.LaunchplaneServiceTests.test_live_target_runtime_api_requires_expected_managed_secret_valuesuv run --extra dev ruff check control_plane/runtime_key_safety.py tests/test_runtime_key_safety.pyuv run --extra dev ruff format --check control_plane/runtime_key_safety.py tests/test_runtime_key_safety.pyuv run --extra dev mypy control_plane tests