From c612a670536bd304fbbaf1db12773ae116bb55ec Mon Sep 17 00:00:00 2001 From: rookiestar28 Date: Wed, 8 Jul 2026 02:45:39 +0800 Subject: [PATCH] docs(compatibility): refresh host reference anchors Update active ComfyUI and standalone frontend compatibility anchors while preserving desktop as a lagging host surface. Refresh host-surface expectations and compatibility governance tests. Validation: Windows full test gate passed with Playwright 39 passed. --- README.md | 4 ++-- docs/asset_api_adoption_decision.md | 6 +++--- docs/frontend_ux_walkthrough.md | 2 +- docs/release/compatibility_matrix.md | 20 +++++++++---------- docs/release/recent_updates.md | 2 +- tests/e2e/specs/desktop_host_parity.spec.js | 6 +++--- ...est_r90_compatibility_matrix_governance.py | 4 ++-- web/openclaw_host_surface.js | 4 ++-- web/tests/unit/openclaw_host_surface.test.js | 2 +- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 820229d..3a88285 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ Deployment profiles and hardening references: ComfyUI host compatibility, media outputs, model folders, and prompt attribution refreshed -- Refreshed the published compatibility baseline for ComfyUI `f6c162dd` (`v0.26.0`, pyproject `0.26.0`), standalone frontend `1.47.3`, and Desktop `0.9.4` with core `0.22.3` plus embedded frontend `1.43.18`. +- Refreshed the published compatibility baseline for ComfyUI `51bf508a` (`v0.27.0-25-g51bf508a`, pyproject `0.27.0`), standalone frontend `1.47.6`, and Desktop `0.9.4` with core `0.22.3` plus embedded frontend `1.43.18`. - Reconciled active prompt state after backend or SSE reconnects so completed prompts are not left in the active queue lane after a host recovery. - Updated sidebar registration to prefer the current ComfyUI sidebar store API and keep the deprecated frontend facade as a compatibility fallback for older hosts. - Aligned Model Manager and preflight diagnostics with current ComfyUI model folder names, including newer managed keys such as `gligen`, `latent_upscale_models`, `hypernetworks`, `photomaker`, `model_patches`, `geometry_estimation`, and `detection`, while retaining legacy aliases such as `clip` and `unet`. @@ -408,7 +408,7 @@ New shell/tab wiring should use the shared text-safe DOM helpers in `web/opencla Canonical DOM/class ownership is now centered on `openclaw-*`; legacy `moltbot-*` class compatibility is still supported through shared runtime aliasing instead of duplicated markup in each tab template. -The sidebar now also resolves and stamps its active host surface (`standalone_frontend` vs desktop-embedded host) and reference metadata at mount time, so Desktop `0.9.4` embedded-frontend lag against standalone frontend `1.47.3` is explicit and testable instead of inferred from runtime accidents. +The sidebar now also resolves and stamps its active host surface (`standalone_frontend` vs desktop-embedded host) and reference metadata at mount time, so Desktop `0.9.4` embedded-frontend lag against standalone frontend `1.47.6` is explicit and testable instead of inferred from runtime accidents. Sidebar registration prefers ComfyUI's current sidebar store API and falls back to the deprecated frontend facade when running on older host bundles. Hosts without either sidebar API use the legacy menu fallback instead of failing extension setup. diff --git a/docs/asset_api_adoption_decision.md b/docs/asset_api_adoption_decision.md index 4289e06..a948138 100644 --- a/docs/asset_api_adoption_decision.md +++ b/docs/asset_api_adoption_decision.md @@ -1,8 +1,8 @@ # ComfyUI Asset API Adoption Decision (2026-04-16) -## 2026-06-24 reconfirmation +## 2026-07-08 reference anchor update -- Current reference anchor is ComfyUI `f6c162dd` (`v0.26.0`, pyproject `0.26.0`). +- Current reference anchor is ComfyUI `51bf508a` (`v0.27.0-25-g51bf508a`, pyproject `0.27.0`). - SaveImage output sockets, 3D preview refs, typed asset dimensions, grouped asset downloads, and `hash` / `asset_hash` aliases do not change the no-go decision. - OpenClaw continues to use `/history` + `/view`; asset-service-only refs stay explicit `asset_api_required` states. @@ -29,7 +29,7 @@ - classic ComfyUI output refs (`filename`, `subfolder`, `type`) - asset-hash-backed refs that still resolve through `/view?filename=blake3:...` - media-aware output groups (`images`, `video`, `audio`, `3d`, and bounded `text`) -- Current ComfyUI `f6c162dd` / `v0.26.0` / pyproject `0.26.0` reference facts: +- Current ComfyUI `51bf508a` / `v0.27.0-25-g51bf508a` / pyproject `0.27.0` reference facts: - `/api/assets*` routes exist, but operational use is feature-gated behind `--enable-assets` - `/features` exposes the `assets` capability flag so hosts can report whether the asset system is enabled - frontend preview still resolves `blake3:...` asset hashes through `/view`, so hash-backed outputs do not require a direct `/api/assets` fetch diff --git a/docs/frontend_ux_walkthrough.md b/docs/frontend_ux_walkthrough.md index fc6f1fd..e9825f1 100644 --- a/docs/frontend_ux_walkthrough.md +++ b/docs/frontend_ux_walkthrough.md @@ -46,7 +46,7 @@ If `assist_streaming` is unavailable or the stream transport degrades, Planner/R - OpenClaw treats standalone `ComfyUI_frontend` and `desktop` as distinct frontend host surfaces. - The sidebar stamps its resolved host surface and refreshed host-reference metadata at mount time so desktop bundle drift is explicit in diagnostics and regression tests. -- The standalone Remote Admin Console now stamps the same host-surface metadata on its document root, including desktop `0.9.4`, bundled core `0.22.3`, embedded frontend `1.43.18`, and lagging parity relative to standalone frontend `1.47.3`. +- The standalone Remote Admin Console now stamps the same host-surface metadata on its document root, including desktop `0.9.4`, bundled core `0.22.3`, embedded frontend `1.43.18`, and lagging parity relative to standalone frontend `1.47.6`. - Graph/widget compatibility code should route through shared host helpers to keep nested-subgraph and promoted-widget behavior aligned with current upstream host semantics. ## Standalone Remote Admin Console diff --git a/docs/release/compatibility_matrix.md b/docs/release/compatibility_matrix.md index eff66fe..745a2bc 100644 --- a/docs/release/compatibility_matrix.md +++ b/docs/release/compatibility_matrix.md @@ -3,17 +3,17 @@ ```openclaw-compat-matrix-meta { "anchors": { - "comfyui": "f6c162dd (v0.26.0 / pyproject 0.26.0)", - "comfyui_frontend": "1.47.3 (f076106ca / v1.47.3-5-gf076106ca)", + "comfyui": "51bf508a (v0.27.0-25-g51bf508a / pyproject 0.27.0)", + "comfyui_frontend": "1.47.6 (747f76db76 / v1.47.6-53-g747f76db76)", "desktop": "0.9.4 (core 0.22.3 / frontend 1.43.18)" }, "evidence": { - "evidence_id": "compat-matrix-refresh-20260624", - "updated_at": "2026-06-24T05:10:00+00:00", + "evidence_id": "compat-matrix-refresh-20260708", + "updated_at": "2026-07-07T16:00:00+00:00", "updated_by": "host-reference-refresh" }, - "last_validated_date": "2026-06-24", - "matrix_version": "v0.2.6", + "last_validated_date": "2026-07-07", + "matrix_version": "v0.2.7", "policy": { "max_age_days": 45, "warn_age_days": 30 @@ -28,8 +28,8 @@ This document tracks the current reference anchors and validated environments fo | Component | Validated Range | Best Effort / Experimental | Notes | | :--- | :--- | :--- | :--- | -| **ComfyUI** | `f6c162dd` reference anchor (`v0.26.0`; `pyproject.toml` version `0.26.0`) | Older tagged snapshots | Current local upstream reference repo snapshot used for compatibility review | -| **ComfyUI Frontend** | `1.47.3` reference anchor (`f076106ca`; `v1.47.3-5-gf076106ca`) | Minor drift around the anchor | Sidebar extension contract remains compatible; prefer the current sidebar store API with deprecated facade fallback | +| **ComfyUI** | `51bf508a` reference anchor (`v0.27.0-25-g51bf508a`; `pyproject.toml` version `0.27.0`) | Older tagged snapshots | Current local upstream reference repo snapshot used for compatibility review | +| **ComfyUI Frontend** | `1.47.6` reference anchor (`747f76db76`; `v1.47.6-53-g747f76db76`) | Minor drift around the anchor | Sidebar extension contract remains compatible; prefer the current sidebar store API with deprecated facade fallback | | **ComfyUI Desktop** | `0.9.4 (core 0.22.3 / frontend 1.43.18)` reference anchor | Desktop bundle may lag standalone frontend | Treat desktop parity as a distinct host surface, not an alias of standalone frontend HEAD | | **Python** | 3.10, 3.11, 3.12 | 3.9 | 3.13 not yet validated | | **Torch** | 2.1.2+ | 1.13+ | CUDA 11.8/12.1 verified | @@ -38,7 +38,7 @@ This document tracks the current reference anchors and validated environments fo - **ComfyUI host runtime**: current bootstrap assumptions remain aligned with upstream `PromptServer` startup and route registration flow, including `/api`-prefixed canonical API routing. - **Frontend host surface**: current sidebar integration contract remains compatible with the standalone frontend reference anchor, while inactive subgraph diagnostics and promoted-widget behavior remain regression-sensitive seams. -- **Desktop host surface**: desktop currently embeds frontend `1.43.18`, which still lags the standalone frontend `1.47.3` reference. Validate desktop-specific behavior against the desktop anchor instead of assuming standalone-frontend parity. +- **Desktop host surface**: desktop currently embeds frontend `1.43.18`, which still lags the standalone frontend `1.47.6` reference. Validate desktop-specific behavior against the desktop anchor instead of assuming standalone-frontend parity. ## Residual Host-Contract Decisions @@ -46,7 +46,7 @@ This document tracks the current reference anchors and validated environments fo - **3D output refs**: `Load3DAdvanced` and related 3D preview refs remain media-aware output refs. File-like and hash-backed 3D refs stay on the bounded `/view` preview contract; clients without a 3D renderer should show an explicit fallback/link surface. - **Asset dimensions and grouped assets**: typed width/height metadata and grouped multi-download behavior are host-frontend display/download concerns. They do not change OpenClaw fetch routing, and asset-service-only identifiers remain explicit `asset_api_required` states rather than implicit `/api/assets` fetches. - **Sidebar registration**: prefer the current `sidebarTab.registerSidebarTab` host API and retain the deprecated `extensionManager.registerSidebarTab` fallback for older or desktop-embedded frontend hosts. -- **Node runtime policy**: the standalone ComfyUI frontend development workspace currently declares `node >=25 <26`, but OpenClaw keeps its package engine at `>=18.0.0` because this custom-node package runs its own Playwright/Vitest harness and does not build the host frontend workspace. OpenClaw acceptance remains governed by `tests/TEST_SOP.md` and `tests/E2E_TESTING_SOP.md`, which require Node.js 18+ and CI-parity validation on the project test harness. +- **Node runtime policy**: the standalone ComfyUI frontend development workspace currently declares `node >=25 <26` and `pnpm >=11.3`, but OpenClaw keeps its package engine at `>=18.0.0` because this custom-node package runs its own Playwright/Vitest harness and does not build the host frontend workspace. OpenClaw acceptance remains governed by `tests/TEST_SOP.md` and `tests/E2E_TESTING_SOP.md`, which require Node.js 18+ and CI-parity validation on the project test harness. ## Operating Systems diff --git a/docs/release/recent_updates.md b/docs/release/recent_updates.md index d558bd2..0e8adfb 100644 --- a/docs/release/recent_updates.md +++ b/docs/release/recent_updates.md @@ -32,7 +32,7 @@ Newest entries appear first. ComfyUI host compatibility, media outputs, model folders, and prompt attribution refreshed -- Refreshed the published compatibility baseline for ComfyUI `f6c162dd` (`v0.26.0`, pyproject `0.26.0`), standalone frontend `1.47.3`, and Desktop `0.9.4` with core `0.22.3` plus embedded frontend `1.43.18`. +- Refreshed the published compatibility baseline for ComfyUI `51bf508a` (`v0.27.0-25-g51bf508a`, pyproject `0.27.0`), standalone frontend `1.47.6`, and Desktop `0.9.4` with core `0.22.3` plus embedded frontend `1.43.18`. - Reconciled active prompt state after backend or SSE reconnects so completed prompts are not left in the active queue lane after a host recovery. - Updated sidebar registration to prefer the current ComfyUI sidebar store API and keep the deprecated frontend facade as a compatibility fallback for older hosts. - Aligned Model Manager and preflight diagnostics with current ComfyUI model folder names, including newer managed keys such as `gligen`, `latent_upscale_models`, `hypernetworks`, `photomaker`, `model_patches`, `geometry_estimation`, and `detection`, while retaining legacy aliases such as `clip` and `unet`. diff --git a/tests/e2e/specs/desktop_host_parity.spec.js b/tests/e2e/specs/desktop_host_parity.spec.js index 4a905ee..383a9c6 100644 --- a/tests/e2e/specs/desktop_host_parity.spec.js +++ b/tests/e2e/specs/desktop_host_parity.spec.js @@ -26,7 +26,7 @@ test.describe('Desktop host parity lane', () => { const host = page.locator('#sidebar-tab-comfyui-openclaw'); await expect(host).toHaveAttribute('data-openclaw-host-surface', 'standalone_frontend'); await expect(host).toHaveAttribute('data-openclaw-desktop-host', 'false'); - await expect(host).toHaveAttribute('data-openclaw-reference-frontend', '1.47.3'); + await expect(host).toHaveAttribute('data-openclaw-reference-frontend', '1.47.6'); }); test('boots the sidebar under desktop host signals and keeps approvals interactive', async ({ page }) => { @@ -38,7 +38,7 @@ test.describe('Desktop host parity lane', () => { const host = page.locator('#sidebar-tab-comfyui-openclaw'); await expect(host).toHaveAttribute('data-openclaw-host-surface', 'desktop'); await expect(host).toHaveAttribute('data-openclaw-desktop-host', 'true'); - await expect(host).toHaveAttribute('data-openclaw-reference-frontend', '1.47.3'); + await expect(host).toHaveAttribute('data-openclaw-reference-frontend', '1.47.6'); await expect(host).toHaveAttribute('data-openclaw-desktop-version', '0.9.4'); await expect(host).toHaveAttribute('data-openclaw-desktop-core-version', '0.22.3'); await expect(host).toHaveAttribute('data-openclaw-desktop-embedded-frontend', '1.43.18'); @@ -58,7 +58,7 @@ test.describe('Desktop host parity lane', () => { await expect(page.locator('body')).toHaveAttribute('data-openclaw-host-surface', 'desktop'); await expect(page.locator('body')).toHaveAttribute('data-openclaw-desktop-host', 'true'); - await expect(page.locator('body')).toHaveAttribute('data-openclaw-reference-frontend', '1.47.3'); + await expect(page.locator('body')).toHaveAttribute('data-openclaw-reference-frontend', '1.47.6'); await expect(page.locator('body')).toHaveAttribute('data-openclaw-desktop-version', '0.9.4'); await expect(page.locator('body')).toHaveAttribute('data-openclaw-desktop-core-version', '0.22.3'); await expect(page.locator('body')).toHaveAttribute('data-openclaw-desktop-embedded-frontend', '1.43.18'); diff --git a/tests/test_r90_compatibility_matrix_governance.py b/tests/test_r90_compatibility_matrix_governance.py index 1e7f94f..82689a5 100644 --- a/tests/test_r90_compatibility_matrix_governance.py +++ b/tests/test_r90_compatibility_matrix_governance.py @@ -22,8 +22,8 @@ from services.operator_doctor import DoctorReport, check_compatibility_matrix_go REPO_ROOT = Path(__file__).resolve().parents[1] EXPECTED_CURRENT_ANCHORS = { - "comfyui": "f6c162dd (v0.26.0 / pyproject 0.26.0)", - "comfyui_frontend": "1.47.3 (f076106ca / v1.47.3-5-gf076106ca)", + "comfyui": "51bf508a (v0.27.0-25-g51bf508a / pyproject 0.27.0)", + "comfyui_frontend": "1.47.6 (747f76db76 / v1.47.6-53-g747f76db76)", "desktop": "0.9.4 (core 0.22.3 / frontend 1.43.18)", } diff --git a/web/openclaw_host_surface.js b/web/openclaw_host_surface.js index 3114799..2935718 100644 --- a/web/openclaw_host_surface.js +++ b/web/openclaw_host_surface.js @@ -11,13 +11,13 @@ export const HOST_SURFACES = Object.freeze({ export const HOST_SURFACE_REFERENCES = Object.freeze({ [HOST_SURFACES.standaloneFrontend]: Object.freeze({ - frontendVersion: "1.47.3", + frontendVersion: "1.47.6", }), [HOST_SURFACES.desktop]: Object.freeze({ desktopVersion: "0.9.4", coreVersion: "0.22.3", embeddedFrontendVersion: "1.43.18", - standaloneFrontendVersion: "1.47.3", + standaloneFrontendVersion: "1.47.6", frontendParity: "lagging", }), }); diff --git a/web/tests/unit/openclaw_host_surface.test.js b/web/tests/unit/openclaw_host_surface.test.js index aadefb7..32dd157 100644 --- a/web/tests/unit/openclaw_host_surface.test.js +++ b/web/tests/unit/openclaw_host_surface.test.js @@ -37,7 +37,7 @@ describe("openclaw_host_surface", () => { }); expect(container.dataset.openclawHostSurface).toBe("desktop"); expect(container.dataset.openclawDesktopHost).toBe("true"); - expect(container.dataset.openclawReferenceFrontend).toBe("1.47.3"); + expect(container.dataset.openclawReferenceFrontend).toBe("1.47.6"); expect(container.dataset.openclawDesktopVersion).toBe("0.9.4"); expect(container.dataset.openclawDesktopCoreVersion).toBe("0.22.3"); expect(container.dataset.openclawDesktopEmbeddedFrontend).toBe("1.43.18");