diff --git a/.project-docs/30-worklog/tasks/20260928-teacher-hover-intro-a73f6e29.md b/.project-docs/30-worklog/tasks/20260928-teacher-hover-intro-a73f6e29.md index 892ff923..e8ea0168 100644 --- a/.project-docs/30-worklog/tasks/20260928-teacher-hover-intro-a73f6e29.md +++ b/.project-docs/30-worklog/tasks/20260928-teacher-hover-intro-a73f6e29.md @@ -18,6 +18,7 @@ - User explicitly requests this presentation/interaction change. Preserve published identities, teacher selection, conversation history, per-agent drafts, model/auth contracts and true proactive messages. Hover/focus must not start a conversation or acknowledge messages. Keep the existing single light visual system and native preview usable. - Use the current entry to toggle its panel; selecting another teacher opens that teacher. Retain Escape and drag resizing. Keep explicit new topics as a text action inside expanded history, outside the header. +- Follow-up: user explicitly requests updating the existing temporary application without taking desktop focus. Reuse its isolated profile and avoid activating windows during verification. ## Project Context Loaded @@ -25,6 +26,7 @@ - Read entry/planning instructions, memory index, active task, positioning, current state, teacher ADR/decision index, relevant architecture/domain/evidence and reflection/commitment/stale indexes. Current main uses generic server-distributed identities with separate drafts and pinned topic versions; older fixed-role task records are historical. - Design skill search selected soft playful cards. Adapt cream/pale blue, rounded borders and restrained offset shadows to existing Chinese typography; no new font download or product-wide theme. Hover content uses the published description; no invented biography. - Gate: Passed. Plan: implement tooltip and preview clearance, simplify the panel while preserving navigation, verify relevant unit tests, browser layout and isolated Electron interactions, then document delivery. No live teacher requests, remote publication or app restart in this task. +- Trial-update resume: matching start/status ownership restored to planning; prior product context rechecked, all peer scopes reviewed and unchanged. Gate passed. Existing trial metadata points to an exited process and an older checkout; installed production is a distinct running application. Plan: reuse the verified 772da4f build in the isolated trial, add a local background startup wrapper, preserve the profile/port, and verify runtime and foreground ownership read-only. Earlier no-restart constraint is superseded only for the explicitly requested trial update. ## Outcome @@ -33,7 +35,9 @@ - Extended native work preview clearance to include the introduction and any real unread speech bubble, using the maximum overlapping clearance. Hover does not create topics, send requests or acknowledge unread messages. README describes the final behavior. - Independent review caught immediate entry-switch overlap and selected-entry focus restoration issues; both were fixed and covered. Final screenshot review prompted a second pointer-move opening-path regression, now fixed by keeping pointer-enter as the sole mouse opening path. - During delivery, the peer teacher-focus task completed and a separate read-only agent-refresh task was registered. Its task record was reviewed; it changes no presentation/runtime code and has no semantic conflict. -- Implementation is isolated on the recorded branch. No live teacher calls, main merge, remote push or running trial update occurred. +- Initial implementation was isolated on the recorded branch without deployment. The explicitly requested background trial update is recorded below; no main merge, remote push or deliberate teacher/model request occurred. +- Trial update completed: existing `Makelore Teacher Trial.app` (bundle `cn.makelore.teacher-presence.trial`, Electron 43.4.0) now runs this checkout's verified 772da4f build as PID 27713. Reused `/var/folders/mx/ltbgwsks5_n8zllj69p_wbcw0000gn/T/makelore-trial-tdq_nuah/user-data` and port 54599. The prior recorded trial PID had already exited, so no running application was stopped. +- A machine-local `dist-electron/main/trial-background.cjs` bootstrap, excluded from Git, guards startup show/focus calls and launches through `open -g -j`. It leaves the window hidden until the user activates it; normal window behavior is restored upon user activation. Metadata backups and startup/focus evidence are kept beside the existing trial. Production code and the installed application were not modified. ## Verification @@ -41,11 +45,12 @@ - Passed: 9 browser layout checks, including 520px/1000px scrolling teacher strips, direct teacher-to-teacher hover, keyboard focus/Escape, click then pointer movement, unread bubble preservation and native viewport clearance. Reviewed rendered card and desktop conversation screenshots. - Passed: both targeted Electron scenarios (consultation drafts/teacher switching and topbar/proactive presence) against the final production build. One run failed before the teacher interaction at the existing sidebar drag assertion (193px instead of 256px); a separate retry of that scenario passed without source/test changes to the drag behavior. - Passed: standard typecheck, changed-file ESLint, production Vite/Electron compilation, git diff whitespace check, project-docs structure and task-aware ownership drift checks. -- Independent code review passed. Electron tests use isolated profiles and fixture responses; no real-model interaction or installed-app deployment was exercised. +- Independent code review passed. Electron interaction tests use isolated profiles and fixture responses; no real-model interaction or production installation was exercised. +- Background trial verification: exact process path and Host API listener confirmed; OPTIONS runtime-info returned 204. Loaded Renderer URL points to this checkout and `index-PjM22P-Y.js`; the document is complete and React root is mounted. Startup status recorded one blocked show, a loaded hidden/unfocused window, and the original isolated profile. A 12-second NSWorkspace foreground monitor recorded no trial activation and retained the previously foreground application's PID throughout. Verification performed no UI click, activation or test message. ## Follow-ups -- Integrate this branch when requested; retain the worktree for review. The installed trial remains on its prior build. +- Integrate this branch when requested; retain this worktree because the updated trial now runs its compiled output. The user can activate the existing `Makelore Teacher Trial` Dock entry to review the interface. ## Promotion Candidates