Files
makelore/.project-docs/30-worklog/tasks/20260826-makelore-data-service-client-b72e4c19.md
T

105 lines
5.1 KiB
Markdown

# 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: f2456039230f68e3ecb2c8653fc3379c23bbe5ce
- Owner: codex-root
- Status: In Progress (ML-01 integrated)
## Scope
- Coordinate the repository-local `implement-spec` run for client tickets ML-00
through ML-09 from post-Pi-integration base
`f2456039230f68e3ecb2c8653fc3379c23bbe5ce`.
- 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.2` hard cutover, product-neutral Snapshot/Patch
contracts, Main/Renderer trust boundary, current Host route ordering, and the
existing Agent Browser abstraction.
- `.niancode/project.json` owns the durable optional `projectId`; local project IDs,
Pi session/resource IDs, and the `opencode-projects` compatibility 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 `main` worktree 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
`7e54b8fbda1899b73334d7c3e732ce8e73460ed8` with no cherry-pick conflict.
Implementer commit `274172ac9d7ea2468242448d4b0b19fd2205f8fb` was
cherry-picked as feature commit `43f58fc` (`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.
## 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 in
`src/pages/Home/index.tsx` and `src/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 `7e54b8fbda1899b73334d7c3e732ce8e73460ed8` before
integration; the cherry-pick completed without conflicts.
## Follow-ups
- ML-02 must project the required identity choice into Renderer create and
legacy/independent-copy UX. ML-03 must use
`requireActiveRealProjectWithIdentity()` for all Data Service callers.
- 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.