10 KiB
10 KiB
Task: Implement MakeLore Development Data Service P0 client
Identity
- Task ID: 20260826-makelore-data-service-client-b72e4c19
- Mode: Feature
- Branch: codex/20260826-makelore-data-service-client-b72e4c19-makelore-data-service-client
- Worktree: D:\Datas\OthersProjects\makelore-data-service-client-b72e4c19
- Base commit:
f245603923 - Owner: codex-root
- Status: In Progress (ML-01 through ML-03 integrated)
Scope
- Coordinate the repository-local
implement-specrun for client tickets ML-00 through ML-09 from post-Pi-integration basef2456039230f68e3ecb2c8653fc3379c23bbe5ce. - Deliver durable MakeLore project identity, Main-owned Data Service cloud/Host operations, purpose-specific Pi tools, preview data sessions and CDP injection, the thin generated SDK, bundled Data Service Skill, focused/full verification, repository-local review, and one remediation pass when findings require it.
- Own the client implementation branch and merge only commits returned by isolated ticket worktrees in dependency order.
Intent And Constraints
- Follow the server repository's implementation specification, ticket graph, canonical integration contract, and accepted ADR without reopening the frozen P0 product scope.
- Preserve the integrated Pi
0.84.2hard cutover, product-neutral Snapshot/Patch contracts, Main/Renderer trust boundary, current Host route ordering, and the existing Agent Browser abstraction. .niancode/project.jsonowns the durable optionalprojectId; local project IDs, Pi session/resource IDs, and theopencode-projectscompatibility store name remain local identities.- Electron Main remains the only Works credential owner. Generated code receives only an ephemeral exact-Origin data capability; no credential, owner, path, arbitrary endpoint, or cloud project ID becomes a model-controlled input.
- Do not restore OpenCode, add Firebase compatibility, published-runtime support, retries for ambiguous writes, a filesystem-copy engine, or a generic operation multiplexer.
- The root
mainworktree remains clean and unowned. All writes stay in this isolated coordinator worktree or ticket-specific linked worktrees.
Planning Gate
- Result: Passed on 2026-08-26.
- Loaded MakeLore
AGENTS.md, required project-memory entry documents, current state, accepted auth and Pi decisions, relevant architecture/domain/evidence/commitment material, the cross-repository Data Service spec/graph/contract, and the exact Pi, Host API, project-storage, session, and Agent Browser seams at the recorded base. - Registry review found 147 historical owners. Most are ready-for-integration and represented in the selected base. Ten remain marked planning; nine have placeholder scopes and therefore unknown coordination state, while one owns an unrelated AI Design E2E file. No declared Data Service or owned-path semantic conflict exists.
- Real PostgreSQL, signed-in accounts, deployment inputs, and platform-specific E2E prerequisites remain external acceptance inputs and will not be inferred as passed.
Ticket Ownership
- ML-00: coordinator in this worktree.
- ML-01 through ML-07: isolated implementer worktrees from the exact merged frontier commit, with the file ownership defined by the ticket graph.
- ML-08: repository-local merger in this implementation worktree.
- ML-09: read-only review followed by one isolated remediation implementer if needed.
- X-01: coordinated only after reviewed server and client branches are ready.
Outcome
- Integrated ML-01 project identity from the exact integration frontier
7e54b8fbda1899b73334d7c3e732ce8e73460ed8with no cherry-pick conflict. Implementer commit274172ac9d7ea2468242448d4b0b19fd2205f8fbwas cherry-picked as feature commit43f58fc(feat(coding): add durable project identity core). The delivered scope is limited to identity core, coding-project Host routes/composition and callback wiring, release-proof fixtures, and focused tests. The implementer task record was removed from this coordinator's net diff; the source worktree retains its own record. - Integrated ML-02 identity UX from the exact ML-01 frontier
5ac08d509f8962a3c2c0ec1b1afef84a435f116dwith no cherry-pick conflict. Implementer commit363660a81b3f79ffab4594763170932790f41299was cherry-picked as feature commitce8e210(feat(coding): add project identity UX). The delivered scope is limited to the Sidebar and Project Configuration identity controls, Renderer facade/store projections, focused tests, and identity E2E; no Main, cloud, session, or provisioning logic was added. The foreign ML-02 task record was deleted from this coordinator's net diff after cherry-pick; the source worktree retains its own record. - Integrated ML-03 Main Data Service from the exact ML-02 frontier
003fe210f49de37c7ddf49cf10acde38705bf8c3with no cherry-pick conflict. Implementer commit10d8132cc34f1a69fafdd9e9f7ff3693888fc3fcwas cherry-picked as feature commitc19227a(feat(coding): add Main Data Service Host adapter). The delivered scope is limited to the Main-owned cloud client, shared safe DTOs,DataServiceOperationscoding composition, fixed/api/works/data-serviceHost routes, route precedence before the Works catch-all, and focused tests; no preview/Pi/Renderer credential or unrelated transport logic was added. The foreign ML-03 task record was deleted from this coordinator after cherry-pick; the source worktree retains its own record. The ML-04 frontier is this integrated commit plus the coordinator's cleanup/record commit. - Applied the ML-03 post-merge correctness correction from source commit
0ecceef15d2e43190f835fd71a7a1478222f1ba8onto coordinator frontiere15d8b7f51bea6b56558c981964082a4e76e523c. The expected modify/delete conflict was limited to the already-removed foreign ML-03 task record; it was kept deleted, and the correction cherry-picked as feature commit6b36753(fix(coding): reject mismatched Data Service errors). The Main client now rejects known error codes paired with undocumented HTTP statuses asupstream_invalid_response, with one focused regression test. The ML-04 frontier is6b36753plus this coordinator record commit.
Verification
pnpm exec vitest run tests/unit/coding-project-identity.test.ts tests/unit/coding-projects-migration.test.ts tests/unit/coding-core-routes.test.ts tests/unit/coding-projects-schema-v2.test.ts: 4 files / 48 tests passed.pnpm typecheck: passed.pnpm lint:check: passed with 0 errors and 5 pre-existing warnings insrc/pages/Home/index.tsxandsrc/pages/Makelore/index.tsx; none are in the ML-01 paths.git diff --check: passed.- Cherry-pick parent, coordinator branch, and required integration frontier
were verified against
7e54b8fbda1899b73334d7c3e732ce8e73460ed8before integration; the cherry-pick completed without conflicts. - ML-02 focused Renderer tests:
pnpm exec vitest run tests/unit/coding-projects-facade.test.ts tests/unit/project-config-store.test.ts tests/unit/coding-workspace-store.test.ts --maxWorkers=1: 3 files / 10 tests passed. pnpm build:vite: passed; generated the Main/Preload bundles required by the Electron fixture.pnpm test:electron:windows: 2 files / 4 tests passed.pnpm exec playwright test tests/e2e/coding-project-identity.spec.ts --config=playwright.config.ts: 2 tests passed after the Vite build.pnpm exec playwright test tests/e2e/project-configuration-skills.spec.ts --config=playwright.config.ts: 1 test passed.pnpm typecheck: passed.pnpm lint:check: passed with 0 errors and 5 pre-existing warnings insrc/pages/Home/index.tsxandsrc/pages/Makelore/index.tsx; none are in the ML-02 paths.git diff --check: passed; the net ML-02 path audit contains only Renderer UI/facade/store and tests, with noelectron/,resources/, orscripts/files.- Implementer-provided broader results (not rerun by this merger):
pnpm testpassed with 183 files / 1554 tests and 2 skipped; the full E2E run passed 25 tests and reproduced one pre-existing PI model-combobox failure attests/e2e/pi-coding-first-chat.spec.ts:575on its direct rerun. This unrelated failure remains visible and is not masked by the focused passes. - ML-03 focused tests:
pnpm exec vitest run tests/unit/data-service-client.test.ts tests/unit/data-service-routes.test.ts tests/unit/data-service-server-registration.test.ts --maxWorkers=1— 3 files / 17 tests passed. - ML-03 regression tests:
pnpm exec vitest run tests/unit/coding-core-routes.test.ts tests/unit/coding-project-identity.test.ts tests/unit/host-api-proxy.test.ts tests/unit/works-routes.test.ts --maxWorkers=1— 4 files / 82 tests passed. pnpm typecheck: passed.pnpm lint:check: passed with 0 errors and the same 5 existing warnings insrc/pages/Home/index.tsxandsrc/pages/Makelore/index.tsx.git diff --check: passed.- Coordinator branch, clean state, exact ML-02 HEAD, and ML-03 commit parent were verified before integration; cherry-pick completed without conflicts.
- ML-03 correction focused tests: the same 3-file command passed 18 tests after
integrating
6b36753. - ML-03 correction
pnpm typecheck: passed. - ML-03 correction
pnpm lint:check: passed with 0 errors and the same 5 existing warnings insrc/pages/Home/index.tsxandsrc/pages/Makelore/index.tsx. - ML-03 correction
git diff --check: passed. - Correction cherry-pick was applied from the exact
e15d8b7coordinator frontier; only the expected foreign task-record modify/delete conflict occurred, and the source record remains in the source worktree.
Follow-ups
- ML-02 identity choice and legacy/independent-copy UX plus ML-03 Main Data
Service are integrated. ML-04 must consume the
DataServiceOperationsseam from the recorded ML-03 frontier and preserve its active-project identity and trusted project-path constraints. - The broader ML-00 through ML-09 coordinator task remains in progress; this record does not claim full client-suite, build, review, or release proof.
Promotion Candidates
- None recorded.