From f12e227df01f55b844d91efd58f391a56d5a8473 Mon Sep 17 00:00:00 2001 From: "glm-5.2" Date: Thu, 2 Jul 2026 09:41:59 +0000 Subject: [PATCH] =?UTF-8?q?docs(call):=20mark=20call/registry/invoke-strea?= =?UTF-8?q?ming=20completed=20=E2=80=94=20invoke=5Fstreaming()=20streaming?= =?UTF-8?q?=20dispatch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/call/registry/invoke-streaming.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/call/registry/invoke-streaming.md b/tasks/call/registry/invoke-streaming.md index 9393a9d..cfb57b8 100644 --- a/tasks/call/registry/invoke-streaming.md +++ b/tasks/call/registry/invoke-streaming.md @@ -1,7 +1,7 @@ --- id: call/registry/invoke-streaming name: Implement OperationRegistry::invoke_streaming() returning ResponseStream -status: pending +status: completed depends_on: [call/registry/streaming-handler-handlerkind] scope: narrow risk: medium @@ -167,4 +167,4 @@ streams. The error envelope carries the `request_id` from the context. ## Summary -> To be filled on completion \ No newline at end of file +> Added OperationRegistry::invoke_streaming() in crates/alknet-call/src/registry/registration.rs — the streaming dispatch path for Subscription operations. Same visibility + ACL checks as invoke() (provably identical security axis), then dispatches the StreamingHandler and returns its ResponseStream. Pre-handler errors (not-found, forbidden, INVALID_OPERATION_TYPE for non-Subscription ops) yield a single error ResponseEnvelope via stream::once, then end. Added 6 unit tests covering all paths (subscription dispatch, unknown op, query op cross-kind error, internal op from external, ACL denied, internal call using handler_identity). \ No newline at end of file