Files
makelore/.project-docs/30-worklog/tasks/20260827-makelore-plugin-client-7d3a91c4.md

145 lines
7.8 KiB
Markdown

# Task: Implement MakeLore Plugin Platform P0 client
## Identity
- Task ID: 20260827-makelore-plugin-client-7d3a91c4
- Mode: Feature
- Branch: codex/20260827-makelore-plugin-client-7d3a91c4-makelore-plugin-client
- Worktree: D:\Datas\OthersProjects\makelore-plugin-client-7d3a91c4
- Base commit: eb5d15d68470b30ec181164f08f0d7b027ef0006
- Owner: codex-root
- Status: In Progress (ML-00/ML-01 integrated; ML-02 frontier pending)
## Scope
- Coordinate the repository-local `implement-spec` unit for ML-00 through ML-07
from exact accepted Data Service head
`eb5d15d68470b30ec181164f08f0d7b027ef0006`.
- Deliver the fixed bundled package, project selection, strict policy/capability
registry and envelope, dynamic Pi Skill/tool materialization, Host/lifecycle
integration, Plugin Center, packaged proof, verification, and fixed-range review.
- Own only this isolated client branch, repository-local integration, project task
record, client verification, and the client half of X-01 evidence.
## Intent And Constraints
- Preserve accepted Data Service project identity, Main-owned credential and typed
operation seams, exact-Origin preview lifecycle, SDK/Skill behavior, and Pi 0.84.2
hard-cutover contracts.
- Keep package availability, local enablement, Agent Skill assignment, backend
configuration, invocation, and billing policy independently observable.
- P0 scans only fixed bundled roots and adds no arbitrary code/MCP/hooks,
marketplace, download/update, generic invoke/config/ledger, Plugin Credits,
`plugin_charges`, publication coupling, or external-browser capability.
- Renderer cannot choose project authority, owner, credential, policy, price, or
request identity; child workers receive no plugin Skills/tools.
- All implementation tickets use exact-frontier isolated worktrees and one commit;
implementers are not alone in the repository and must not revert other changes.
- The user root `main` worktree is read-only. The user did not request publication;
no PR is claimed unless one actually exists.
## Project Context Loaded
- Task ID/mode/branch/worktree/base match the Git-common owner record exactly.
- Read `AGENTS.md`, the mandatory project-memory entry set, active task record,
positioning/current-state/decision/architecture/data-flow/domain/evidence/
reflection/commitment/stale material, the implementation spec, detailed-design
sections 6-9 and 14-17, ticket graph, and the accepted Data Service client peer.
- Other local owners: 149 including this task (12 planning, 137 ready for
integration). The only same-topic peer is the completed Data Service coordinator
whose exact evidence head is this task's base; it is not resumed or modified.
- Overlap assessment: no unresolved semantic conflict. ML-01 through ML-05 have
disjoint primary ownership and execute strictly in graph order; ML-02 waits for
both ML-01 and the exact WS-02 catalog DTO.
- Current integrated memory predates this unintegrated Data Service/plugin work;
accepted branch/task evidence and the frozen spec control this feature branch.
- Likely modules are the package/project-service, policy/capability registry,
Pi resource/runtime, Host composition/lifecycle, Renderer Plugin Center, and
packaged-proof paths named by the ticket graph.
- Gate result: Passed on 2026-08-27.
## Ticket Ownership
- ML-00, ML-06, and X-01 client evidence: coordinator in this worktree.
- ML-01 through ML-05: isolated implementers from exact frontier commits, with ML-02
waiting for WS-02's catalog shape.
- ML-07: fixed-range Standards/Spec reviewers; accepted findings go to one isolated
remediation owner before repeat review.
## Outcome
- 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.
- 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
- `git rev-parse HEAD` before the checkpoint returned exact
`eb5d15d68470b30ec181164f08f0d7b027ef0006`.
- The fresh worktree initially had no `node_modules`, so the first typecheck failed
only because `tsc` was unavailable. `corepack pnpm install --frozen-lockfile`
installed the locked 997-package graph with pnpm `10.33.4`; no source or lockfile
changed.
- `corepack pnpm run typecheck` then passed.
- The nine-file Data Service/Pi/package baseline (`data-service-sdk-assets`,
`data-service-server-registration`, `pi-product-tools`, `pi-extension-host`,
`pi-worker-process-real`, `coding-conversation-contracts`,
`preview-data-session`, `data-service-routes`, and `pi-product-artifact`) passed
`70 passed, 2 skipped` in 10.21s with one worker.
- No client product file changed; only this task-scoped record is committed by
ML-00. The root `main` worktree was restored clean at `f245603...` after an
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
- 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
- None recorded.