From a790230b59a0d4231c9503313cda11e904d9fbbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B2=A8=E9=B1=BC=E8=BE=A3=E6=A4=92?= Date: Tue, 29 Sep 2026 23:24:26 +0800 Subject: [PATCH] docs: record teacher composer trial update --- ...60929-teacher-composer-actions-e819c3d7.md | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/.project-docs/30-worklog/tasks/20260929-teacher-composer-actions-e819c3d7.md b/.project-docs/30-worklog/tasks/20260929-teacher-composer-actions-e819c3d7.md index e4f022cc..beaa4ff1 100644 --- a/.project-docs/30-worklog/tasks/20260929-teacher-composer-actions-e819c3d7.md +++ b/.project-docs/30-worklog/tasks/20260929-teacher-composer-actions-e819c3d7.md @@ -16,13 +16,13 @@ ## Intent And Constraints -- User explicitly requests a presentation change to the screenshot's teacher input controls. Preserve existing voice, model choice/request/retry semantics, cloud configuration, drafts/history, shortcuts and billing. Do not merge main, push or update live apps in this task. +- User explicitly requests a presentation change to the screenshot's teacher input controls and subsequently authorizes updating the running application. Preserve existing voice, model choice/request/retry semantics, cloud configuration, drafts/history, shortcuts and billing. Do not merge main, push, replace the formal installation or discard concurrent renderer updates. ## Outcome - Removed TeacherModelSelect from TeacherChatPanel (one import and its rendered element). Idle footer now contains only microphone and send; the running reply still exposes stop. Model names, dropdown and configuration messages are no longer rendered there. - Existing stored model preferences, published defaults, frozen retries, voice transcription, shortcuts, drafts/history and backend contracts remain unchanged. The hidden selector no longer makes its model-directory request. README now describes the visible controls accurately. -- Changes are isolated on this task branch; no main merge, push, cloud change or live-app update was performed. +- Source changes are isolated on this task branch. At the user's subsequent request, updated the running temporary trial (PID 32583) with an immediate scoped display change and a compiled renderer for its next load. No main merge, push, cloud change or formal installation replacement was performed. ## Verification @@ -33,7 +33,7 @@ ## Follow-ups -- Merge/update the intended app when requested. The running trial and installed app still use their existing source. +- Merge the source branch when requested. The running trial now includes this UI update; its older Main and the formal installed app remain unchanged. ## Promotion Candidates @@ -53,3 +53,19 @@ 1. Remove only the model picker import/render from the teacher composer. 2. Adapt existing narrow/wide browser cases and run voice/send regressions, typecheck, scoped lint and build; inspect screenshot. 3. Record verification and prepare a clean feature commit. + +## Live Update Resume + +- Same-task start/status passed. Project context and source remain the completed 8af0ca7; source tests/build already passed. Peer group-intro and code-back-entry update the same trial and must be preserved; no cross-thread messages were sent. +- Actual trial is PID 32583 with isolated makelore-trial-tdq_nuah/user-data. Served dist is teacher-composer-4f829ac1/source/dist, a real directory; its latest index matches code-back-entry-33d87a81/source-with-group-intro/dist (index-Dh1e8q7U.js). launch/guidance metadata initially lags those renderer updates, so the actual loaded/served asset hashes are authoritative. +- Gate: Passed for scoped update, preserving peer task checkouts and their staged source. Create an independent copy of the latest combined build source and apply only the tested three-line picker removal. Verify/build it before publication; re-check live baseline and process/profile immediately before swapping hashed assets and index atomically. +- Apply a narrowly scoped CSS hide to the existing renderer via Electron insertCSS, closing only an already-open model dropdown if necessary. This makes the requested display change immediately without reloading user conversations or disrupting active state. The same change is compiled into the next renderer entry so it survives reload/restart. Keep old assets/index for rollback, verify actual controls and process/state preservation, and record accurate loaded-versus-next source metadata. + +## Live Update Result + +- Completed 2026-09-29 23:22 Asia/Shanghai. Independent stage: `/var/folders/mx/ltbgwsks5_n8zllj69p_wbcw0000gn/T/makelore-trial-tdq_nuah/teacher-composer-actions-e819c3d7`. Product sources differ from the latest combined renderer only by the three-line picker removal; preserved grouped teacher introductions, Code return entry, shortcuts and the old Main-compatible teacher conversation API. +- Staged typecheck, focused saved-model unit regression and build:vite passed. Both 319px/508px browser cases passed (6.1 seconds), and both screenshots were visually inspected. The initial staged browser attempt failed because the current repository test fixture imported a newer API export absent from the older trial; adapted only that staged test fixture and reran successfully. +- PID/profile and served-index checks passed before publication. Copied new hashed assets, retained old assets, and atomically replaced the served index with `index-DcnlEkIE.js` (SHA256 `1c35dc1bc65bf70893c85e95fc5bd62628cd7bc09bca82a0d6538a412523947f`). Existing loaded asset remains `index-Dh1e8q7U.js` with the scoped CSS overlay; no reload/restart occurred. launch.json and guidance-preview.json distinguish loaded versus next renderer and preserve previous overlay metadata. +- Teacher panel was already closed immediately before publication and remained closed. Before/after hashes confirm unchanged inputs, selected conversation, drafts, operation messages, teacher messages and local storage; route, focus and panel state also match. A temporary offscreen DOM probe verified the live stylesheet hides only the model trigger while microphone/send remain displayed, then removed itself. Full composer appearance was verified in the isolated browser screenshots, not by opening the user's closed panel. +- The first attempts stopped before publication because another task had closed the inspector, the equivalent macOS `/var` and `/private/var` paths needed canonical comparison, and the panel had since been closed. Reopened only this trial's diagnostic connection, canonicalized profile validation and allowed the already-closed panel without changing its state. No user-state repair was required. +- Read-only subagent review identified metadata rollback/concurrency checks; added conditional metadata rollback and a final served-index comparison before publication metadata. `verification.json` records the successful update and state checks. Existing trial Main and the separately running installed app (PID 49184) were untouched.