docs(coding): record ML-03 worker merge
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-plugin-client-7d3a91c4
|
||||
- Base commit: eb5d15d68470b30ec181164f08f0d7b027ef0006
|
||||
- Owner: codex-root
|
||||
- Status: In Progress (ML-00/ML-02 integrated; ML-03 frontier pending)
|
||||
- Status: In Progress (ML-00 through ML-03 integrated; ML-04 frontier pending)
|
||||
|
||||
## Scope
|
||||
|
||||
@@ -104,6 +104,26 @@
|
||||
downstream product frontier handed to ML-03 is
|
||||
`a0361a3cda08ab4d7454d35caa56a5a4304a9dca`.
|
||||
|
||||
- Integrated ML-03 from source task
|
||||
`20260827-plugin-ml03-worker-materialization-9b2e6c41` and sole source commit
|
||||
`945d6bd81016eec373a82f63182cf1f7cf0718f5`, whose exact parent was the
|
||||
coordinator frontier `c4dd8923a0076920e8a7fd8820fdc01bdfde1760`.
|
||||
The cherry-pick produced coordinator product commit
|
||||
`fd891ff3bb87a29381a0a7006fb4618ec4fe144f` without conflict. The foreign
|
||||
ML-03 task record was deleted from this coordinator while its source record
|
||||
remains in
|
||||
`D:\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 is
|
||||
`fd891ff3bb87a29381a0a7006fb4618ec4fe144f`.
|
||||
|
||||
## Verification
|
||||
|
||||
- `git rev-parse HEAD` before the checkpoint returned exact
|
||||
@@ -178,12 +198,41 @@
|
||||
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`.
|
||||
- ML-03 precondition and merge: coordinator was clean at exact frontier
|
||||
`c4dd8923a0076920e8a7fd8820fdc01bdfde1760`; source commit
|
||||
`945d6bd81016eec373a82f63182cf1f7cf0718f5` had that exact parent and
|
||||
cherry-picked without conflict as
|
||||
`fd891ff3bb87a29381a0a7006fb4618ec4fe144f`. 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 in
|
||||
`src/pages/Home/index.tsx` and `src/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 --check` passed.
|
||||
|
||||
## 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`.
|
||||
- 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-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.
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
# Task: Implement ML-03 Pi worker resource materialization
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260827-plugin-ml03-worker-materialization-9b2e6c41
|
||||
- Mode: Feature
|
||||
- Branch: codex/20260827-plugin-ml03-worker-materialization-9b2e6c41-plugin-ml03-worker-materialization
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-plugin-ml03-worker-materialization-9b2e6c41
|
||||
- Base commit: c4dd8923a0076920e8a7fd8820fdc01bdfde1760
|
||||
- Owner: plugin_ml03_worker_materialization
|
||||
- Status: Ready for integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Implement ML-03 dynamic Pi worker resource materialization from exact coordinator
|
||||
frontier `c4dd8923a0076920e8a7fd8820fdc01bdfde1760`.
|
||||
- Own only the Pi resource loader, extension host, runtime, worker process,
|
||||
subagent child, `makelore-runtime` extension, the five named Pi-focused tests,
|
||||
and this task record.
|
||||
- Resolve one worker-resource snapshot before Skill materialization and extension
|
||||
registration; carry effective Skills, frozen catalog revision, tool declarations,
|
||||
allowed names, bridge allowlist, write-lease membership, and explicit CLI tools.
|
||||
- Preserve core tools/Skills, keep child plugin catalog empty, remove the obsolete
|
||||
static Data Service CLI allowlist, and prove disabled/re-enabled/old-worker and
|
||||
child-denial behavior.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- Follow implementation spec sections 7.2-7.3 and 10.2, ticket ML-03, and detailed
|
||||
design sections 8.5-8.7. The server catalog and ML-02 registry/envelope are the
|
||||
authoritative upstream contracts; do not duplicate or alter them.
|
||||
- Parent plugin exposure is the intersection of valid package, project selection,
|
||||
selected Skill grant, permitted role, and verified policy. Known-disabled Skill
|
||||
assignments remain in config/UI but do not enter the effective snapshot; truly
|
||||
unknown assignments retain existing invalid-configuration behavior.
|
||||
- A worker run freezes its catalog. Main-side invocation remains authoritative and
|
||||
rechecks current selection; declarations are never authority. Child workers get
|
||||
no plugin Skills/tools and no permission broadening.
|
||||
- No Host, Renderer, preview, adapter, registry, P1 billing, generic endpoint,
|
||||
arbitrary code/MCP/hooks, or static Data Service list changes. If an upstream
|
||||
interface is semantically insufficient, stop and report to the coordinator.
|
||||
- Test-first. Use the exact pinned pnpm version. Keep the worktree isolated and
|
||||
clean; return one implementation commit with sole parent the exact base.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
- Task ID/mode/branch/worktree/base match the Git-common owner record exactly.
|
||||
- Concurrent Task Gate passed: `check_project_docs.py` succeeded and
|
||||
`task_context.py start`/`status --json` show this task owns the isolated worktree.
|
||||
- Planning Gate passed on 2026-08-27 after reading the required entry documents,
|
||||
current integrated snapshot, accepted Pi runtime decision, relevant architecture,
|
||||
domain/evidence/reflection/commitment/stale indexes, and peer task records.
|
||||
- Other active local tasks include the client coordinator and historical/unrelated
|
||||
planning tasks; the coordinator owns only its integration record/branch and no
|
||||
ML-03 implementation files. No unresolved semantic conflict or ownership overlap
|
||||
affects this ticket. The integrated memory predates the plugin work; the frozen
|
||||
implementation spec, ticket graph, and exact ML-02 frontier control this task.
|
||||
|
||||
## Plan
|
||||
|
||||
1. Inspect the exact ML-02 frontier's Pi seams and existing tests without changing
|
||||
files; map current resource/extension/worker/child contracts to the frozen ML-03
|
||||
requirements.
|
||||
2. Add failing focused tests for one-snapshot effective resource resolution,
|
||||
declaration/bridge/CLI agreement, disabled and re-enabled assignments, old
|
||||
worker refusal, child denial, and unchanged core behavior.
|
||||
3. Implement the smallest cohesive changes within the owned files, preserving the
|
||||
existing Pi 0.84.2 product contracts and project write-lease semantics.
|
||||
4. Run owned focused tests plus relevant Pi regressions, typecheck, scoped/full
|
||||
lint as appropriate, and diff/doc gates; investigate and fix only failures in
|
||||
owned scope.
|
||||
5. Update this record with exact outcome/evidence/follow-ups, run task-aware doc
|
||||
drift, and complete task_context to `ready_for_integration` on a clean one-commit
|
||||
worktree.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Implemented the ML-03 effective worker snapshot flow. Parent and child openers
|
||||
resolve the capability registry once before materialization/registration and
|
||||
pass the resulting effective Skill entries, catalog revision, and plugin tool
|
||||
definitions through resource-loader and extension-host. Plugin Skill paths now
|
||||
resolve from the fixed bundled package roots; disabled assignments therefore do
|
||||
not reach the worker while the assigned configuration remains untouched.
|
||||
- Pi extension contexts carry the frozen revision, effective Skill IDs, exact
|
||||
declarations, dynamic bridge names, and `projectWriteLease` names. The bundle
|
||||
registers only the declarations in that context and applies leases from the
|
||||
declaration metadata. Child registrations force empty plugin tool exposure.
|
||||
- Pi CLI defaults contain only the fixed core profile. Parent runtime workers
|
||||
explicitly pass the fixed core profile plus the registration's plugin names;
|
||||
the static Data Service CLI list was removed. Bridge requests accept bounded
|
||||
string tool names but reject names outside the worker's frozen plugin set,
|
||||
while retaining the fixed core product bridge tools.
|
||||
- Owned tests cover plugin Skill resource roots, catalog metadata, dynamic
|
||||
declaration/schema materialization, bridge denial for an unregistered tool,
|
||||
dynamic lease metadata, core-only defaults, real Pi declaration/CLI agreement,
|
||||
and enabled-to-disabled-to-re-enabled worker materialization without rewriting
|
||||
the retained Agent assignment.
|
||||
|
||||
## Verification
|
||||
|
||||
- Owned focused (maxWorkers=1):
|
||||
`tests/unit/pi-resource-loader.test.ts`, `pi-extension-host.test.ts`,
|
||||
`pi-extension-bundle.test.ts`, `pi-worker-process-real.test.ts`, and
|
||||
`pi-rpc-foundation.test.ts`: 43 passed, 2 skipped (staged-runtime gated).
|
||||
- All `tests/unit/pi-*.test.ts` regressions with one worker: 30 files passed,
|
||||
169 passed, 2 skipped.
|
||||
- `pnpm typecheck`: passed.
|
||||
- `pnpm lint:check`: passed with five pre-existing warnings in
|
||||
`src/pages/Home/index.tsx` and `src/pages/Makelore/index.tsx`; no errors.
|
||||
- `git diff --check`: passed.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Coordinator ML-04 must wire the already-optional capability registry into
|
||||
the production composition and keep its own Host/Renderer ownership; this
|
||||
task intentionally did not edit composition or product-tools files.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None.
|
||||
Reference in New Issue
Block a user