Skip to content

Report accepted queued commands and clear finished execution indices - #48

Draft
Jepson2k wants to merge 12 commits into
feat/held-object-geometryfrom
feat/supervised-restart
Draft

Report accepted queued commands and clear finished execution indices#48
Jepson2k wants to merge 12 commits into
feat/held-object-geometryfrom
feat/supervised-restart

Conversation

@Jepson2k

@Jepson2k Jepson2k commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Queue readback includes accepted commands still waiting for planning or paused execution, and clears completed or cancelled indices. Supervised restart can therefore check whether the controller still has pending work. Completion waits inherit the parent branch’s exact command results and controller-session checks; unrelated concurrent tool completion cannot satisfy paused arm work.

Validation: real fake-serial regressions reproduced false completion of paused or cancelled arm work, late-response confusion, and missed controller restarts. Restart detection also watches independent status broadcasts when the command socket stops receiving after a peer reset. The latest change passes 16 controller/tool/lifecycle/error checks and 13 Commander pause, nested-skill, blended-stepping, recording, restart, and project-import workflows. Formatting and type checks pass. Query and acknowledgement receives preserve caller cancellation when a controller reply arrives concurrently, avoiding the Python 3.11 wait_for cancellation race observed in CI. The integration workflow cancels a query on arrival of a real controller reply and confirms subsequent queries still work. The latest CI run passes all twelve combinations of Linux, macOS, Windows and Python 3.11–3.14, plus lint. Each primary suite contains 314 cases (306 passed and eight separately executed examples skipped on Linux/macOS; 305 passed and the additional SIGKILL-only test skipped on Windows). All eight examples also pass in their separate job step on every combination.

Stacked on held-object geometry. Companion PRs: Commander, waldoctl, PAR6.

Jepson2k and others added 11 commits September 8, 2026 03:59
# Conflicts:
#	parol6/server/segment_player.py
CancelAll travels the planner's command FIFO behind plans already queued,
and the worker only clears its blend buffer on it, so commands still in
the planner's inbox when Stop arrived were emitted afterwards and played:
a stop left an empty queue and an idle executing index for the moment the
restart review looked, then the arm moved. Plans now carry the generation
they were submitted under; a cancel starts a new one and the proxy drops
every segment from an older generation on the way back.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ervised-restart

# Conflicts:
#	tests/integration/test_stop_semantics.py
The queue's contents are maintained in three places -- the planner's pending
list, the blend consumption that swallows indices, and the executing-index
exclusion -- and none of them were exercised: the only test change swapped a
namespace for a state object with the pending list left empty. Dropping either
mechanism left the suite green.

This drives the client against the simulated controller: a paused queue lists
what is owed, a resumed one drains to empty, a blend chain takes its consumed
indices with it, the executing command is not listed as owed work as well, and
a Stop clears the queue and the pause it was holding. Both mechanisms were
checked by breaking them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ervised-restart

# Conflicts:
#	parol6/commands/query_commands.py
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.

1 participant