From f3b7cd3d956e39c0439ff73f671410cb41fe736d Mon Sep 17 00:00:00 2001 From: Gustavo Madeira Santana Date: Sun, 15 Mar 2026 11:44:01 +0000 Subject: [PATCH] Docs: refresh extension host migration status --- .../openclaw-capability-catalog-and-arbitration-spec.md | 3 ++- .../openclaw-extension-contribution-schema-spec.md | 3 ++- .../openclaw-extension-host-implementation-guide.md | 5 ++++- .../openclaw-extension-host-lifecycle-and-security-spec.md | 2 ++ .../openclaw-kernel-event-pipeline-spec.md | 1 + .../openclaw-kernel-extension-host-transition-plan.md | 4 +++- 6 files changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md b/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md index b1d587ccf73..c053bd486cd 100644 --- a/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-capability-catalog-and-arbitration-spec.md @@ -41,6 +41,7 @@ What has been implemented: - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` - loader module-export resolution, config validation, and memory-slot load decisions now route through `src/extension-host/loader-runtime.ts` - loader post-import planning and `register(...)` execution now route through `src/extension-host/loader-register.ts` +- loader per-candidate orchestration now routes through `src/extension-host/loader-flow.ts` - loader record-state transitions now route through `src/extension-host/loader-state.ts` - channel, provider, gateway-method, tool, CLI, service, command, context-engine, and hook registration normalization now has a host-owned helper boundary for future catalog migration @@ -50,7 +51,7 @@ How it has been implemented: - by keeping the existing catalog behavior intact while shifting metadata ownership into normalized host-owned records - by reusing the resolved-extension registry for static operator/documentation surfaces instead of creating separate metadata caches - by beginning runtime registration migration with host-owned normalization helpers before attempting full canonical catalog publication -- by beginning loader-path migration with host-owned compatibility, candidate-planning, import-flow, policy, runtime, register-flow, and record-state helpers before attempting canonical catalog publication +- by beginning loader-path migration with host-owned compatibility, candidate-planning, import-flow, policy, runtime, register-flow, candidate-orchestration, and record-state helpers before attempting canonical catalog publication What remains pending: diff --git a/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md b/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md index 8e50d10cf0d..f62368d3726 100644 --- a/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-extension-contribution-schema-spec.md @@ -45,6 +45,7 @@ What has been implemented: - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` - loader module-export resolution, config validation, and memory-slot load decisions now route through `src/extension-host/loader-runtime.ts` - loader post-import planning and `register(...)` execution now route through `src/extension-host/loader-register.ts` +- loader per-candidate orchestration now routes through `src/extension-host/loader-flow.ts` - loader record-state transitions now route through `src/extension-host/loader-state.ts` How it has been implemented: @@ -54,7 +55,7 @@ How it has been implemented: - by moving static metadata consumers onto the normalized model before attempting runtime contribution migration - by keeping legacy manifest records available only as compatibility projections while new readers move to the normalized shape - by starting runtime contribution migration with normalization helpers that preserve the legacy plugin API surface -- by making the first loader compatibility, candidate-planning, import-flow, runtime-decision, and register-flow helpers explicit host-owned seams before introducing a versioned compatibility layer +- by making the first loader compatibility, candidate-planning, import-flow, runtime-decision, register-flow, and candidate-orchestration helpers explicit host-owned seams before introducing a versioned compatibility layer What remains pending: diff --git a/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md b/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md index cc2791b0364..f248f24368f 100644 --- a/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md +++ b/docs/.internal/extension-host-migration/openclaw-extension-host-implementation-guide.md @@ -66,6 +66,7 @@ What has been implemented so far: - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` - loader module-export resolution, config validation, and memory-slot load decisions now route through `src/extension-host/loader-runtime.ts` - loader post-import planning and `register(...)` execution now route through `src/extension-host/loader-register.ts` +- loader per-candidate orchestration now routes through `src/extension-host/loader-flow.ts` - loader record-state transitions now route through `src/extension-host/loader-state.ts` - runtime registration normalization has started in `src/extension-host/runtime-registrations.ts` for channel, provider, HTTP-route, gateway-method, tool, CLI, service, command, context-engine, and hook registrations - several static and lookup consumers now read through the host boundary or resolved-extension model: @@ -93,6 +94,7 @@ How it has been done: - by moving entry-path opening and module import behind host-owned helpers before changing cache wiring or lifecycle orchestration - by moving loader runtime decisions behind host-owned helpers while preserving lazy loading, config validation behavior, and memory-slot policy behavior - by moving post-import planning and `register(...)` execution behind host-owned helpers before changing entry-path and import flow +- by composing those seams into one host-owned per-candidate orchestrator before changing cache and lifecycle finalization behavior - by moving loader record-state transitions into host-owned helpers before introducing a full lifecycle state machine - by moving central readers first, so later lifecycle and compatibility work can land on one boundary instead of many ad hoc call sites - by adding focused tests for each extracted seam before widening the boundary further @@ -104,6 +106,7 @@ Committed implementation slices so far: - `7bc3135082` `Plugins: extract loader candidate planning` - `3a122c95fa` `Plugins: extract loader register flow` - `fc81454038` `Plugins: extract loader import flow` +- `e1b207f4cf` `Plugins: extract loader candidate orchestration` - `89414ed857` `Docs: track extension host migration internally` - `d8af1eceaf` `Docs: refresh extension host migration status` @@ -300,7 +303,7 @@ Current implementation status: - the host owns the active registry state - the host exposes a resolved-extension registry view for static consumers - plugin skills, plugin auto-enable, and config validation indexing now consume host-owned resolved-extension data -- activation, loader policy, loader candidate planning, loader import flow, loader runtime decisions, loader post-import register flow, and loader record-state helpers now route through `src/extension-host/*` +- activation, loader policy, loader candidate planning, loader import flow, loader runtime decisions, loader post-import register flow, loader candidate orchestration, and loader record-state helpers now route through `src/extension-host/*` - lifecycle state ownership, activation states, policy evaluation, and broad host-owned registries are still not implemented ### Phase 3: Build compatibility bridges diff --git a/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md b/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md index 2f6198052bb..db5f7d8b202 100644 --- a/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-extension-host-lifecycle-and-security-spec.md @@ -42,6 +42,7 @@ What has been implemented: - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` - loader module-export resolution, config validation, and memory-slot load decisions now route through `src/extension-host/loader-runtime.ts` - loader post-import planning and `register(...)` execution now route through `src/extension-host/loader-register.ts` +- loader per-candidate orchestration now routes through `src/extension-host/loader-flow.ts` - loader record-state transitions now route through `src/extension-host/loader-state.ts` How it has been implemented: @@ -59,6 +60,7 @@ How it has been implemented: - by moving entry-path opening and module import next while leaving cache wiring and lifecycle orchestration unchanged - by moving loader runtime decisions next while preserving the current lazy-load, config-validation, and memory-slot behavior - by moving post-import planning and `register(...)` execution next while leaving entry-path and import flow unchanged +- by composing those seams into one host-owned per-candidate loader orchestrator before moving final lifecycle-state behavior - by moving record-state transitions next while leaving the lifecycle state machine itself unimplemented What is still pending from this spec: diff --git a/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md b/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md index 0494724cbbb..440623e2678 100644 --- a/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md +++ b/docs/.internal/extension-host-migration/openclaw-kernel-event-pipeline-spec.md @@ -41,6 +41,7 @@ Relevant prerequisite work that has landed: - loader entry-path opening and module import now have a host-owned helper boundary - loader module-export resolution, config validation, and memory-slot load decisions now have a host-owned helper boundary - loader post-import planning and `register(...)` execution now have a host-owned helper boundary +- loader per-candidate orchestration now has a host-owned helper boundary - loader record-state transitions now have a host-owned helper boundary Why this matters for this spec: diff --git a/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md b/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md index 1f938332e03..7a0eebe0e47 100644 --- a/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md +++ b/docs/.internal/extension-host-migration/openclaw-kernel-extension-host-transition-plan.md @@ -51,6 +51,7 @@ What has landed: - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` - loader module-export resolution, config validation, and memory-slot load decisions now route through `src/extension-host/loader-runtime.ts` - loader post-import planning and `register(...)` execution now route through `src/extension-host/loader-register.ts` +- loader per-candidate orchestration now routes through `src/extension-host/loader-flow.ts` - loader record-state transitions now route through `src/extension-host/loader-state.ts` - runtime registration normalization has started in `src/extension-host/runtime-registrations.ts` for channel, provider, HTTP-route, gateway-method, tool, CLI, service, command, context-engine, and hook registrations - several existing consumers now read host-owned normalized data instead of plugin-era manifest or runtime state directly: @@ -79,6 +80,7 @@ How it was done: - by moving entry-path opening and module import behind host-owned helpers before changing cache wiring or lifecycle orchestration - by moving loader runtime decisions next, while preserving lazy loading, config validation behavior, and memory-slot policy behavior - by moving post-import planning and `register(...)` execution behind host-owned helpers before changing entry-path and import flow +- by composing those seams into one host-owned per-candidate orchestrator before changing cache and lifecycle finalization behavior - by moving loader record-state transitions into host-owned helpers before introducing a full lifecycle state machine - by moving static and lookup-heavy consumers first, where the ownership boundary matters but runtime risk is lower @@ -89,6 +91,7 @@ Committed implementation slices so far: - `7bc3135082` `Plugins: extract loader candidate planning` - `3a122c95fa` `Plugins: extract loader register flow` - `fc81454038` `Plugins: extract loader import flow` +- `e1b207f4cf` `Plugins: extract loader candidate orchestration` - `89414ed857` `Docs: track extension host migration internally` - `d8af1eceaf` `Docs: refresh extension host migration status` @@ -97,7 +100,6 @@ What has not landed: - keeping the cutover inventory current as more surfaces move - the lifecycle state machine and remaining loader orchestration - the remaining cache wiring and final registry orchestration in the loader -- the remaining entry-path opening and import flow in the loader - host-owned registration surfaces beyond the first channel, provider, HTTP-route, gateway-method, tool, CLI, service, command, context-engine, and hook helper slices - SDK compatibility translation work - canonical event stages