feat(rlix-validation): C24 — fail fast on RLix + experimental rollout refactor#33
Open
JunzheJoe wants to merge 1 commit into
Open
feat(rlix-validation): C24 — fail fast on RLix + experimental rollout refactor#33JunzheJoe wants to merge 1 commit into
JunzheJoe wants to merge 1 commit into
Conversation
… refactor RolloutManager._get_rollout_data only threads rlix_hooks through the legacy call_rollout_fn path; the experimental refactor's call_rollout_function does not accept them. Under RLix that silently kills the whole F9 progress channel: begin_progress_batch / bump_completed no-op, clear_progress_stream never fires, and the scheduler's rollout_open_pipelines entry lingers with a stale demand estimate. Nothing crashes, so the misconfiguration is invisible. Add C24 to assert_rlix_topology (same fail-fast discipline as C1-C23): RLIX_CONTROL_PLANE=rlix + MILES_EXPERIMENTAL_ROLLOUT_REFACTOR=1 is rejected at startup with a message pointing at the two ways out. The guard is rlix-scoped — standalone keeps the refactor available — and is meant to be deleted once the refactored path threads rlix_hooks. Tests: tests/fast/utils/test_rlix_validation_refactor_guard.py (stdlib-only, same style as test_rlix_offload_defaults.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
Review finding F9-REFACTOR-HOOKS (F1-F12 code review).
RolloutManager._get_rollout_dataonly threadsrlix_hooksthrough the legacycall_rollout_fnpath; the experimental refactor'scall_rollout_functiondoes not accept them. Under RLix mode withMILES_EXPERIMENTAL_ROLLOUT_REFACTOR=1, that silently kills the entire F9 progress channel:begin_progress_batch/bump_completedfall back toNoOpRLixHooks— the coordinator never sees rollout progressclear_progress_streamnever fires, so the scheduler'srollout_open_pipelinesentry lingers with a stale demand estimatesignal_rollout_demandpre-signal path, which prevents the hang but not the degradation)None of the C1-C23 startup checks guarded this combination.
Fix
Add C24 to
assert_rlix_topology, same fail-fast discipline as the existing checks:RLIX_CONTROL_PLANE=rlix+MILES_EXPERIMENTAL_ROLLOUT_REFACTOR=1is rejected at startup with a message pointing at the two ways out (unset the env, or threadrlix_hooksthroughcall_rollout_functionfirst).Scoping notes:
MILES_EXPERIMENTAL_ROLLOUT_REFACTOR=1is unaffected — those tests don't setRLIX_CONTROL_PLANE)rlix_hooksthrough the refactored pathTests
tests/fast/utils/test_rlix_validation_refactor_guard.py(stdlib-only, same style astest_rlix_offload_defaults.py):8 passed locally (3 new + the 5 existing
test_rlix_offload_defaultsones).