14 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 through ML-03 integrated; ML-04 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. -
Integrated ML-03 from source task
20260827-plugin-ml03-worker-materialization-9b2e6c41and sole source commit945d6bd81016eec373a82f63182cf1f7cf0718f5, whose exact parent was the coordinator frontierc4dd8923a0076920e8a7fd8820fdc01bdfde1760. The cherry-pick produced coordinator product commitfd891ff3bb87a29381a0a7006fb4618ec4fe144fwithout conflict. The foreign ML-03 task record was deleted from this coordinator while its source record remains inD:\Datas\OthersProjects\makelore-plugin-ml03-worker-materialization-9b2e6c41. ML-03 owns exactly six Pi product files and five Pi-focused tests: one frozen effective worker-resource snapshot, dynamic Skill/declaration/bridge/CLI materialization, child-empty exposure, known-disabled/re-enabled assignment behavior, old-worker refusal, and removal of the static Data Service worker list. The source task execution briefly shared a worktree with an earlier agent; that agent was interrupted when discovered, and the final commit was then fully reviewed by serial takeover. This record does not claim that the source task was never concurrently shared. The exact downstream product frontier handed to ML-04 isfd891ff3bb87a29381a0a7006fb4618ec4fe144f.
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. - ML-03 precondition and merge: coordinator was clean at exact frontier
c4dd8923a0076920e8a7fd8820fdc01bdfde1760; source commit945d6bd81016eec373a82f63182cf1f7cf0718f5had that exact parent and cherry-picked without conflict asfd891ff3bb87a29381a0a7006fb4618ec4fe144f. The merged change set contains exactly six Pi product files and five named Pi tests, with no other Host, Renderer, registry, preview, or P1 path; the source task record remains in its worktree. The source execution's brief shared-worktree incident and interruption were retained accurately; the merger's review and verification were performed serially after takeover. - ML-03 owned focused verification:
corepack pnpm exec vitest run tests/unit/pi-resource-loader.test.ts tests/unit/pi-extension-host.test.ts tests/unit/pi-extension-bundle.test.ts tests/unit/pi-worker-process-real.test.ts tests/unit/pi-rpc-foundation.test.ts --maxWorkers=1— 5 files / 43 passed / 2 skipped (Vitest 7.65s; the skips are staged-runtime gated). - All Pi regressions:
pi-*.test.ts— 30 files / 169 passed / 2 skipped (Vitest 19.34s, 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.corepack pnpm run build:vite— passed for Renderer, Main, Preload, and utility bundles; only existing dynamic-import/chunk-size warnings were emitted. The ML-03 changed files contain no static Data Service worker list; dynamic declarations, bridge allowlisting, CLI agreement, child-empty exposure, disabled/re-enabled assignment, and old-worker behavior are covered by the owned focused suite.git diff --checkpassed.
Follow-ups
- ML-04 may consume the effective plugin worker-resource snapshot, dynamic Pi
declarations/bridge/CLI materialization, and child-empty behavior from exact
product frontier
fd891ff3bb87a29381a0a7006fb4618ec4fe144f; ML-04 owns its Host/Renderer composition changes. - 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.