Repository navigation
Conversation
On a reused botmux session the status read asked the provider for the session's trigger-result whenever the session held an active dispatch key, even when that dispatch's local receipt was still `attempting` (crash before the provider replied) or `rejected`. The session result then describes the previous, completed turn, so status reported the never-accepted dispatch as `completed` with `readback_verified: true`, and `--execute` crashed with "invalid botmux dispatch transition: rejected->completed" (or attempting->completed), leaving the receipt unresolved forever. Resolve ATTEMPTING and REJECTED receipts from the local receipt alone, the same path used when no session exists: attempting is promoted to unknown and rejected is reported as rejected. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: duang777 <duangjl007@gmail.com>
Duang777
requested review from
huangruiteng,
loopx-agent and
songoow
as code owners
November 13, 2026 09:46
This branch has not been deployed
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.
Goal And Delivered Outcome
_status_botmux_runtimeinloopx/control_plane/goals/botmux_runtime.pyasked the provider for the sessiontrigger-resultwhenever the dispatch had an active key. On a reused session that result describes the previous accepted turn, not a dispatch whose local receipt isattemptingorrejected.statusreturnedcompleted,ok=True,readback_verified=True, andstatus --executeraisedinvalid botmux dispatch transition: rejected->completed. After:rejected,ok=False,readback_verified=False; anattemptingreceipt is promoted tounknownand persisted. Rows:regression_parity,unit.mainat7bb1b01.Author Declaration
Implemented against
_status_botmux_runtimetests/control_plane/test_botmux_goal_channel_runtime.py::test_status_never_vouches_for_rejected_dispatch_on_reused_session,::test_status_promotes_unresolved_attempt_on_reused_session_without_provider_resultloopx.clibecause the local tree could not import the real one;test_runtime_cli_parses_setup_doctor_trigger_and_statuswas deselected.Scope And Continuation
unknownreceipt on a reused session has the same ambiguity andunknown->completedis allowed; disambiguating needs a per-turn provider lookup.Validation
6681ca1ad179e20a16bf3599ba9f41a9576e3969for the diff; local runs used a working tree whose touched files were blob-identical tomain7bb1b01before the change.regression_paritypassedunitpassedtest_botmux_goal_channel_runtime.pyandtests/test_state_migration.pytogether: 25 passed, 1 deselected;ruff checkclean.Frontend / Visual Evidence
Type of Change
LoopX Area
Technical Direction
Shared-authority RFC fixture impact
N/A
Boundary Checklist
.loopx/,.codex/goals/, and liveACTIVE_GOAL_STATE.md).none.Signed-off-bytrailer (git commit -s).🤖 Generated with Claude Code