fix(control-plane): preserve monitor settlement binding - #3424
Merged
huangruiteng merged 3 commits intoAug 21, 2026
Conversation
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
Signed-off-by: huangruiteng <huangrt01@163.com>
huangruiteng
force-pushed
the
codex/fix-monitor-settlement-binding-20260821-delivery
branch
from
August 21, 2026 15:17
bff5f63 to
52bf6d9
Compare
Owner
Author
Maintainer self-reviewNo blocking finding remains after reviewing and refining the final diff. Product and control-plane judgment
Validation
The final six-file diff is cohesive around same-Turn settlement and durable Next Action continuity, with the related refactors reducing ambiguous state and duplicated parsing behavior. It is reviewable and reversible, and it does not alter permissions, scoring, benchmark behavior, or external effect authority. |
huangruiteng
deleted the
codex/fix-monitor-settlement-binding-20260821-delivery
branch
August 21, 2026 15:26
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
poll_dueorsettlement_pending, with invalid phases rejectedRoot cause
Monitor polling rescheduled the parent into the future and created a successor. The following same-Turn
should-runcall then dropped the no-longer-due parent and rebound execution to the successor, so the exact parent receipt could not be settled.During rebase, the premerge heartbeat-flow smoke also exposed an adjacent regression from the newly merged structured Next Action parser:
refresh-statereused its compact 220-character projection mode for a durable run record. The parser now has an explicit lossless mode for that record without changing compact status/read-model defaults.Architecture
This remains a pre-quota monitor-lane transition. The TypeScript Effect Program continues to own downstream settlement execution, and the newly migrated TS Todo next-action domain continues to own completion transitions. No parallel settlement or parsing authority was added.
Validation
examples/control_plane/heartbeat-quota-flow-smoke.pypassed after catching and repairing the lossless-readback regressionpy_compile, and repository strict mypy passedloopx canary premerge --from-git-diff --goal-id loopx-metapassed: 17 selected checks, 0 failures, 0 warnings, 0 holdscqr_4f8e371c92234532a612No local runtime state, raw histories, credentials, or generated logs are included.