Repository navigation
fix: prepare passive Worker context before reconciliation [skip deploy] - #180
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.
Production Worker startup reconciles existing IM channels before starting the agent runner. Reconciliation constructs local LingxiOS context with the active API role; runner admission then rejects that context, closes PostgreSQL and leaves maintenance timers alive, so the process never exposes its readiness listener.
Select the passive Worker role before storage initialization and reconciliation, and reuse that ownership check at runner admission. Reconciliation still completes before task claiming; active API contexts remain rejected in production. Published runtime, schema, authorization and model settings are unchanged.
Validation: an integration regression using isolated PostgreSQL first reproduced the wrong control-listener ownership after successful channel reconciliation (run 39027258962). The fix is checked through the normal server/typecheck and integration CI jobs. Production recovery will use a separately reviewed immutable Worker image pin and Komodo service updates.