From 938ee16e8ebda529435501ba88ee6f8a8fba1e04 Mon Sep 17 00:00:00 2001 From: Galin Iliev Date: Sun, 9 Aug 2026 07:41:48 -0700 Subject: [PATCH] docs(memory): align Phase 0 capability declaration --- docs/concepts/2026-07-29-memory-impl-plan.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/concepts/2026-07-29-memory-impl-plan.md b/docs/concepts/2026-07-29-memory-impl-plan.md index d713c6f37afc..0881f458a5f2 100644 --- a/docs/concepts/2026-07-29-memory-impl-plan.md +++ b/docs/concepts/2026-07-29-memory-impl-plan.md @@ -303,7 +303,8 @@ Required invariants: #### 6.2 Runtime capability extension -Extend the selected memory runtime with a versioned authorized surface: +Extend the selected memory capability with a versioned authorization declaration +and its optional runtime with the authorized surface: ```ts type AuthorizedMemoryPlanForContext = @@ -313,8 +314,12 @@ type AuthorizedMemoryPlanForContext = : AuthorizedMemoryPlan & { operation: Operation } : never; +type MemoryPluginCapability = Readonly<{ + authorization?: MemoryAuthorizationCapabilities; + runtime?: MemoryPluginRuntime; +}>; + interface AuthorizedMemoryRuntime { - authorization: MemoryAuthorizationCapabilities; authorize( context: Context, ): Promise>; @@ -328,9 +333,10 @@ interface AuthorizedMemoryRuntime { } ``` -Legacy agents may continue to use the existing manager path. An enforced agent -must reject a runtime without the new capability. Do not silently wrap a -context-free backend and call it conforming. +The selected `MemoryPluginCapability`, rather than its optional `runtime`, +declares `authorization`. Legacy agents may continue to use the existing manager +path. An enforced agent must reject a selected capability without the new +declaration. Do not silently wrap a context-free backend and call it conforming. The declaration and the conformance suite describe plugin behavior only; they do not construct a trusted context or make an authorization decision. Phase 0