diff --git a/.project-docs/30-worklog/tasks/20260827-makelore-plugin-client-7d3a91c4.md b/.project-docs/30-worklog/tasks/20260827-makelore-plugin-client-7d3a91c4.md index 74034c9..b62fe50 100644 --- a/.project-docs/30-worklog/tasks/20260827-makelore-plugin-client-7d3a91c4.md +++ b/.project-docs/30-worklog/tasks/20260827-makelore-plugin-client-7d3a91c4.md @@ -8,7 +8,7 @@ - Worktree: D:\Datas\OthersProjects\makelore-plugin-client-7d3a91c4 - Base commit: eb5d15d68470b30ec181164f08f0d7b027ef0006 - Owner: codex-root -- Status: In Progress (ML-00 through ML-04 integrated; ML-05 frontier pending) +- Status: In Progress (ML-00 through ML-05 integrated; ML-06 frontier pending) ## Scope @@ -261,12 +261,44 @@ utility bundles; only existing dynamic-import/chunk-size warnings were emitted. `git diff --check` passed. +## ML-05 Integration + +- Integrated ML-05 from source task + `20260827-plugin-ml05-plugin-center-6c1e9a42` and sole source commit + `379e575efba8cecb17b10e5e195f05924b827782`, whose exact parent was the + coordinator frontier `b6d9e6156fdc98aa792045692cc25fdce993a531`. + The cherry-pick produced coordinator product commit + `cb1fd2629ce861f72eada35a83e730986fb1c3d1` without conflict. The source + commit contained its source task record plus fourteen Renderer/product-test + files; the foreign task record was deleted from this coordinator in this + checkpoint while the source record remains in + `D:\Datas\OthersProjects\makelore-plugin-ml05-plugin-center-6c1e9a42`. + ML-05 adds the project-scoped Plugin Center, typed project-plugin client/store, + Data Service settings surface, and project navigation. It does not add Main + authority, worker, preview, policy, marketplace, or P1 behavior. The exact + downstream product frontier handed to ML-06 is the post-merge docs checkpoint + recorded below. +- ML-05 focused regression command (using the repository's actual singular + `coding-plugin-routes.test.ts` filename) passed 13 files / 75 tests in 8.64s + with one worker. `corepack pnpm run typecheck` passed. `corepack pnpm run + lint:check` passed with 0 errors and the same 5 pre-existing warnings in + `src/pages/Home/index.tsx` and `src/pages/Makelore/index.tsx`. +- `corepack pnpm run build:vite` passed for Renderer, Main, Preload, and utility + bundles with only existing dynamic-import/chunk-size warnings. After this + required build, `corepack pnpm exec playwright test + tests/e2e/project-plugins.spec.ts --config=playwright.config.ts` passed 1/1 + test in 1.7s. A preliminary direct Playwright invocation against stale + `dist-electron` timed out waiting for the new navigation test id; it is not + counted as a product failure because the repository E2E contract builds first. + ## Follow-ups -- ML-05 may consume the bounded project-plugin projection and exact Main Host - routes from exact product frontier - `a18727ecf8f40c1d85e2d40922bcf3bc8d1a0ed3`; it owns the Renderer Plugin - Center surface and must keep Data Service configuration on its typed routes. +- ML-06 is the coordinator-owned packaged-proof frontier from the exact + post-ML-05 product/docs checkpoint; it may edit only the Pi artifact proof + library, verifier, and focused test named by the ticket. It must prove the + bundled plugin manifest, Skill, SDK assets, adapter/tool catalog, and core + resources without restoring a static Data Service list or adding checksums, + arbitrary execution, generic config/ledger/invoke, publication, or P1 scope. - The legacy `resources/coding-skills/data-service` path is intentionally removed by ML-01; any unowned downstream reference must be migrated by its owning ticket. This merger made no such downstream edit. diff --git a/.project-docs/30-worklog/tasks/20260827-plugin-ml05-plugin-center-6c1e9a42.md b/.project-docs/30-worklog/tasks/20260827-plugin-ml05-plugin-center-6c1e9a42.md deleted file mode 100644 index dc49cf6..0000000 --- a/.project-docs/30-worklog/tasks/20260827-plugin-ml05-plugin-center-6c1e9a42.md +++ /dev/null @@ -1,58 +0,0 @@ -# Task: ML-05 Project Plugin Center - -## Identity - -- Task ID: 20260827-plugin-ml05-plugin-center-6c1e9a42 -- Mode: Feature -- Branch: codex/20260827-plugin-ml05-plugin-center-6c1e9a42-plugin-ml05-plugin-center -- Worktree: D:\Datas\OthersProjects\makelore-plugin-ml05-plugin-center-6c1e9a42 -- Base commit: b6d9e6156fdc98aa792045692cc25fdce993a531 -- Owner: codex -- Status: Ready for Integration - -## Scope - -- Add the project-scoped `/project-plugins` route and sidebar entry without changing Main authority or ML-01–04 source. -- Add the strict Renderer coding-plugin parser/client, shared store, list/detail Plugin Center, and code-owned Data Service settings surface. -- Cover selection/configuration separation, effective states, capability/permission/agent assignment, billing copy, retained disable semantics, and typed destructive actions. - -## Intent And Constraints - -- Main's `CodingPluginProject` projection remains the authority for effective state, billing, backend availability, and project identity. -- Enabling changes plugin selection only; Data Service configuration is always an explicit subsequent action through the existing typed routes. -- No Renderer credential, policy-join, or plugin-host authority was added. No dependency or new animation was introduced. - -## Outcome - -- Implemented bounded parsing and typed Host API clients for plugin projection, selection, and Data Service inspection/configuration/removal. -- Implemented a coalescing store that prevents duplicate pending work, retains same-project data on degraded refresh, and never shows an old projection after switching projects. -- Implemented accessible available/enabled/disabled, identity/auth/configure/ready/degraded states; capability, permission, partner assignment, backend, version, billing, usage/limit, and shared-wallet language; and retained-data disable confirmation. -- Implemented typed confirmations for destructive actions using the real collection or project target. Degraded Data Service keeps the last usage structure visible but disables destructive controls. -- Added the project route and project-scoped navigation while preserving module and initialization gates. - -### UI skill influence - -| Before | After | -| --- | --- | -| No Plugin Center surface | Existing surface/ring/button primitives reused with concentric radii and no new page-load animation | -| Plugin state could rely on color/icon alone | Every state has visible text, semantic status/alert messaging, keyboard focus, and disabled semantics | -| Dynamic usage values had no presentation contract | Counts and byte usage use `tabular-nums`; headings/descriptions use `text-balance`/`text-pretty`; controls retain at least 40px hit areas | - -## Verification - -- Red phase: focused unit tests initially failed on missing owned modules; later capability/degraded and cross-project Data Service isolation assertions failed until the corresponding behavior was implemented. -- `pnpm exec vitest run tests/unit/coding-plugins-client.test.ts tests/unit/coding-plugins-store.test.ts tests/unit/project-plugins-page.test.tsx tests/unit/data-service-plugin-settings.test.tsx tests/unit/main-layout-module-gate.test.tsx tests/unit/main-layout-sidebar-peek.test.tsx tests/unit/sidebar-session-buckets.test.ts tests/unit/coding-plugin-composition.test.ts tests/unit/coding-plugins-routes.test.ts tests/unit/data-service-client.test.ts tests/unit/data-service-routes.test.ts tests/unit/data-service-server-registration.test.ts tests/unit/auth-store.test.ts --maxWorkers=1` — 12 files, 72 tests passed. -- `pnpm exec playwright test tests/e2e/project-plugins.spec.ts --config=playwright.config.ts` — 1 test passed. -- `pnpm typecheck` — passed. -- `pnpm lint:check` — 0 errors; it continues to report the 5 pre-existing `Home`/`Makelore` warnings. -- `pnpm build:vite` — passed; existing Vite dynamic-import and chunk-size warnings remain. -- `git diff --check` — passed. -- Delivery boundary: exact base `b6d9e6156fdc98aa792045692cc25fdce993a531`; one task commit directly on that base (exact immutable commit ID is recorded in the handoff because a commit cannot contain its own hash); worktree clean after commit. - -## Follow-ups - -- Full cross-platform packaged release validation remains coordinator-level work; the target Electron E2E ran successfully on Windows in this worktree. - -## Promotion Candidates - -- None recorded.