chore(coding): record ML-01 package merge

This commit is contained in:
2026-08-27 15:21:56 +08:00
parent 422150d4fa
commit d9c9a2b0dd
2 changed files with 45 additions and 78 deletions

View File

@@ -8,7 +8,7 @@
- Worktree: D:\Datas\OthersProjects\makelore-plugin-client-7d3a91c4
- Base commit: eb5d15d68470b30ec181164f08f0d7b027ef0006
- Owner: codex-root
- Status: In Progress
- Status: In Progress (ML-00/ML-01 integrated; ML-02 frontier pending)
## Scope
@@ -71,8 +71,19 @@
- ML-00 completed: the client coordination unit is isolated from exact accepted
Data Service evidence head, ownership/planning gates passed, and no product file
changed before the first implementation frontier.
- Current frontier after this checkpoint: ML-01. WS-01 proceeds independently on
the server branch.
- Integrated ML-01 from replacement source commit
`c092863ee600808e8a7c15440b3c370fd649a885` at the exact ML-00 frontier
`2ab1c51a2404086cbd688ac80154765d7c5d4662` as coordinator product commit
`422150d4fabdcc703952797875f88f239ca1e37a`, with no cherry-pick conflict.
The superseded `f83038d371888cca87f0f04d0e61906d499668eb` was not
cherry-picked. ML-01 adds the fixed bundled Data Service plugin manifest and
capability projection, atomic project plugin selection service, package-owned
Skill/SDK resource move, and core Skill registry projection. The coordinator
foreign ML-01 task record is removed in the docs checkpoint while its source
record remains in
`D:\Datas\OthersProjects\makelore-plugin-ml01-package-selection-8d3c7a21`.
The exact downstream product frontier handed to ML-02 is
`422150d4fabdcc703952797875f88f239ca1e37a`.
## Verification
@@ -93,10 +104,40 @@
initial task-context claim selected the clean root despite isolation arguments;
the generated record/claim were removed through the normal release path before
the successful isolated start from `eb5d15d...`.
- ML-01 precondition and merge: coordinator was clean at exact frontier
`2ab1c51a2404086cbd688ac80154765d7c5d4662`; replacement source parent matched
exactly; cherry-pick produced `422150d4fabdcc703952797875f88f239ca1e37a`
without conflict.
- ML-01 focused verification:
`corepack pnpm exec vitest run tests/unit/data-service-sdk-assets.test.ts
tests/unit/coding-plugin-manifest.test.ts tests/unit/project-plugin-service.test.ts
tests/unit/skill-display.test.ts tests/unit/pi-product-tools.test.ts
--maxWorkers=1` — 5 files / 45 tests passed (Vitest 3.15s).
- ML-01 `corepack pnpm run typecheck` — passed.
- ML-01 `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`.
- Scoped ESLint over ML-01-owned source/tests — passed with no output.
- The Skill and SDK resource move is byte-for-byte (`R100`). The ML-01-owned
`tests/unit/data-service-sdk-assets.test.ts` assertion now targets the
canonical package path and passed; this merger did not edit unrelated tests.
Any remaining consumer of the removed legacy
`resources/coding-skills/data-service` path must migrate under its owning
ticket, not this merger.
- ML-01 path/scope audit matched the source change set: package manifest/service,
existing Skill registry/shared definitions, plugin resources, and focused tests
only. No P1 policy/capability-invoke, Pi runtime, Host, Renderer,
marketplace/download/update, generic execution, pricing, or billing paths were
added. `git diff --check` passed.
## Follow-ups
- None recorded.
- ML-02 may consume the exported bundled-plugin definitions and
`ProjectPluginService` callback interfaces from exact product frontier
`422150d4fabdcc703952797875f88f239ca1e37a`.
- 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.
## Promotion Candidates

View File

@@ -1,74 +0,0 @@
# Task: Implement ML-01 package selection and bundled plugin registry
## Identity
- Task ID: 20260827-plugin-ml01-package-selection-8d3c7a21
- Mode: Feature
- Branch: codex/20260827-plugin-ml01-package-selection-8d3c7a21-plugin-ml01-package-selection
- Worktree: D:\Datas\OthersProjects\makelore-plugin-ml01-package-selection-8d3c7a21
- Base commit: 2ab1c51a2404086cbd688ac80154765d7c5d4662
- Owner: plugin_ml01_package_selection
- Status: Ready for integration
## Scope
- Implement ML-01 in the isolated MakeLore client worktree only.
- Add immutable shared plugin/tool definitions for the bundled Data Service package.
- Add exact Agent Plugins root/capability manifest parsing, fixed bundled-root resolution,
allowlist/path/reference/uniqueness validation, and unsupported component rejection.
- Add atomic project plugin selection persistence and legacy `data-service` Skill projection,
including deterministic IDs, unknown-ID preservation, idempotent state changes, managed-input
revision callbacks, and adapter deactivation callbacks.
- Move the Data Service Skill and SDK assets into the bundled plugin package without changing
their content or Skill ID; project the package Skill through the existing Skill registry.
- Add ML-01-focused manifest, project selection, and Skill display tests.
## Intent And Constraints
- Base is the exact accepted ML-00 client frontier `2ab1c51a2404086cbd688ac80154765d7c5d4662`.
- Work is isolated at this task's linked worktree; do not alter the occupied client coordinator
or any other task's files.
- Preserve the frozen P0 scope: bundled Data Service only, no policy HTTP, capability invoke,
Pi runtime/CLI, Host/Renderer, generic execution, pricing, or P1 marketplace behavior.
- Keep `shared/coding-skills.ts` limited to core Skill IDs; package-owned Skills come from the
validated package projection.
- The SDK asset test is part of this correction because the ML-01 resource move owns its target
path; update assertions only to the new package location without changing SDK behavior.
## Outcome
- Added `shared/coding-plugins.ts` with deeply immutable Data Service definitions and all ten
stable parent-only tool declarations/input schemas.
- Added `electron/coding-plugins/manifest.ts` with exact root/capability parsing, fixed bundle
roots, code-owned allowlists, path containment, unique/reference checks, destructive confirmation
checks, and unsupported MCP/hooks/executables handling.
- Added `electron/coding-plugins/project-service.ts` with atomic `.niancode/plugins.json` state,
unknown-ID retention, legacy Skill projection, deterministic output, idempotent mutations, and
lifecycle callback seams.
- Moved `data-service/SKILL.md`, `makelore-data.ts`, and `makelore-data.js` under
`resources/coding-plugins/data-service/skills/data-service/` byte-for-byte, and added the root
and capability manifests.
- Updated `electron/coding-projects/skill-registry.ts` to merge core Skills with the fixed package
Skill projection while preserving existing display/command behavior.
## Verification
- `corepack pnpm exec vitest run tests/unit/data-service-sdk-assets.test.ts tests/unit/coding-plugin-manifest.test.ts tests/unit/project-plugin-service.test.ts tests/unit/skill-display.test.ts tests/unit/pi-product-tools.test.ts --maxWorkers=1` — passed, 5 files / 45 tests.
- `corepack pnpm run typecheck` — passed.
- `corepack pnpm run lint:check` — passed with five pre-existing warnings in `src/pages/Home/index.tsx` and `src/pages/Makelore/index.tsx`, zero errors.
- Scoped ESLint for all ML-01-owned source/tests — passed.
- Git blob comparison confirmed moved Skill/SDK assets retain the exact base contents.
- `tests/unit/data-service-sdk-assets.test.ts` now verifies the canonical package Skill/asset path
under `resources/coding-plugins/data-service/skills/data-service/`; its SDK behavior assertions
pass unchanged.
## Follow-ups
- ML-02/ML-03 must consume the exported definition and ProjectPluginService callback interfaces
when wiring registry, adapter, worker materialization, and lifecycle invalidation.
- Main composition remains intentionally unwired in ML-01.
## Promotion Candidates
- None. This feature task implements the already accepted package/selection design and introduces
no canonical project-memory or decision change.