Skip to content

fix(archive): cancel unwanted tasks without claiming delivery - #1423

Merged
ivankuznetsov merged 3 commits into
mainfrom
fix/cancel-task-without-delivery
Sep 15, 2026
Merged

ivankuznetsov merged 3 commits into
mainfrom
fix/cancel-task-without-delivery

Conversation

@ivankuznetsov

@ivankuznetsov ivankuznetsov commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Unwanted tasks can leave the active queue as cancelled without claiming their work was delivered. Existing archive closure requires verified delivery evidence; cancellation instead requires an operator reason and uses the existing preview, confirmation, and receipt flow.

Cancellation preserves task artifacts, token history, branches, and dirty worktrees. It refuses live owners, runs no terminal agent or completion hook, and cannot satisfy another task's delivery dependency. The current Drop action remains separate and retains its deletion behavior.

Invalid closure receipts remain dependency errors, including after another consumer quarantines the receipt. Dependency admission reads closure evidence without moving or rewriting it. This prevents a cancelled prerequisite from becoming implicitly delivered when its receipt is invalid.

Validation on 9dbdcba, integrated with current main:

  • 332 focused closure, dependency, bot, operational-action, and status tests / 1,529 assertions passed.
  • 6 Rails closure integration tests / 48 assertions passed.
  • The invalid-cancellation regression reproduced before the fix and now passes, including full and active admission after quarantine.
  • Focused coverage exercises every added executable line in changed library files.
  • Repository-wide RuboCop inspected 1,867 files; corrected its sole whitespace finding and rechecked that file successfully.

Hosted CI and Install smoke are running for this head. No deployment or live task cancellation was performed. Installed CLI/daemon/web cancellation remains a post-deployment validation step; the local tests do not establish that proof.

@ivankuznetsov
ivankuznetsov force-pushed the fix/cancel-task-without-delivery branch from a891d0a to d73b09b Compare September 14, 2026 11:45
@ivankuznetsov
ivankuznetsov merged commit 37e1ee2 into main Sep 15, 2026
34 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.

1 participant