58 lines
6.7 KiB
Markdown
58 lines
6.7 KiB
Markdown
# Task: Merge teacher reply cleanup and approved UI changes into main
|
||
|
||
## Identity
|
||
|
||
- Task ID: 20260928-merge-reply-cleanup-eb8d39b3
|
||
- Mode: Feature
|
||
- Branch: codex/20260928-merge-reply-cleanup-eb8d39b3-merge-reply-cleanup
|
||
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20260928-merge-reply-cleanup-eb8d39b3
|
||
- Base commit: a21a1f077cc11976213290a6b843bb74be97ab44
|
||
- Owner: codex
|
||
- Status: In progress
|
||
|
||
## Scope
|
||
|
||
- Merge committed teacher/UI cleanup source 40c247a into latest origin/main and push normally; preserve existing continuous-chat and per-turn project/version behavior.
|
||
|
||
## Intent And Constraints
|
||
|
||
- User explicitly authorizes main integration and repository push; packaging belongs to their colleague. No packaging, native app restart, cloud publication, real model calls or focus changes. Preserve all foreign worktrees and source records.
|
||
|
||
## Outcome
|
||
|
||
- Source cleanup `40c247a` merged with the current account/Agent continuous-chat behavior in `581ebc8`, then incorporated complete remote main `077184a` before publication. Preserve its reply recovery, cloud-owned teaching policy, 0–3 new shortcuts, welcome dismissal, pagination and per-turn source/version behavior.
|
||
- Additional merge safeguards: old component mutation route removed from the continuous API; no new per-project component state is created or imported; existing malformed legacy component archives are retained verbatim. Old component instructions cannot persist through a reused pre-upgrade cloud checkpoint: first reply-protocol turn rotates the internal thread and carries bounded public reply history, without changing the visible chat.
|
||
- Unconfirmed legacy hint requests retain their old text, ID and original project/source. Migrated per-project drafts keep that original scope; cross-project or cross-source hint retry waits for the original scope instead of issuing another charge. Existing send-in-flight and incomplete-reply retry safeguards remain intact.
|
||
- No package, app restart/update, cloud configuration publication, paid model call or desktop focus change. Source/live-trial and all foreign worktrees remain intact. Publication verification is recorded below after the normal push.
|
||
|
||
## Verification
|
||
|
||
- Final `corepack pnpm run typecheck`, `corepack pnpm run lint:check` and `corepack pnpm run build:vite` passed. Lint has 8 existing unrelated warnings; build has existing chunk-size/dynamic-import warnings. No dependencies or build outputs committed.
|
||
- Final backend focused validation: 7 suites / 261 tests passed; UI/companion/chat: 4 suites / 144 tests passed; continuous storage/retired routes: 2 suites / 17 tests passed. These runs overlap and are not an additive unique-test count.
|
||
- Headless Chrome: all 28 teacher reply/preview layout cases verified. First run passed 27; one initial Vite scan observed an in-progress shared-type merge marker, then passed when rerun after resolution. Native Pi Electron E2E fixture parses and lists 19 tests; not launched because it opens a foreground app.
|
||
- Full `corepack pnpm test`: 261 files / 2639 tests passed, 3 tests skipped; 3 failures in 2 unrelated Pi files. Independently reproduced exactly those same 3 failures on a disposable archive of original remote `077184a` (12 passed / 3 failed in the selected two files): two event-projector old error-message assertions and the managed-worker opener runtime-v6/v7 assertion. Baseline log: `/tmp/makelore-baseline-077184a-21n6od02/baseline-tests.log`. The script's separately gated pressure suite was then run manually and passed 1/1.
|
||
- `git diff --check`, required project-document structure and semantic comparison against latest remote passed. Task drift checker reports 5 imported source-task documents as foreign relative to the original base; byte comparison against `077184a` confirms every imported document unchanged. Only this task's own record is authored here; no canonical writes, ownership override, baseline alteration or source-document edits were used to suppress the inherited diagnostic.
|
||
|
||
## Follow-ups
|
||
|
||
- Push the verified merge normally to remote main and record exact publication identity. Packaging and installation belong to the user's colleague.
|
||
- The 3 pre-existing Pi test assertions remain outside this teacher merge scope. Native Electron foreground interactions and signed package verification are not claimed.
|
||
|
||
## Promotion Candidates
|
||
|
||
- A later canonical-memory integration should reflect current text/quick-reply-only teacher behavior and first-upgrade cloud-thread rotation. Evidence is the merged implementation, focused regressions and baseline comparison; existing cloud-defined policy and continuous-chat decisions remain unchanged. This feature task does not own the canonical integration lock.
|
||
|
||
## Project Context Loaded
|
||
|
||
- Identity verified by official start/status: feature task `20260928-merge-reply-cleanup-eb8d39b3`, this managed worktree/branch, base `a21a1f077cc11976213290a6b843bb74be97ab44`. Source checkout is owned by the completed cleanup task and still hosts the temporary app, so it remains read-only.
|
||
- Read entry/memory index, own record, project positioning, latest integrated state, decisions, architecture, success criteria and all registered peer scope/intent/promotion sections. Reuse previously loaded teacher domain/evidence/reflection/commitment context; changed continuous-chat rules checked against current main/source task records.
|
||
- Goal: student-owned creation with cloud-defined teachers, Main-owned request/history/version boundaries, prose and quick replies only. Preserve main's unique account/Agent chat and per-turn project/source/version; remove retired component UI/protocol/state and retain approved empty-composer hint/retry/preview-header styling.
|
||
- Other tasks: a broader latest-main integration is also registered planning; prepare this requested source in isolation, check remote again before push and never overwrite a concurrent remote advance. Prompt-boundary, truncation repair and welcome changes are separately owned and not added speculatively. Child-language task is unfinished. Canonical integration lock is held elsewhere; keep all canonical/source records read-only.
|
||
- New integrated single-chat behavior is compatible with component cleanup; overlaps require combined code/tests rather than choosing an entire side. No new product decision needed. Gate Passed.
|
||
|
||
## Plan
|
||
|
||
1. Merge source 40c247a into fetched main in this isolated branch; preserve source history and resolve overlaps with the current continuous-chat contract.
|
||
2. Verify backend/context/parser/history and UI/preview/refresh paths, typecheck, lint, production compile and headless layout; independently review the merge.
|
||
3. Recheck origin/main, integrate any concurrent advance, push normally to main and verify remote ancestry/hash. Keep the live trial checkout; packaging and app updates are outside this request.
|