diff --git a/.project-docs/30-worklog/tasks/20261009-makelore-product-implementation-eaa0ffa5.md b/.project-docs/30-worklog/tasks/20261009-makelore-product-implementation-eaa0ffa5.md index b1136f3f..f8acf450 100644 --- a/.project-docs/30-worklog/tasks/20261009-makelore-product-implementation-eaa0ffa5.md +++ b/.project-docs/30-worklog/tasks/20261009-makelore-product-implementation-eaa0ffa5.md @@ -12,15 +12,21 @@ ## Scope +- Cross-project continuation: correct this task's obsolete course follow-up to the user's explicit no-course-client boundary; prepare the recharge rollout and canonical promotion handoff. No client course implementation or production actions. + - Implement the first complete D01 slice from approved detailed design 28ac43ba: current-account personal-wallet recharge, parent-operates-child-account guidance, visible recipient, and existing payment/order recovery. Own PointWallet/caller, Main billing messages, README and focused unit/Electron tests. ## Intent And Constraints +- Cross-project continuation: official same-task Concurrent/Planning Gates Passed; read required context and all 146 unchanged peer scopes, with matching task/mode/worktree/branch/base. The user's later no-client-course decision controls over the original D05 plan. Only this owned task record changes. Formal integration start is Blocked by 20260929-merge-teacher-stream-1e4177fe; preserve its worktree, branch and all untracked/modified files. No subagents, canonical writes, client course code, merge/push, deployment or payment. + - Concurrent and Planning Gates Passed in this isolated feature worktree; current owner/reservation matches. Preserve all foreign work and canonical documents. User explicitly approved child-account recharge; old parent-only guidance is superseded for permanent point recharge only. Do not change legacy membership, identity, shared funding choice, provider callbacks or frozen order owner. No subagents, live payment, push, merge or deployment. - Plan: implement backend qualification and both UI projections; test actual child/parent own-wallet orders, shared payer privacy, idempotency/recovery and account switching; run relevant backend/frontend and required client checks; commit each complete slice with evidence. D02–D08 remain subsequent implementation packages, not completion claims of this first slice. ## Outcome +- Cross-project handoff corrected obsolete future client-course work and promotion status. D01 remains the implemented client change; community/LMS own subsequent course and teaching flows. WS prepared the overall integration/rollout guide and task-owned canonical candidate. No application code, dependency or test changes this continuation. + - D01 implemented in this worktree. Sidebar passes the authenticated account nickname/username into PointWallet; the wallet explicitly displays the recipient and asks parents to log into the child's account before paying. - Recharge uses the existing authenticated Main/Host API flow and still submits only product plus request ID. It does not submit a target child, change platform identity, transfer points or alter the selected funding source. - Server-denied recharge copy no longer tells users to switch to a separate parent identity. Existing pending-order recovery, frozen pricing, payment status confirmation and unknown-outcome behavior remain in place. @@ -30,6 +36,10 @@ ## Verification +- This continuation's Task Documentation Gate: inspected committed scope since the recorded base and current changes; git diff --check and official task-aware document drift check passed. Only owned task records/supporting proposal and ordinary delivery/configuration files changed. Ready for Integration; canonical ownership handoff remains pending. + +- Reviewed base fe1a3775-to-HEAD 281e6dc file scope (10 files) and the current task-record diff; git merge-base --is-ancestor main HEAD succeeded at this checkpoint. No code change, so prior 41 unit tests, typecheck/build and Electron E2E remain the relevant evidence; did not repeat them for a task-record correction. Exact integration owner confirmed by failed official start; no ownership mutated. + - PASS: `pnpm exec vitest run tests/unit/point-wallet.test.tsx tests/unit/sidebar-token-points.test.tsx tests/unit/works-billing-routes.test.ts tests/unit/works-billing-client.test.ts tests/unit/works-billing-server-contract.test.ts --maxWorkers=2`: five files, 41 tests passed. - Focused assertions cover actual Sidebar recipient props; child account recharge submits no extra recipient; shared funding is not automatically changed; safe denial copy; old server capability remains authoritative. - PASS: `pnpm run typecheck`. @@ -44,7 +54,7 @@ - Integrate with WS D01 and deploy backend eligibility before expecting child-account recharge in this client. Existing 0094 permanent-points storage suffices; this slice adds no migration. - Validate child-account token acceptance with the actual payment provider before production rollout. -- D02–D08 remain future implementation packages from design 28ac43ba. Subsequent client work covers the specified course/self-study/assignment/publication projections when the corresponding WS/LMS contracts are available. +- The user's subsequent instruction “makelore客户端不体现课程” supersedes the original client course plan. Do not implement course UI, course context, learningOrigins, course deep links or course-task recovery. D02–D08 now live in WS/LMS; WS implements course-work association in its own community page. Ordinary creation/publication and D01 recharge remain the client scope. The WS task-owned makelore-creation-boundary proposal records the amended D05 contract. - Retain the worktree/branch for review and integration. ## Promotion Candidates @@ -56,7 +66,7 @@ Semantic conflict: supersedes old parent-only permanent-point recharge language; parent-only family administration and other legacy rules remain separate. Human confirmation: already supplied by the user; canonical promotion still requires Integration Gate. - Target: .project-docs/30-worklog/current-state.md. - Proposal: after integration, record D01's client implementation and WS rollout dependency, with D02–D08 still pending. + Proposal: after integration, record D01's client implementation and WS rollout dependency. Remove the superseded client course follow-up; WS through 3e39a8f4 and LMS through 4a84132 contain the D02–D08 implementation within their scopes. Preserve unverified production/provider/mobile acceptance as rollout work, not missing client course features. Evidence: this task and companion 20261009-community-product-implementation-b001b1db. Future impact: keeps implementation and deployed/integrated state distinct. Semantic conflict: no canonical changes permitted from this feature task.