From d7d957f9ac0d36cd3d5bbdb874422f3ed03196fc Mon Sep 17 00:00:00 2001 From: Gustavo Madeira Santana Date: Sun, 15 Mar 2026 15:01:50 +0000 Subject: [PATCH] Docs: refresh extension host migration status --- .../openclaw-capability-catalog-and-arbitration-spec.md | 4 +++- .../openclaw-extension-contribution-schema-spec.md | 4 +++- .../openclaw-extension-host-implementation-guide.md | 5 ++++- .../openclaw-extension-host-lifecycle-and-security-spec.md | 4 +++- .../openclaw-kernel-event-pipeline-spec.md | 3 ++- .../openclaw-kernel-extension-host-transition-plan.md | 5 ++++- 6 files changed, 19 insertions(+), 6 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 a5d5cf094c8..959fd6d3fe6 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 @@ -37,7 +37,8 @@ What has been implemented: - config doc baseline generation now uses the same host-owned resolved-extension metadata path - plugin SDK alias resolution now routes through `src/extension-host/loader-compat.ts` - loader cache key construction and registry cache control now route through `src/extension-host/loader-cache.ts` -- loader provenance, duplicate-order, and record/error policy now route through `src/extension-host/loader-policy.ts` +- loader provenance helpers now route through `src/extension-host/loader-provenance.ts` +- loader duplicate-order and record/error policy now route through `src/extension-host/loader-policy.ts` - loader discovery policy outcomes now route through `src/extension-host/loader-discovery-policy.ts` - loader initial candidate planning and record creation now route through `src/extension-host/loader-records.ts` - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` @@ -62,6 +63,7 @@ How it has been implemented: - by beginning loader-path migration with host-owned compatibility, candidate-planning, import-flow, policy, runtime, register-flow, candidate-orchestration, top-level load orchestration, record-state with compatibility lifecycle mapping, and finalization helpers before attempting canonical catalog publication - by converting the compatibility record-state layer into an enforced loader lifecycle state machine before catalog publication work - by moving mutable activation state into a host-owned loader session before catalog publication work +- by extracting shared provenance path matching and install-rule evaluation into `src/extension-host/loader-provenance.ts` so activation and finalization policy seams reuse one host-owned implementation - by turning open-allowlist discovery warnings into explicit host-owned discovery-policy results before catalog publication work - by moving duplicate precedence, config enablement, and early memory-slot gating into explicit host-owned activation-policy outcomes before catalog publication work - by turning provenance-based untracked-extension warnings and final memory-slot warnings into explicit host-owned finalization-policy results before catalog publication work 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 6140896f5bc..cd1a862963d 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 @@ -41,7 +41,8 @@ What has been implemented: - the first runtime registration normalization helpers now exist in `src/extension-host/runtime-registrations.ts` for channel, provider, HTTP-route, gateway-method, tool, CLI, service, command, context-engine, and hook writes - plugin SDK alias resolution now routes through `src/extension-host/loader-compat.ts` - loader cache key construction and registry cache control now route through `src/extension-host/loader-cache.ts` -- loader provenance, duplicate-order, and record/error policy now route through `src/extension-host/loader-policy.ts` +- loader provenance helpers now route through `src/extension-host/loader-provenance.ts` +- loader duplicate-order and record/error policy now route through `src/extension-host/loader-policy.ts` - loader discovery policy outcomes now route through `src/extension-host/loader-discovery-policy.ts` - loader initial candidate planning and record creation now route through `src/extension-host/loader-records.ts` - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` @@ -66,6 +67,7 @@ How it has been implemented: - by making the first loader compatibility, candidate-planning, import-flow, runtime-decision, register-flow, candidate-orchestration, top-level load orchestration, record-state with compatibility lifecycle mapping, and finalization helpers explicit host-owned seams before introducing a versioned compatibility layer - by turning the compatibility record-state layer into an enforced loader lifecycle state machine before broadening the schema-driven host lifecycle model - by moving mutable activation state into a host-owned loader session before broadening the schema-driven host lifecycle model +- by extracting shared provenance path matching and install-rule evaluation into `src/extension-host/loader-provenance.ts` so activation and finalization policy seams reuse one host-owned implementation - by turning open-allowlist discovery warnings into explicit host-owned discovery-policy results before broadening the schema-driven host lifecycle model - by moving duplicate precedence, config enablement, and early memory-slot gating into explicit host-owned activation-policy outcomes before broadening the schema-driven host lifecycle model - by turning provenance-based untracked-extension warnings and final memory-slot warnings into explicit host-owned finalization-policy results before broadening the schema-driven host lifecycle model 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 c5756b8c52b..ea45169c3ff 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 @@ -62,7 +62,8 @@ What has been implemented so far: - an initial Phase 0 inventory now exists in `src/extension-host/cutover-inventory.md` - plugin SDK alias resolution now routes through `src/extension-host/loader-compat.ts` - loader cache key construction and registry cache control now route through `src/extension-host/loader-cache.ts` -- loader provenance, duplicate-order, and record/error policy now route through `src/extension-host/loader-policy.ts` +- loader provenance helpers now route through `src/extension-host/loader-provenance.ts` +- loader duplicate-order and record/error policy now route through `src/extension-host/loader-policy.ts` - loader discovery policy outcomes now route through `src/extension-host/loader-discovery-policy.ts` - loader initial candidate planning and record creation now route through `src/extension-host/loader-records.ts` - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` @@ -109,6 +110,7 @@ How it has been done: - by turning that compatibility `lifecycleState` field into an enforced loader lifecycle state machine with readiness promotion during finalization - by moving the remaining top-level loader orchestration into a host-owned module so `src/plugins/loader.ts` becomes a compatibility facade instead of the real owner - by moving mutable activation state such as seen-id tracking, memory-slot selection, and finalization inputs into a host-owned loader session instead of leaving them in top-level loader variables +- by extracting shared provenance path matching and install-rule evaluation into `src/extension-host/loader-provenance.ts` so activation and finalization policy seams reuse one host-owned implementation - by turning open-allowlist discovery warnings into explicit host-owned discovery-policy results before the orchestrator logs them - by moving duplicate precedence, config enablement, and early memory-slot gating into explicit host-owned activation-policy outcomes instead of leaving them inline in the loader flow - by turning provenance-based untracked-extension warnings and final memory-slot warnings into explicit host-owned finalization-policy results before the finalizer applies them @@ -132,6 +134,7 @@ Committed implementation slices so far: - `fc51ce2867` `Plugins: add loader activation policy` - `fd7488e10a` `Plugins: add loader finalization policy` - `97e2af7f97` `Plugins: add loader discovery policy` +- `83b18eab72` `Plugins: share loader provenance helpers` - `89414ed857` `Docs: track extension host migration internally` - `d8af1eceaf` `Docs: refresh extension host migration status` 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 8c82135a9ab..3634deadb33 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 @@ -39,7 +39,8 @@ What has been implemented: - static config-baseline generation now reads bundled extension metadata through the host-owned resolved-extension registry - channel, provider, HTTP-route, gateway-method, tool, CLI, service, command, context-engine, and hook registration normalization now delegates through `src/extension-host/runtime-registrations.ts` - loader cache key construction and registry cache control now route through `src/extension-host/loader-cache.ts` -- loader provenance, duplicate-order, and record/error policy now route through `src/extension-host/loader-policy.ts` +- loader provenance helpers now route through `src/extension-host/loader-provenance.ts` +- loader duplicate-order and record/error policy now route through `src/extension-host/loader-policy.ts` - loader discovery policy outcomes now route through `src/extension-host/loader-discovery-policy.ts` - loader initial candidate planning and record creation now route through `src/extension-host/loader-records.ts` - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` @@ -76,6 +77,7 @@ How it has been implemented: - by adding explicit compatibility `lifecycleState` mapping on loader-owned plugin records before enforcing the loader lifecycle state machine - by promoting successfully registered plugins to `ready` during host-owned finalization while leaving broader activation-state semantics for later phases - by moving mutable activation state such as seen-id tracking, memory-slot selection, and finalization inputs into a host-owned loader session before broader activation-state semantics move +- by extracting shared provenance path matching and install-rule evaluation into `src/extension-host/loader-provenance.ts` so activation and finalization policy seams reuse one host-owned implementation - by turning open-allowlist discovery warnings into explicit host-owned discovery-policy results before the orchestrator logs them - by moving duplicate precedence, config enablement, and early memory-slot gating into explicit host-owned activation-policy outcomes before broader policy semantics move - by turning provenance-based untracked-extension warnings and final memory-slot warnings into explicit host-owned finalization-policy results before the finalizer applies them 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 b75f42ed3d2..a30f357c8d8 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 @@ -37,7 +37,8 @@ Relevant prerequisite work that has landed: - config doc baseline generation now uses the same host-owned resolved-extension data path - channel, provider, HTTP-route, gateway-method, tool, CLI, service, command, context-engine, and hook registration normalization now has a host-owned helper boundary - loader cache key construction and registry cache control now have a host-owned helper boundary -- loader provenance and duplicate-order policy now have a host-owned helper boundary +- loader provenance helpers now have a host-owned helper boundary +- loader duplicate-order policy now has a host-owned helper boundary - loader initial candidate planning and record creation now have a host-owned helper boundary - 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 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 a37c6ab7834..2f04be91424 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 @@ -47,7 +47,8 @@ What has landed: - an initial Phase 0 cutover inventory now exists in `src/extension-host/cutover-inventory.md` - plugin SDK alias resolution now routes through `src/extension-host/loader-compat.ts` - loader cache key construction and registry cache control now route through `src/extension-host/loader-cache.ts` -- loader provenance, duplicate-order, and record/error policy now route through `src/extension-host/loader-policy.ts` +- loader provenance helpers now route through `src/extension-host/loader-provenance.ts` +- loader duplicate-order and record/error policy now route through `src/extension-host/loader-policy.ts` - loader discovery policy outcomes now route through `src/extension-host/loader-discovery-policy.ts` - loader initial candidate planning and record creation now route through `src/extension-host/loader-records.ts` - loader entry-path opening and module import now route through `src/extension-host/loader-import.ts` @@ -95,6 +96,7 @@ How it was done: - by turning that compatibility `lifecycleState` field into an enforced loader lifecycle state machine with readiness promotion during finalization - by moving the remaining top-level loader orchestration into a host-owned module so `src/plugins/loader.ts` becomes a compatibility facade instead of the real owner - by moving mutable activation state such as seen-id tracking, memory-slot selection, and finalization inputs into a host-owned loader session instead of leaving them in top-level loader variables +- by extracting shared provenance path matching and install-rule evaluation into `src/extension-host/loader-provenance.ts` so activation and finalization policy seams reuse one host-owned implementation - by turning open-allowlist discovery warnings into explicit host-owned discovery-policy results before the orchestrator logs them - by moving duplicate precedence, config enablement, and early memory-slot gating into explicit host-owned activation-policy outcomes instead of leaving them inline in the loader flow - by turning provenance-based untracked-extension warnings and final memory-slot warnings into explicit host-owned finalization-policy results before the finalizer applies them @@ -117,6 +119,7 @@ Committed implementation slices so far: - `fc51ce2867` `Plugins: add loader activation policy` - `fd7488e10a` `Plugins: add loader finalization policy` - `97e2af7f97` `Plugins: add loader discovery policy` +- `83b18eab72` `Plugins: share loader provenance helpers` - `89414ed857` `Docs: track extension host migration internally` - `d8af1eceaf` `Docs: refresh extension host migration status`