fix: hide model details from teacher composer

This commit is contained in:
鲨鱼辣椒
2026-09-29 23:04:06 +08:00
parent a77ddbd681
commit 8af0ca7288
5 changed files with 79 additions and 15 deletions

View File

@@ -0,0 +1,55 @@
# Task: Hide teacher model selector from the composer
## Identity
- Task ID: 20260929-teacher-composer-actions-e819c3d7
- Mode: Feature
- Branch: codex/20260929-teacher-composer-actions-e819c3d7-teacher-composer-actions
- Worktree: /Users/chillishark/Makelore 麦洛/.codex-worktrees/makelore/20260929-teacher-composer-actions-e819c3d7
- Base commit: a77ddbd6813bb71d490544edfef6e1f35240070f
- Owner: codex
- Status: Ready for Integration
## Scope
- Hide the teacher composer's model picker, model name and configuration details; retain the microphone, send and in-flight stop controls.
## 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.
## 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.
## Verification
- 88 relevant tests passed across coding-teacher-ui, teacher-composer-voice and teacher-conversation-panel. Updated the existing model-picker test to seed an old preference and verify unchanged send/remount behavior without a picker or model-directory call.
- Updated two existing browser scenarios: 319px and 508px panels show exactly microphone/send buttons with no model/config text or horizontal overflow; default and previously saved model sends preserve their original parameters. Both passed (4.8 seconds); both generated screenshots were visually inspected.
- Browser tests use the existing isolated Vite/mock-API fixture and installed Chrome in headless mode (MAKELORE_LAYOUT_BROWSER_CHANNEL=chrome). Initial default launch could not find Playwright's bundled Chromium; no app behavior ran in that attempt, and no browser installation was needed. No real model calls or user application interactions.
- Standard typecheck, scoped ESLint, build:vite and git diff --check passed. Build log: /tmp/makelore-teacher-composer-actions-build.log. Project-doc structure and task-aware drift checks passed.
## Follow-ups
- Merge/update the intended app when requested. The running trial and installed app still use their existing source.
## Promotion Candidates
- Target: canonical teacher UI/current-state at next integration. Proposal: hide model picker and details from the teacher composer while retaining microphone/send/stop and existing model execution/retry semantics. Evidence: explicit screenshot-based user instruction, 88 unit tests, two narrow/wide browser cases and inspected screenshots. This supersedes the prior visible-picker UI requirement only; user confirmation is already supplied, and no cloud-model ownership decision changes.
## Project Context Loaded
- Identity: feature task, branch/worktree/base as above; task_context start/status passed with exact ownership and reservation. Main base a77ddbd already contains the window-close fix and merged teacher composer/compact shortcuts.
- Read: AGENTS, entry/memory-index/planning-gate, active task, positioning, current-state, decision index and teacher ADR, architecture, domain/success criteria, evidence/reflection/commitment context. Canonical current-state retains historical UI descriptions; current README and user instruction govern this small presentation change.
- Goal: child-friendly project creation with cloud-defined teachers. Main/cloud own model execution and billing; this change only hides the picker UI. Existing pending requests retain their frozen model and idempotency identity.
- Peers: all registered Scope/Intent/Promotion sections inspected. Teacher composer/model and shortcut tasks supply already-merged behavior; the latest user request explicitly narrows visible controls. Grouped teacher introductions and Code back-entry touch separate surfaces. Child-language has incomplete scope but no concrete dependency. No blocking semantic conflict; peer worktrees stay untouched.
- Files: TeacherChatPanel, existing teacher-reply-layout tests, README and this record. No server/API contract changes or new design system.
- Gate: Passed.
## Plan
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.