From 9c959cd8636f4e1e249e1413f31e6aa1a1c0735e Mon Sep 17 00:00:00 2001 From: "glm-5.2" Date: Wed, 1 Jul 2026 17:07:53 +0000 Subject: [PATCH] docs(http): mark http/gateway/gateway-dispatch-spine completed --- tasks/http/gateway/gateway-dispatch-spine.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tasks/http/gateway/gateway-dispatch-spine.md b/tasks/http/gateway/gateway-dispatch-spine.md index a8a0085..669aacd 100644 --- a/tasks/http/gateway/gateway-dispatch-spine.md +++ b/tasks/http/gateway/gateway-dispatch-spine.md @@ -1,7 +1,7 @@ --- id: http/gateway/gateway-dispatch-spine name: Implement GatewayDispatch shared dispatch spine (thin concrete struct, not a trait) -status: pending +status: completed depends_on: [http/crate-init] scope: narrow risk: medium @@ -180,4 +180,13 @@ research ยง6 open question #4. ## Summary -> To be filled on completion \ No newline at end of file +> GatewayDispatch concrete struct implemented in src/gateway/dispatch.rs. Holds +> Arc + Arc. resolve_bearer() delegates +> to identity_provider.resolve_from_token. invoke() builds root OperationContext +> (internal:false, forwarded_for:None, fresh UUID v4 request_id, deadline now+30s, +> registration bundle's composition_authority/capabilities/scoped_env) and calls +> OperationRegistry::invoke. Duplicated build_root_context construction (alknet-call +> version is pub(crate) + tangled with CallConnection overlays; invariants identical). +> 14 unit tests covering dispatch, services/list AccessControl filtering, NOT_FOUND +> for unregistered/Internal ops, FORBIDDEN for unauthorized, concrete-struct-not-trait. +> Re-exported from lib.rs. Build/clippy/test all pass. \ No newline at end of file