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

11 KiB

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: eb5d15d684
  • Owner: codex-root
  • Status: In Progress (ML-00/ML-02 integrated; ML-03 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.

  • Integrated ML-02 from source task 20260827-plugin-ml02-policy-registry-3f7b2c91 and sole source commit 0064043c8f1e0e80c0b73dd0064b3abe8ba30b01, whose exact parent was the coordinator frontier d9c9a2b0dd8fd495c6aa5a0994598192ad9c8e58. The cherry-pick produced coordinator product commit a0361a3cda08ab4d7454d35caa56a5a4304a9dca without conflict. The foreign ML-02 task record was deleted from this coordinator while its source record remains in D:\Datas\OthersProjects\makelore-plugin-ml02-policy-registry-3f7b2c91. ML-02 consumes the frozen WS-02 catalog DTO: schema version 1, one makelore.data-service plugin, three capabilities/fourteen operations, and platform_metered unavailable projected as billing_unavailable. The coordinator-approved one-time ownership transfer covered only the ToolDetails envelope discriminator/display branch in src/pages/Chat/CodingConversationTimeline.tsx; no other Renderer, worker, Host, preview, or P1 path was transferred or changed. The exact downstream product frontier handed to ML-03 is a0361a3cda08ab4d7454d35caa56a5a4304a9dca.

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.
  • ML-02 precondition and merge: coordinator was clean at exact frontier d9c9a2b0dd8fd495c6aa5a0994598192ad9c8e58; source commit 0064043c8f1e0e80c0b73dd0064b3abe8ba30b01 had that exact parent and cherry-picked without conflict as a0361a3cda08ab4d7454d35caa56a5a4304a9dca. The source change set was limited to the policy client, capability registry/Data Service adapter, Pi product-tool delegation, bounded shared contracts, focused tests, and the one approved timeline branch. No other Renderer, worker, Host, preview, or P1 file was present; the source task record remains in its worktree.
  • ML-02 focused verification: corepack pnpm exec vitest run tests/unit/plugin-policy-client.test.ts tests/unit/coding-capability-registry.test.ts tests/unit/data-service-plugin-adapter.test.ts tests/unit/pi-product-tools.test.ts tests/unit/coding-conversation-contracts.test.ts --maxWorkers=1 — 5 files / 38 tests passed (Vitest 3.26s).
  • Transferred timeline verification: corepack pnpm exec vitest run tests/unit/coding-conversation-timeline.test.tsx --maxWorkers=1 — 1 file / 4 tests passed (Vitest 1.65s).
  • Relevant adjacent regressions: coding-plugin-manifest, project-plugin-service, skill-display, coding-chat-panel, coding-product-services, coding-product-tools-facade, data-service-client, and data-service-routes — 8 files / 57 tests passed (Vitest 9.69s, 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.
  • Product contract audit passed: no details.schema === 'data-service.v1' consumer remains; every data-service.v1 occurrence in src/, electron/, shared/, and tests/ is the nested payload_schema contract. The ML-02 net change passed git diff --check.

Follow-ups

  • ML-03 may consume the policy/capability registry, bounded capability envelope, Data Service adapter, and Pi product-tool delegation from exact product frontier a0361a3cda08ab4d7454d35caa56a5a4304a9dca.
  • 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.