From 93589d4f52f38f3c6d012acb60b6a9126154de6d Mon Sep 17 00:00:00 2001 From: "glm-5.2" Date: Tue, 23 Jun 2026 15:50:38 +0000 Subject: [PATCH] tasks: mark call/protocol/abort-cascade completed --- tasks/call/protocol/abort-cascade.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tasks/call/protocol/abort-cascade.md b/tasks/call/protocol/abort-cascade.md index 8ba99fa..0524973 100644 --- a/tasks/call/protocol/abort-cascade.md +++ b/tasks/call/protocol/abort-cascade.md @@ -1,7 +1,7 @@ --- id: call/protocol/abort-cascade name: Implement abort cascade logic for nested calls (ADR-016) -status: pending +status: completed depends_on: [call/protocol/call-adapter] scope: moderate risk: high @@ -190,4 +190,11 @@ abort. See ADR-016. ## Summary -> To be filled on completion \ No newline at end of file +Implemented `AbortCascade` in `protocol/abort.rs` per ADR-016: `PendingEntry` +now stores `parent_request_id` (Call & Subscribe) and a `started` flag for tree +indexing. `AbortCascade::cascade_abort` walks the call tree by `parent_request_id` +and aborts descendants per `AbortPolicy` (`AbortDependents` aborts all; +`ContinueRunning` aborts only unstarted via `mark_started()`). Returns sorted +list of aborted IDs; unknown root silently discarded. 20 unit tests covering +depth-3 cascade, mixed Call/Subscribe, determinism, both policies (159 total in +call crate, 290+ workspace-wide). Clippy clean. Merged to develop. \ No newline at end of file