Skip to content

fix: prepare passive Worker context before reconciliation [skip deploy] - #180

Merged
leecyang merged 4 commits into
mainfrom
codex/worker-passive-bootstrap
Oct 17, 2026
Merged

leecyang merged 4 commits into
mainfrom
codex/worker-passive-bootstrap

Conversation

@leecyang

@leecyang leecyang commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

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.

@leecyang
leecyang merged commit e1fe01c into main Oct 17, 2026
7 checks passed
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.

2 participants