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-specunit for ML-00 through ML-07 from exact accepted Data Service headeb5d15d68470b30ec181164f08f0d7b027ef0006. - 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
mainworktree 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
c092863ee600808e8a7c15440b3c370fd649a885at the exact ML-00 frontier2ab1c51a2404086cbd688ac80154765d7c5d4662as coordinator product commit422150d4fabdcc703952797875f88f239ca1e37a, with no cherry-pick conflict. The supersededf83038d371888cca87f0f04d0e61906d499668ebwas 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 inD:\Datas\OthersProjects\makelore-plugin-ml01-package-selection-8d3c7a21. The exact downstream product frontier handed to ML-02 is422150d4fabdcc703952797875f88f239ca1e37a. -
Integrated ML-02 from source task
20260827-plugin-ml02-policy-registry-3f7b2c91and sole source commit0064043c8f1e0e80c0b73dd0064b3abe8ba30b01, whose exact parent was the coordinator frontierd9c9a2b0dd8fd495c6aa5a0994598192ad9c8e58. The cherry-pick produced coordinator product commita0361a3cda08ab4d7454d35caa56a5a4304a9dcawithout conflict. The foreign ML-02 task record was deleted from this coordinator while its source record remains inD:\Datas\OthersProjects\makelore-plugin-ml02-policy-registry-3f7b2c91. ML-02 consumes the frozen WS-02 catalog DTO: schema version 1, onemakelore.data-serviceplugin, three capabilities/fourteen operations, andplatform_meteredunavailable projected asbilling_unavailable. The coordinator-approved one-time ownership transfer covered only theToolDetailsenvelope discriminator/display branch insrc/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 isa0361a3cda08ab4d7454d35caa56a5a4304a9dca.
Verification
git rev-parse HEADbefore the checkpoint returned exacteb5d15d68470b30ec181164f08f0d7b027ef0006.- The fresh worktree initially had no
node_modules, so the first typecheck failed only becausetscwas unavailable.corepack pnpm install --frozen-lockfileinstalled the locked 997-package graph with pnpm10.33.4; no source or lockfile changed. corepack pnpm run typecheckthen 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, andpi-product-artifact) passed70 passed, 2 skippedin 10.21s with one worker. - No client product file changed; only this task-scoped record is committed by
ML-00. The root
mainworktree was restored clean atf245603...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 fromeb5d15d.... - ML-01 precondition and merge: coordinator was clean at exact frontier
2ab1c51a2404086cbd688ac80154765d7c5d4662; replacement source parent matched exactly; cherry-pick produced422150d4fabdcc703952797875f88f239ca1e37awithout 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 insrc/pages/Home/index.tsxandsrc/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-ownedtests/unit/data-service-sdk-assets.test.tsassertion now targets the canonical package path and passed; this merger did not edit unrelated tests. Any remaining consumer of the removed legacyresources/coding-skills/data-servicepath 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 --checkpassed. - ML-02 precondition and merge: coordinator was clean at exact frontier
d9c9a2b0dd8fd495c6aa5a0994598192ad9c8e58; source commit0064043c8f1e0e80c0b73dd0064b3abe8ba30b01had that exact parent and cherry-picked without conflict asa0361a3cda08ab4d7454d35caa56a5a4304a9dca. 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, anddata-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 insrc/pages/Home/index.tsxandsrc/pages/Makelore/index.tsx.- Product contract audit passed: no
details.schema === 'data-service.v1'consumer remains; everydata-service.v1occurrence insrc/,electron/,shared/, andtests/is the nestedpayload_schemacontract. The ML-02 net change passedgit 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-servicepath 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.