feat: add week 3 audio and timeline enhancements
This commit is contained in:
@@ -63,6 +63,7 @@ SMOKE_AUDIO=1 ./scripts/demo_smoke.sh
|
||||
- [ ] 绘本图片 retry 后 `image_status=ready`
|
||||
- [ ] 绘本阅读页能看到生成轨迹和资源重试历史
|
||||
- [ ] `/admin/providers/capabilities` 返回 `text/image/tts/storybook`
|
||||
- [ ] `/api/audio/{story_id}/status` 能查询音频缓存状态且不触发生成
|
||||
- [ ] 如果启用 `SMOKE_AUDIO=1`,音频 retry 后 `audio_status=ready`
|
||||
- [ ] 验证结果已记录到 `docs/planning/demo-validation-log.md`
|
||||
|
||||
@@ -82,8 +83,9 @@ SMOKE_AUDIO=1 ./scripts/demo_smoke.sh
|
||||
- 标题和正文
|
||||
- 封面状态
|
||||
- 音频状态
|
||||
- 音频缓存大小与更新时间
|
||||
- 资产补全/重试入口
|
||||
6. 点击音频播放,说明音频缓存复用。
|
||||
6. 点击音频播放,说明音频缓存复用;必要时清理缓存后重新生成。
|
||||
|
||||
### 路径 B: 绘本
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
- 用户端与管理端 `npm run build` 均通过;生成轨迹组件已支持未终止任务自动轮询。
|
||||
- `docker compose up -d --build` 已再次用当前代码重建本地演示栈。
|
||||
- `./scripts/demo_smoke.sh` 再次通过,并新增断言 `GET /api/generations/provider-analytics` 可以返回跨故事总调用、成功率、任务数、故事数和 Provider 明细。
|
||||
- 新增 Week 2-4 总 backlog 后,`backend/.venv/bin/python -m pytest backend/tests -q` 通过,85 个测试通过。
|
||||
- 音频缓存治理首版已验证:`GET /api/audio/{story_id}/status` 查询状态不触发生成,`DELETE /api/audio/{story_id}/cache` 可清理缓存并让音频重新进入可补全状态。
|
||||
- 时间线联动已验证:阅读事件会生成更完整的 recent_story 记忆,孩子时间线会展示阅读记录和记忆沉淀。
|
||||
- `./scripts/demo_smoke.sh` 已覆盖音频缓存状态查询。
|
||||
- 后端新增 `partial_ready`、`text_status` 与迁移 `0012_story_text_status` 后,`backend/.venv/bin/python -m pytest backend/tests -q` 通过,82 个测试通过。
|
||||
- `backend/.venv/bin/python -m ruff check backend/app backend/tests backend/alembic/versions/0012_add_story_text_status_and_partial_ready.py` 通过。
|
||||
- 用户端与管理端 `npm run build` 均通过。
|
||||
|
||||
77
docs/planning/week-2-to-4-execution-backlog.md
Normal file
77
docs/planning/week-2-to-4-execution-backlog.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# DreamWeaver 求职版重启:Week 2-4 执行 Backlog
|
||||
|
||||
**Version**: 1.0
|
||||
**Date**: 2026-04-18
|
||||
**Scope**: 从可演示 MVP 推进到可讲清楚、可复验、可继续生产化的项目包
|
||||
|
||||
---
|
||||
|
||||
## 1. 总体目标
|
||||
|
||||
Week 2 已完成演示闭环、统一生成工作流、generation job/event、状态模型、Provider 轨迹和 smoke 验证。Week 3-4 不继续堆大功能,而是围绕 PRD Phase 2 做增强:
|
||||
|
||||
1. 让音频缓存从“可用”变成“可治理、可解释”。
|
||||
2. 让孩子档案、故事、阅读事件、记忆和时间线之间形成更清楚的产品闭环。
|
||||
3. 让 Provider 运营视角从单故事扩展到跨故事摘要。
|
||||
4. 把结果页、语音体验、测试、架构图和演示材料收成求职版项目包。
|
||||
|
||||
---
|
||||
|
||||
## 2. Week 2 完成状态
|
||||
|
||||
| ID | Workstream | Task | Output | Priority | Status |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| W2-01 | Demo | 固化本地 Docker smoke 脚本 | `scripts/demo_smoke.sh` | P0 | Done |
|
||||
| W2-02 | Demo | 形成求职演示 checklist | `docs/planning/demo-checklist.md` | P0 | Done |
|
||||
| W2-03 | Planning | 输出 Week 2 执行 backlog | `docs/planning/week-2-execution-backlog.md` | P0 | Done |
|
||||
| W2-04 | Product | 写 3 分钟项目讲解稿 | `docs/planning/interview-pitch.md` | P0 | Done |
|
||||
| W2-05 | Frontend | 打磨创建弹窗状态文案 | 用户知道故事/绘本/资产正在生成 | P0 | Done |
|
||||
| W2-06 | Frontend | 强化故事详情页资产状态与重试 CTA | 图片/音频失败时可理解、可操作 | P0 | Done |
|
||||
| W2-07 | Frontend | 强化绘本阅读器降级态 | 缺图、失败、加载中不出现空白体验 | P0 | Done |
|
||||
| W2-08 | Backend | 梳理旧生成 API 兼容层策略 | `docs/technical/api-compatibility.md` | P1 | Done |
|
||||
| W2-09 | Backend | 判断 generation job 是否需要落库 | `docs/technical/generation-job-state.md` | P1 | Done |
|
||||
| W2-10 | QA | 补前端关键路径构建与 smoke 验证记录 | `docs/planning/demo-validation-log.md` | P1 | Done |
|
||||
| W2-11 | Docs | 输出 Week 1 Sprint Review | `docs/planning/week-1-sprint-review.md` | P1 | Done |
|
||||
| W2-12 | Docs | 更新 README 演示前检查流程 | README 本地演示说明 | P1 | Done |
|
||||
| W2-13 | Tech Debt | 清理 Pydantic v2 warning、Dockerfile warning 和旧 TODO | 测试与构建无关键 warning | P1 | Done |
|
||||
| W2-14 | Frontend | 同步管理端生成状态与资产补全体验 | 用户端/管理端状态体验不分叉 | P1 | Done |
|
||||
| W2-15 | Security | 移除管理后台弱默认密码 | 非 debug 管理后台拒绝空/弱密码 | P1 | Done |
|
||||
| W2-16 | Workflow | 轻量落库 generation job/event 与 retryable assets | 生成/资产补全过程可追踪 | P1 | Done |
|
||||
| W2-17 | Workflow | 落地 `partial_ready` 与 `text_status` | 主内容可读、资产待补全、资产失败可区分 | P1 | Done |
|
||||
| W2-18 | Ops | 跨故事 Provider 运营摘要 | `GET /api/generations/provider-analytics` | P1 | Done |
|
||||
| W2-19 | Frontend | 生成轨迹未终止任务自动轮询 | 前端为后台 worker 进度流预留体验 | P1 | Done |
|
||||
|
||||
---
|
||||
|
||||
## 3. Week 3 计划
|
||||
|
||||
| ID | Workstream | Task | Output | Priority | Status |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| W3-01 | Planning | 固化 Week 2-4 总 backlog | 当前文档 | P0 | Done |
|
||||
| W3-02 | Backend | 音频缓存治理首版 | 音频缓存元信息、stale repair、删除缓存接口 | P0 | Done |
|
||||
| W3-03 | Frontend | 语音体验补充缓存状态 | 故事详情页展示缓存命中/文件大小/更新时间 | P1 | Done |
|
||||
| W3-04 | Product Loop | 时间线增强阅读事件和记忆上下文 | 时间线展示已读、重听、近期记忆来源 | P0 | Done |
|
||||
| W3-05 | Memory | 阅读事件写入更可解释的 memory value | recent_story 包含阅读时长、mode、封面、事件来源 | P1 | Done |
|
||||
| W3-06 | QA | 为 W3-02/W3-04 补测试和 smoke 断言 | 后端测试 + smoke 覆盖新增接口 | P0 | Done |
|
||||
| W3-07 | Docs | 更新 PRD、README、验证日志 | 文档与实现一致 | P1 | Done |
|
||||
|
||||
---
|
||||
|
||||
## 4. Week 4 计划
|
||||
|
||||
| ID | Workstream | Task | Output | Priority | Status |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| W4-01 | Frontend | 结果页与阅读页体验收尾 | 故事详情、绘本阅读、故事库状态一致 | P0 | Pending |
|
||||
| W4-02 | Docs | 架构图与系统说明 | `docs/technical/architecture.md` 或 Mermaid 图 | P0 | Pending |
|
||||
| W4-03 | Demo | 求职版 Demo 包装 | 演示路径、风险预案、检查命令一页化 | P0 | Pending |
|
||||
| W4-04 | QA | 全量回归与验证记录 | pytest、ruff、前端 build、Docker smoke | P0 | Pending |
|
||||
| W4-05 | Product | 项目复盘与下一阶段路线 | Week 4 review + production backlog | P1 | Pending |
|
||||
|
||||
---
|
||||
|
||||
## 5. 执行原则
|
||||
|
||||
- 每次推进 3-5 个能一起验证的任务,不做只改一行的小碎片。
|
||||
- 每批任务必须有明确验证:测试、构建、smoke 或文档验收。
|
||||
- 不扩大到支付、多租户、复杂监控或大规模视觉重做。
|
||||
- 优先保留求职表达价值:能解释用户价值、AI 不确定性、Provider 分层和工程取舍。
|
||||
Reference in New Issue
Block a user