diff --git a/.project-docs/30-worklog/tasks/20261008-merge-work-preview-4b72e9c1.md b/.project-docs/30-worklog/tasks/20261008-merge-work-preview-4b72e9c1.md new file mode 100644 index 00000000..382fa454 --- /dev/null +++ b/.project-docs/30-worklog/tasks/20261008-merge-work-preview-4b72e9c1.md @@ -0,0 +1,72 @@ +# Task: Update trial and merge first-open work preview fix + +## Identity + +- Task ID: 20261008-merge-work-preview-4b72e9c1 +- Mode: Feature +- Branch: codex/20261008-merge-work-preview-4b72e9c1-merge-work-preview +- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20261008-merge-work-preview-4b72e9c1 +- Base commit: d12d214d7f33d6233187f66f592d00ee58ec02f7 +- Owner: codex +- Status: Ready for Integration + +## Scope + +- Update the independent temporary app to source d12d214, fast-forward main, push origin/main, and clean this change's source and merge worktrees while retaining branches/commits. + +## Intent And Constraints + +- User explicitly authorized all four actions and cleanup. Preserve the installed app, its profile and drafts, other task worktrees, and existing global integration lock. +- Previous trial root was deleted externally; rebuild an independent trial in a stable user-local folder. Copy only project metadata and ordinary settings; no auth/Chromium database/lock copying. New trial requires normal login. + +## Project Context Loaded + +Task context: +- Identity fields above verified against official start/status; feature mode, base d12d214. +- Integration-mode start was rejected by the old classroom-integration lock; it rolled back ownership but left its newly created clean worktree. Official feature claim succeeded on that clean checkout (managed=false). No canonical document changes are planned. +- 28 peer owner records inspected read-only through registered paths; no new conflicting work. Source is ready and clean; primary main is clean. + +Read: +- Entry/read-before-planning, memory-index, own task and completed source task. +- Previously loaded positioning/current-state/decisions/architecture/domain/success/evidence/reflection/commitments remain byte-identical from fe1a377 to d12d214; reused that verified context. +- README/AGENTS and relevant temporary-app startup, profile, authentication and runtime boundaries reviewed. + +Relevant understanding: +- Goal: student creation app with Main-owned browser; this patch only pauses static welcome rendering on Work and restores it on chat. +- Source product/testing exactly as already verified: 103 unit cases (one unchanged async case passed on file retry), 18 browser cases, one Electron scenario, typecheck/lint/build. +- Fresh fetch: main and origin/main still fe1a377; source d12d214 directly descends from it, allowing conflict-free FF. +- Current running PID6483 is installed Makelore, not trial. Old trial directory no longer exists. Isolated new profile/ports allow trial without restarting installed app; login cannot be copied to unpackaged trial. +- Unknown: live account/game validation awaits user login; no model request will be sent for update validation. +- Cleanup covers only this source and merge checkout. Explicit user cleanup authorizes normal release/non-force removal for the worktree left unmanaged by the failed official start; branches/commits retained. The managed source uses official retire. + +Gate result: Passed. + +## Plan + +1. Stage the verified complete source/build and an independent Electron bundle outside disposable Git worktrees; open a fresh isolated trial and verify runtime/assets/UI. +2. Record the runtime outcome, commit this handoff record, fast-forward clean main and push; verify remote SHA. +3. Retire the managed source and clean the task-created merge checkout after checking no runtime dependency; retain both branches/commits. + +## Outcome + +- Source d12d214 is included in this handoff branch with no additional product/test edits. Clean main/origin-main at fe1a377 can fast-forward; the following publish step promotes this record together with the verified source. +- Rebuilt and opened the independent trial at `/Users/chillishark/Library/Application Support/Makelore Trials/work-preview-d12d214`. Source/archive and built Renderer/Main/Preload are independent of both disposable task worktrees; only dependencies link to primary repository node_modules. +- Trial PID38637, Host API port60966, debugger port60967, dedicated bundle ID and user-data. Normal authentication preserved (E2E skip-setup not enabled); trial is at the login screen and requires the user to sign in again. Project metadata/settings copied as stable validated JSON snapshots; no auth, passwords or Chromium database copied. Installed PID6483 remains running unchanged. +- Reopen using `打开临时应用.command` in the trial folder; `launch.json` records source/build/PID/ports, and the launcher reuses the running instance or allocates free ports on restart. +- User-approved cleanup covers only 20261008-work-first-open-8ac7e621 and this merge checkout, after successful remote verification. Both branches and their committed records remain retained; trial runtime files are outside their paths. Managed source uses official retire. The task-created merge checkout left by failed integration start uses official release then non-force Git removal because it was subsequently claimed as unmanaged; no registry flags or foreign lock are changed. + +## Verification + +- Fresh origin fetch: main=origin/main=fe1a377, d12d214 directly descends from it. Source/merge product, tests and README byte-identical; source verification remains applicable without redundant rebuilding. +- Source checks: typecheck/scoped lint/build, 103 unit cases (one unchanged async assertion required successful 17-case file retry), 18 browser layout cases, one real Electron fixture scenario; independent review passed. +- Staged trial dist (131 files) and dist-electron (8 files) match the verified source build byte-for-byte (SHA-256). Running page loads `assets/index-BhQqvIkX.js` from the independent trial path; normal Login button visible at `#/login`. +- Trial screenshot `/tmp/makelore-work-preview-trial-login.png`; launch metadata under the independent trial root. No model request or user project mutation performed for live smoke; real logged-in game acceptance awaits user sign-in. +- Task-aware drift check and git diff --check passed. Remote SHA and final cleanup eligibility are checked immediately during promotion/retirement; final receipts are reported to the user and captured in trial launch metadata. + +## Follow-ups + +- Sign in to the new trial to use account features. Installed-app session and its in-memory drafts remain available in the original process. + +## Promotion Candidates + +- Carry source task's welcome-visibility proposal for canonical integration later. Canonical files remain unchanged because the existing classroom integration owner retains the repository integration lock; this does not block the user-authorized code merge, push, or bounded cleanup.