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§
- Context
Provider Id - Validated context provider identity: the LOCAL id an extension declares
(the full runtime address is composed as
extension:<plugin>:<id>). - Registered
Context Provider Descriptor - 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§
- Context
Provider Lookup Error - 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.registerpermission gate) yields NOTHING. Mirrorssuper::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_deferredandcrate::orchestration::validate_user_authorizable_model: no partial, prefix, or fuzzy matches, and no arbitrary tie-breaking.