docs: checkpoint ML-05 integration

This commit is contained in:
2026-08-27 18:45:42 +08:00
parent cb1fd2629c
commit 8fea40238f
2 changed files with 37 additions and 63 deletions

View File

@@ -8,7 +8,7 @@
- Worktree: D:\Datas\OthersProjects\makelore-plugin-client-7d3a91c4 - Worktree: D:\Datas\OthersProjects\makelore-plugin-client-7d3a91c4
- Base commit: eb5d15d68470b30ec181164f08f0d7b027ef0006 - Base commit: eb5d15d68470b30ec181164f08f0d7b027ef0006
- Owner: codex-root - 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 ## Scope
@@ -261,12 +261,44 @@
utility bundles; only existing dynamic-import/chunk-size warnings were utility bundles; only existing dynamic-import/chunk-size warnings were
emitted. `git diff --check` passed. 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 ## Follow-ups
- ML-05 may consume the bounded project-plugin projection and exact Main Host - ML-06 is the coordinator-owned packaged-proof frontier from the exact
routes from exact product frontier post-ML-05 product/docs checkpoint; it may edit only the Pi artifact proof
`a18727ecf8f40c1d85e2d40922bcf3bc8d1a0ed3`; it owns the Renderer Plugin library, verifier, and focused test named by the ticket. It must prove the
Center surface and must keep Data Service configuration on its typed routes. 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 - The legacy `resources/coding-skills/data-service` path is intentionally removed
by ML-01; any unowned downstream reference must be migrated by its owning by ML-01; any unowned downstream reference must be migrated by its owning
ticket. This merger made no such downstream edit. ticket. This merger made no such downstream edit.

View File

@@ -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.