Skip to main content

Module context_provider

Module context_provider 

Source
Expand description

Task A3 (continuous-memory spec §7.1) — typed memory/context contribution provider identities and DORMANT descriptors.

A context provider is a passive, additive manifest capability (deferred.context_providers) that lets an extension — e.g. extension:axel-memory-manager:project-memory — offer bounded context contributions to the host. Everything in this module is metadata only: nothing here spawns a process, touches the network, or acquires a lease. Descriptors mirror how super::lifecycle::DeferredExtensionTool pins dormant deferred-tool metadata before any super::lease::ExtensionRuntimeManager lease exists — activation (exact memory-context lease acquisition) is task A6 and is NOT implemented here.

Structs§

ContextProviderId
Validated context provider identity: the LOCAL id an extension declares (the full runtime address is composed as extension:<plugin>:<id>).
RegisteredContextProviderDescriptor
A DORMANT, manifest-declared context provider descriptor: bounded metadata pinned at load, exactly like the dormant deferred-tool descriptors the lease manager later validates against ([super:: lifecycle::DeferredExtensionTool] / ExtensionRuntimeManager). Holding one grants NOTHING: discovery, schema export, and status inspection read this metadata without ever starting the owning extension. Lease acquisition (task A6) is the only activation path and is not part of this type.

Enums§

ContextProviderLookupError
Typed fail-closed context-provider resolution failure (task A6). Static-reason style like every other identity gate in this module.

Constants§

CONTEXT_PROVIDER_ID_MAX_BYTES
Hard byte bound on a context provider id (parity with the declared-name budget in super::lifecycle).

Functions§

dormant_context_provider_descriptors
Build the dormant context provider descriptors for one manifest. Deterministic (declaration order); returns nothing for manifests without validated declarations — descriptors are never invented, and a manifest that fails the full deferred policy (bounds + the context_providers.register permission gate) yields NOTHING. Mirrors super::lifecycle::dormant_extension_tools. Never spawns.
resolve_context_provider
Resolve one context-provider request against the loaded catalog. EXACT-SCOPE, FAIL-CLOSED matching — the same discipline as super::lifecycle::validate_manifest_deferred and crate::orchestration::validate_user_authorizable_model: no partial, prefix, or fuzzy matches, and no arbitrary tie-breaking.