Skip to content

feat: add active workflow cancellation - #1080

Merged
paullizer merged 7 commits into
Developmentfrom
feature/990-workflow-cancel
Jul 27, 2026
Merged

feat: add active workflow cancellation#1080
paullizer merged 7 commits into
Developmentfrom
feature/990-workflow-cancel

Conversation

@paullizer

Copy link
Copy Markdown
Collaborator

Summary

  • Add persisted, scope-aware cancellation for active personal and group workflow runs.
  • Stop runners at cooperative boundaries, mark remaining document items cancelled, release the existing workflow lock path, and schedule the next interval/File Sync run after cancellation.
  • Add Cancel controls to workspace rows/cards, run history, and workflow activity views.
  • Document the behavior and add functional, UI, route-policy, and authorization coverage.

Validation

  • python -m pytest functional_tests/test_workflow_cancellation.py functional_tests/test_workflow_access_controls.py functional_tests/route_tests/test_route_blueprint_policy_inventory.py functional_tests/route_tests/test_route_unauthenticated_policy_contract.py functional_tests/route_tests/test_route_policy_test_coverage.py ui_tests/test_workflow_cancellation_controls.py -q (22 passed)
  • Python compilation, node --check, git diff --check, XSS sink guardrail, and broken-access-control guardrail passed.

Fixes #990

@paullizer
paullizer force-pushed the feature/990-workflow-cancel branch from 0f7868c to 68f08cf Compare July 27, 2026 20:02
Comment thread application/single_app/route_backend_workflows.py Outdated
except LookupError as exc:
return jsonify({'error': str(exc)}), 404
except WorkflowCancellationConflictError as exc:
return jsonify({'error': str(exc)}), 409
Comment thread application/single_app/route_backend_workflows.py Outdated
except LookupError as exc:
return jsonify({'error': str(exc)}), 404
except WorkflowCancellationConflictError as exc:
return jsonify({'error': str(exc)}), 409
Comment thread application/single_app/route_backend_workflows.py Outdated
Comment thread application/single_app/route_backend_workflows.py Outdated
except ValueError as exc:
return jsonify({'error': str(exc)}), 400
except LookupError as exc:
return jsonify({'error': str(exc)}), 404
except LookupError as exc:
return jsonify({'error': str(exc)}), 404
except PermissionError as exc:
return jsonify({'error': str(exc)}), 403
Comment thread application/single_app/route_backend_workflows.py Outdated
except LookupError as exc:
return jsonify({'error': str(exc)}), 404
except WorkflowCancellationConflictError as exc:
return jsonify({'error': str(exc)}), 409
paullizer and others added 6 commits July 27, 2026 16:10
… through an exception'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… through an exception'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… through an exception'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… through an exception'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… through an exception'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
… through an exception'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@paullizer
paullizer merged commit 77493a9 into Development Jul 27, 2026
11 checks passed
@paullizer
paullizer deleted the feature/990-workflow-cancel branch July 27, 2026 20:18
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.

2 participants