Skip to content

fix: queue send/steer safely during manual compaction#134

Merged
dnouri merged 1 commit intomasterfrom
fix/compact-queue-during-manual-compaction
Feb 20, 2026
Merged

fix: queue send/steer safely during manual compaction#134
dnouri merged 1 commit intomasterfrom
fix/compact-queue-during-manual-compaction

Conversation

@dnouri
Copy link
Copy Markdown
Owner

@dnouri dnouri commented Feb 20, 2026

Why

Manual compaction had edge cases where input handling could be inconsistent.

  • C-c C-c / C-c C-s during compacting could race with compaction flow.
  • Steering failures could clear unsent input.
  • Manual compact could move to compacting without a live process.

What

  • Queue send/steer input locally while manual compaction runs.
  • Preserve steering input on steer-send failure.
  • Guard manual compact behind process existence/liveness checks.
  • Add targeted tests for compact queueing, steering failure, and dead/missing process guards.

Validation

  • make check passed (byte-compile, lint, 615/615 unit tests).
Motivation: avoid dropped user input and invalid state transitions around manual compaction.

Technical changes:
- Queue C-c C-c/C-c C-s input locally while manual compaction is running.
- Preserve steering input when steer send fails instead of clearing it.
- Guard manual compact RPC with process liveness checks.
- Extract helper functions for input acceptance/queueing and manual compaction response handling.
- Add focused tests for compacting queue flow, steer failure, and dead/missing process guards.
@dnouri dnouri merged commit 43667d9 into master Feb 20, 2026
7 checks passed
@dnouri dnouri deleted the fix/compact-queue-during-manual-compaction branch February 20, 2026 17:40
dnouri added a commit that referenced this pull request Feb 25, 2026
Motivation: avoid dropped user input and invalid state transitions around manual compaction.

Technical changes:
- Queue C-c C-c/C-c C-s input locally while manual compaction is running.
- Preserve steering input when steer send fails instead of clearing it.
- Guard manual compact RPC with process liveness checks.
- Extract helper functions for input acceptance/queueing and manual compaction response handling.
- Add focused tests for compacting queue flow, steer failure, and dead/missing process guards.
dnouri added a commit that referenced this pull request Feb 26, 2026
Motivation: avoid dropped user input and invalid state transitions around manual compaction.

Technical changes:
- Queue C-c C-c/C-c C-s input locally while manual compaction is running.
- Preserve steering input when steer send fails instead of clearing it.
- Guard manual compact RPC with process liveness checks.
- Extract helper functions for input acceptance/queueing and manual compaction response handling.
- Add focused tests for compacting queue flow, steer failure, and dead/missing process guards.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant