60 lines
7.4 KiB
Markdown
60 lines
7.4 KiB
Markdown
# Task: Integrate permanent point wallet into MakeLore main
|
|
|
|
## Identity
|
|
|
|
- Task ID: 20260922-integrate-permanent-points-client-38f5b921
|
|
- Mode: Integration
|
|
- Branch: main
|
|
- Worktree: D:\Datas\OthersProjects\makelore
|
|
- Base commit: 2f82b9f79cf72873d75c17a48853292323aa5df5
|
|
- Owner: codex
|
|
- Status: Ready for Integration
|
|
|
|
## Scope
|
|
|
|
- Fast-forward MakeLore main from 2f82b9f to the completed permanent-point wallet source a1cce428afcca9b7e32ef043705a25a4685fbbdd, then promote its accepted account rules and Main-owned billing data flow into canonical project memory.
|
|
|
|
## Intent And Constraints
|
|
|
|
- User explicitly authorized handing off the completed 20260921-integrate-game-audio-client-a6c8f241 registration and merging a1cce42. Official release/start/status succeeded; this task owns primary main in integration mode with the integration lock.
|
|
- Preserve the three pre-existing untracked package-122, package-123 and client-hang-diagnosis task documents exactly; their approved adopted states remain outside this commit. Source task records and other worktrees are read-only.
|
|
- Concurrent Task Gate and Planning Gate Passed. Read entry/own task, memory index, positioning, current state, decisions/auth ADR, architecture/module/data-flow, domain/glossary/success criteria and relevant evidence/reflection/commitment/stale context. Canonical memory is unchanged from the source base; reuse the source task's prior context and inspect the account sections being promoted.
|
|
- Assessed 122 peer scopes, intents and promotion candidates. Historical undefined scopes remain unknown/read-only. The isolated coding-teacher task may overlap Sidebar/README but does not contradict the wallet behavior; preserve that task for its later integration. Old membership/reset-card policy is superseded by the user's explicit accepted change.
|
|
- Confirmed policy: genuine registration 100 points once, no old-account gift/conversion, CNY 1 = 50 permanent points, parent recharges only their own wallet, youth own balance exact and another payer's balance coarse. Explicit AI-programming funding selection, cloud creator-pays and Plugin personal-payer boundaries remain.
|
|
- Preserve Code/Canvas/Robot/cloud Agents, Main-owned authentication and existing module restrictions. No subagents, push, packaging, installation, deployment or real payment. Merge consent does not authorize worktree removal.
|
|
|
|
## Plan
|
|
|
|
1. Fast-forward the verified source into main without altering product files or source records.
|
|
2. Replace superseded account rules and architecture descriptions, recording the exact source under Integrated Through.
|
|
3. Verify source parity, focused tests and Renderer typecheck in primary; reuse unchanged-source lint/build/Electron and baseline evidence where applicable.
|
|
4. Record the result, run the official documentation gate, commit integration documentation and complete task registration. Offer eligible source worktree cleanup separately.
|
|
|
|
## Outcome
|
|
|
|
- Fast-forwarded main from 2f82b9f79cf72873d75c17a48853292323aa5df5 to a1cce428afcca9b7e32ef043705a25a4685fbbdd with no conflicts. Product files and the imported source task record are unchanged from that source.
|
|
- Promoted the user-confirmed permanent-point policy into current-state, business-rules and decision-index; replaced obsolete membership/reset-card descriptions in system-overview, module-map and data-flow. Recorded actual source provenance under Integrated Through; historical task records remain intact.
|
|
- Official drift validation confirms the three adopted foreign task documents remain at their approved original states. They remain untracked and excluded from the integration commit.
|
|
- Before cleanup, verified the source worktree was clean, managed and ready_for_integration, with its committed ready record and latest a1cce42 included in main. User then explicitly approved removal of this source worktree; primary and other task worktrees were excluded.
|
|
- Resumed this same integration task using official start/status and retained the passed planning context for the bounded cleanup. Confirmed the resolved target was exactly the approved child of D:\Datas\OthersProjects\.codex-worktrees\makelore, then ran official retire from primary. Git returned Directory not empty and the command exited 1. It partially removed the checkout and Git worktree registration, but retained residual files/directories and the node_modules junction. The source's .git marker and on-disk task record are now absent; the skill ownership/reservation state was retained on failure. No manual removal or registry bypass was attempted.
|
|
- Source branch still resolves to a1cce428afcca9b7e32ef043705a25a4685fbbdd and remains included in main. Primary tracked files are unchanged; the same three unrelated documents remain untracked. Merge/documentation commit 88800f9 completed before the failed cleanup.
|
|
- Local merge only: no push, packaging, installation, deployment, real payment or subagent use.
|
|
|
|
## Verification
|
|
|
|
- In primary main after the merge: 8 focused files / 103 tests passed; pnpm run typecheck passed (Renderer). These cover billing auth/capability/privacy, stable payment intent, pending/review order recovery, frozen prices, own/family/youth balance contracts, account switching, menu refresh and retained Works routes.
|
|
- Product parity: git diff a1cce42 -- src electron shared tests README.md package.json pnpm-lock.yaml was empty. The integration changed only canonical documentation and this task record; source record provenance is preserved.
|
|
- Reused the identical source's passing scoped ESLint, Vite Renderer/Main/Preload/utility build, Windows Electron wallet E2E and actual backend in-memory API contract acceptance. The Electron flow verifies zero balance, original pending-order recovery after reload/repricing, exactly one POST and server-confirmed credit/ledger; it is not a real payment.
|
|
- Source limitations remain: full suite had the unchanged Pi runtime-v6 assertion against runtime-v7 and a timing failure that passed in isolation; extended Main typecheck has the same 67 baseline diagnostics, with no added/removed diagnostics. No claim that all repository tests or Main type checks pass.
|
|
- Reviewed source-to-main diff and canonical rule changes; git diff --check and official task-aware check_doc_drift passed before the final documentation commit.
|
|
|
|
## Follow-ups
|
|
|
|
- Source cleanup was approved but is blocked after partial Git removal: task 20260922-permanent-points-client-7f4c9a2e at D:\Datas\OthersProjects\.codex-worktrees\makelore\20260922-permanent-points-client-7f4c9a2e, branch codex/20260922-permanent-points-client-7f4c9a2e-permanent-points-client. Residual directory and stale local task registration require a supported recovery path; do not treat this as a clean usable worktree or retry ordinary retire without restoring its prerequisites. Branch/commit are preserved. This failure does not invalidate or block delivery of the completed main merge.
|
|
- Before release, deploy matching Works Square permanent-points API / 0094 migration and verify genuine registration, actual payment callbacks and configured desktop payment payload. PostgreSQL upgrade/concurrency and non-Windows packaged acceptance remain release work.
|
|
- Track the existing Pi v6/v7 test assertion and Main typecheck baseline independently.
|
|
|
|
## Promotion Candidates
|
|
|
|
- Accepted source promotions were applied to current-state, business-rules, decision-index, system-overview, module-map and data-flow under this integration lock. No unresolved semantic conflict or additional product decision remains.
|