Files
makelore/.project-docs/30-worklog/tasks/20260928-latest-main-merge-b6a42f90.md
T
鲨鱼辣椒 077184aaba
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled
docs: record latest main publication verification
2026-09-28 18:15:07 +08:00

61 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Task: Merge current completed Makelore changes into main and push
## Identity
- Task ID: 20260928-latest-main-merge-b6a42f90
- Mode: Feature
- Branch: codex/20260928-latest-main-merge-b6a42f90-latest-main-merge
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20260928-latest-main-merge-b6a42f90
- Base commit: a21a1f077cc11976213290a6b843bb74be97ab44
- Owner: codex
- Status: Ready for Integration
## Scope
- Integrate current completed product work into origin/main, adapt overlaps, verify, fast-forward local main and push without force.
## Intent And Constraints
- User explicitly requested all latest project code merged and pushed. No subagents, paid model calls, app restart or cleanup. Preserve foreign working trees and original source records. Canonical memory reconciliation is not included; its integration lock is held by another task.
## Outcome
- Merged completed product sources with merge ancestry preserved: reply cleanup/recovery `d530abe` (including `40c247a`) via `d032425`; cloud-owned teaching policy and 0–3 new shortcuts `54a40d2` via `65a0c21`; welcome dismissal `c96bb45` via `44b16f8`. Base `a21a1f0` already contains continuous account/Agent conversations, manual refresh and hover UI.
- Adapted recovery to per-turn continuous storage, including older pages and read-only history tools; uncertain legacy index excerpts cannot leak partial answers. Display repair leaves completed turn files unchanged, including when another turn needs restart recovery.
- Incomplete replies retry only on deliberate click, retaining the original problem/references and both drafts. Continuous retries require the original project/source; each newly accepted turn still resolves the current published version. Legacy pinned-version behavior remains compatible.
- Persisted rejection of excessive new shortcuts so a later history repair cannot restore them; historical cards remain preserved. Removed retired discussion rendering/state updates while retaining opaque source archives. Welcome dismissal follows current account-wide scope.
- Refreshed README and combined unit/browser/native-E2E fixtures. Product merge `cafebca05710b7bf1a6fa62ec51be4992a73a18c` was fast-forwarded into local main and pushed normally; `git ls-remote origin refs/heads/main`, origin/main and local main matched with a clean checkout. No app restart, model call, dependency change or worktree cleanup.
## Verification
- Passed: 405 focused unit tests in 14 files, covering parser, history, service, continuous conversations, UI, cloud/model/read contracts, refresh, welcome and preview. Command: `corepack pnpm exec vitest run tests/unit/teacher-reply.test.ts tests/unit/teacher-reply-history.test.ts tests/unit/coding-teacher-ui.test.tsx tests/unit/teacher-conversation.test.ts tests/unit/teacher-conversation-panel.test.tsx tests/unit/coding-teacher.test.ts tests/unit/teacher-companion.test.tsx tests/unit/coding-teacher-cloud.test.ts tests/unit/coding-teacher-model.test.ts tests/unit/coding-teacher-read-tools.test.ts tests/unit/teacher-guidance.test.ts tests/unit/teacher-retired-discussion-route.test.ts tests/unit/teacher-cloud-activity.test.ts tests/unit/agent-browser-panel.test.tsx --maxWorkers=2`.
- Passed: 28 headless browser cases via installed Chrome, including legacy/continuous quote recovery and retry at 319px/508px, draft retention, rich reply containment, archived component suppression and preview layout. Command: `MAKELORE_LAYOUT_BROWSER_CHANNEL=chrome corepack pnpm exec playwright test tests/e2e/teacher-reply-layout.spec.ts tests/e2e/teacher-preview-layout.spec.ts --max-failures=1`.
- Passed: `corepack pnpm run typecheck`, scoped ESLint for changed implementation/tests, `corepack pnpm run build:vite`, and `git diff --check`. Native Electron E2E additions parse/list successfully but were not executed because the fixture opens a foreground app window; the current client was left running unchanged.
- Passed: required project-document structure; every selected source is an ancestor of the merge candidate. Re-fetched remote main remains `a21a1f0`.
- Drift checker reports the four committed source-task documents as foreign relative to the task's original base. These are imported by the explicitly requested source merges, not edited by this task. Byte comparison against `d530abe`, `54a40d2`, `40c247a` and `c96bb45` confirms all four unchanged; only this task's own record is authored here. No canonical document changes, altered baseline or ownership override used to suppress this inherited checker finding.
## Follow-ups
- Product publication complete; source and integration worktrees retained.
- Full native Electron interaction execution and release packaging remain outside this merge validation; no claim of a rebuilt running client.
## Promotion Candidates
- A later canonical-memory integration can reconcile retired discussion UI descriptions with the current README and continuous-chat/reply-recovery contracts; this task does not hold that integration lock or edit those canonical sources.
## Project Context Loaded
- Task ID/mode/branch/worktree/base: verified against official start/status; feature `20260928-latest-main-merge-b6a42f90`, branch `codex/20260928-latest-main-merge-b6a42f90-latest-main-merge`, this absolute worktree, fetched base `a21a1f077cc11976213290a6b843bb74be97ab44`.
- Managed app worktree creation was unavailable because the chat root is the repository parent; official skill start created and registered isolation from the explicit remote base.
- Read: entry order, memory-index in 05-agent-entry, own record, positioning, latest current-state/teacher ADR/decision index, architecture, domain/success criteria, relevant evidence/reflection/commitment/stale indexes, and all registered peer Scope/Intent/Promotion sections.
- Project goal: cloud-configured domain Agents support student projects; Main owns calls, source scope and persistence. Current remote main already implements account/Agent continuous chats, per-turn project/source/version, shared manual refresh and hover UI. No fixed local persona, deleted component UI or old topic controls should reappear.
- Local current product sources: reply cleanup and truncation fix `d530abe` (includes `40c247a`); technical prompt boundary `54a40d2` supersedes older Alice audit `89c913b`; welcome-entry fix `c96bb45`. Other feature branches are ancestors of main, diagnostic-only, or superseded experiments. Old dirty teacher-components and trial launcher are known historical work and remain excluded/read-only; child-language task has only an unfinished task record and no product code.
- Overlap: remote continuous-chat storage/send/history needs the same repair, retry and retired-component behavior as legacy topics. Resolve mechanically while preserving the accepted single-chat/per-turn rules. The old retry's pinned-topic assumption must not reverse the newer per-turn current-version contract.
- Canonical docs contain historical component descriptions; README will describe the combined implementation. Existing canonical integration lock and source task records remain untouched. No new semantic decision needed; gate Passed.
## Plan
1. Merge the committed reply, prompt-boundary and welcome changes into fetched remote main; resolve overlapping code and adapt continuous-chat paths.
2. Add focused regressions for the combined storage, context and UI paths; run relevant tests, typecheck, lint and build plus headless UI where available.
3. Verify committed source coverage, record outcomes, fast-forward clean local main, push normally and compare remote identity. Keep all worktrees.