08_归档04_VOZEB任务卡
VOZEB-UI-MIGRATION-02-M04-CREATE-B — 创作 Agent 消息流与运行状态
Task ID: VOZEB-UI-MIGRATION-02-M04-CREATE-B
目标用户结果: 用户在创作 Agent 对话中能清楚辨识输入、结果、运行状态和失败恢复,同时保持 Ocean Air 的中性液态玻璃层次
Feature ID / Atomic Requirement IDs: HOME-P0-001-R01..R05;EXEC-P0-001-R01..R04;EXEC-P0-002-R01..R05;EXEC-P0-003-R01..R03;ATD-P0-001/002/003/005(仅承载视觉)
Base SHA: b9b4956f2f966c46cef85ea20996045f209d8ff3
必须阅读: VOZEB-UI-FOUNDATION-01.md;VOZEB-UI-MIGRATION-02.md;M04-CREATE-A;Creative Agent/Run 契约与现有消息测试
允许修改: 本任务包;web/src/app/(user)/create/components/creative-messages.tsx;web/src/app/(user)/create/components/creative-generation-waiting.tsx;web/src/app/(user)/create/components/creative-messages.test.tsx;web/src/app/(user)/create/components/creative-generation-waiting.test.tsx;本目录新增的消息视觉 CSS
禁止修改: use-create-agent.ts、stores、services/api/creative.ts、contracts、API routes、Go/migrations、共享 Ocean 组件与 layout/shell、page.tsx/composer.tsx、媒体比例/播放器实现、其它页面
范围: 用 Ocean Air 语义 token 收口消息气泡、助手身份、运行等待、参数摘要和轻量 reveal;保留消息分组、SSE 状态、资产/媒体、项目交接、重试、复制/下载、滚动锚点和所有既有 DOM/aria 契约
非目标: 改变 Run/SSE/计费/重试/媒体尺寸/持久化/导航语义;为每条消息创建独立 WebGL 或 Liquid Glass renderer;新增 API 或真实生成调用
已冻结契约与数据模型: CreativeMessages props、creativeConversationEntries、CreativeAgentRun 状态、data-testid、aria label、followLatest 和 390/430 响应式行为保持不变
安全与数据限制: 只改视觉 class/CSS 与呈现状态,不输出 execution prompt、Secret 或内部渠道信息,不触发真实生成/账务写入
验收命令: pnpm exec vitest run src/app/(user)/create/components/creative-messages.test.tsx src/app/(user)/create/components/creative-generation-waiting.test.tsx src/app/(user)/create/components/creative-run-presentation.test.ts src/app/(user)/create/components/creative-conversation-rounds.test.ts src/app/(user)/create/components/creative-generation-results.test.tsx src/app/(user)/create/components/creative-result-switcher.test.tsx;pnpm exec tsc --noEmit --pretty false;pnpm exec eslint src/app/(user)/create/components/creative-messages.tsx src/app/(user)/create/components/creative-generation-waiting.tsx src/app/(user)/create/components/creative-messages.test.tsx src/app/(user)/create/components/creative-generation-waiting.test.tsx --quiet;pnpm exec prettier --check docs/oceanway/VOZEB-UI-MIGRATION-02-M04-CREATE-B.md web/src/app/(user)/create/components/creative-messages.tsx web/src/app/(user)/create/components/creative-generation-waiting.tsx web/src/app/(user)/create/components/creative-messages.test.tsx web/src/app/(user)/create/components/creative-generation-waiting.test.tsx web/src/app/(user)/create/components/create-messages.module.css;git diff --check
人工决策点: LOCAL_IMPLEMENTATION_CANDIDATE / CANDIDATE_EVIDENCE / NOT_FORMAL_TEST;媒体结果外框、历史和资产面板另建切片
交付物: 消息流中性 token 视觉、运行状态可读层、轻量 reveal contract test、任务包验收边界
creativeConversationEntries仍是唯一消息/回合分组来源;不得把展示层重新推导为另一套业务状态机。- 运行中、暂停、连接中断和失败状态不能使用动画伪造进度;状态文字必须始终可见,动画在 reduced motion/transparency 下静态化。
- 消息列表不叠加第二个 WebGL 或每条消息的 GlassSurface;仅使用一层透明消息流与中性 token 气泡,避免多边框和紫色/蓝色正文。
- 既有媒体尺寸、视频播放器清理、项目交接和操作按钮只保留原行为,本切片不改媒体实现。