Merge grouped teacher introductions into latest main

This commit is contained in:
鲨鱼辣椒 committed 2026-09-29 23:24:59 +08:00
commit f853396124
13 files changed
+295 -150

No files matched your search

@@ -20,19 +20,22 @@
## Outcome
- Not completed.
- Combined source 7458c37 with latest fetched remote 1c07f7b. All group visibility/dismissal, legacy compatibility and three-turn behavior retained; remote reasoning/body streaming untouched.
- Resolved the single Electron-spec conflict by retaining the stricter remote 8–9px native preview gap assertion. Retained new group lifecycle tests and remote streaming test. No product-code conflict.
## Verification
- Not run.
- Typecheck, production build and full lint passed (0 errors / 8 existing warnings). 501 related unit tests across 19 files, 22 browser layout/community cases and 5 Electron introduction/streaming/draft cases passed; logs /tmp/teacher-intro-merge-{typecheck,unit,lint,build,browser,electron}.log.
- Electron used a temporary generated-entry focus guard; original compiled entry restored. No live trial reload, model call, cloud action or focus change.
- Every source product/test file except combined README/Electron spec matches 7458c37 byte-for-byte, including the source task record. Canonical docs match remote 1c07f7b unchanged. Own-doc drift passed before merging; after merging, the checker flags the imported source task record as FOREIGN_DOC because it compares paths against the remote base. Verified that record is the exact immutable source blob, not a cross-task edit; preserved it rather than deleting history to silence the diagnostic.
## Follow-ups
- None recorded.
- Fast-forward validated candidate into the clean local main checkout; remote push is outside this request.
## Promotion Candidates
- None recorded.
- Canonical teacher ADR/domain/current-state should replace per-teacher introduction receipts with a unified account/project group, all-or-none dismissal and conservative legacy reads. User explicitly approved the change; README and source are authoritative for this merge. Canonical integration remains owned by the separate registered integration task.
## Project Context Loaded