366 lines
12 KiB
Markdown
366 lines
12 KiB
Markdown
# DreamWeaver 求职版重启:Week 1 执行 Backlog
|
||
|
||
**Version**: 1.0
|
||
**Date**: 2026-04-17
|
||
**Author**: Sarah (Product Owner)
|
||
**Sprint Length**: 5 个工作日
|
||
**Sprint Theme**: 产品聚焦与核心生成链路收敛
|
||
|
||
---
|
||
|
||
## 1. Sprint Executive Summary
|
||
|
||
本周的核心任务不是“继续加功能”,而是为 DreamWeaver 的求职版重启建立一个稳定、可解释、可执行的基础版本。Week 1 的目标是完成三件事:
|
||
|
||
1. 明确 DreamWeaver 求职版的核心产品主线。
|
||
2. 明确统一生成工作流的目标状态与系统边界。
|
||
3. 识别并解决阻碍演示与后续开发的关键基础问题。
|
||
|
||
这意味着本周的重点是“收敛、抽象、对齐”,而不是“冲刺做完所有体验”。如果 Week 1 做得对,Week 2 的前端状态、音频体验和闭环演示才会顺。
|
||
|
||
---
|
||
|
||
## 2. Sprint Goal
|
||
|
||
### Sprint Goal
|
||
|
||
在 5 个工作日内,将 DreamWeaver 从“功能分散的 AI 项目”推进为“围绕个性化亲子故事体验的清晰产品方案”,并完成统一生成工作流的设计对齐与关键技术阻塞清单。
|
||
|
||
### Sprint Success Definition
|
||
|
||
本周结束时,团队应满足以下状态:
|
||
|
||
- 已统一项目对外叙事:DreamWeaver 是“个性化 AI 绘本与陪伴式讲述产品”。
|
||
- 已形成统一生成工作流的需求说明、状态模型和系统边界。
|
||
- 已确认 admin 端、Storybook 恢复能力、Provider 重构边界的处理方案。
|
||
- 已产出 Week 2 可直接进入开发的任务清单。
|
||
|
||
## 2.1 Current Progress Snapshot
|
||
|
||
**Updated**: 2026-04-18 morning
|
||
|
||
### What Has Been Completed
|
||
|
||
- 已完成求职版产品方向收敛,并形成 `docs/product/job-search-relaunch-prd.md` 与 `docs/product/unified-generation-workflow-prd.md`
|
||
- 已在代码中补齐 Storybook 按 ID 恢复,不再只依赖前端内存态
|
||
- 已在后端和前端落地统一状态字段与状态文案:
|
||
- `generation_status`
|
||
- `image_status`
|
||
- `audio_status`
|
||
- `last_error`
|
||
- 已补齐故事列表、故事详情、绘本阅读页的状态展示
|
||
- 已为故事音频增加首次生成后落盘缓存与后续复用
|
||
- 已新增数据库迁移:
|
||
- `0009_add_story_generation_statuses.py`
|
||
- `0010_add_story_audio_cache_path.py`
|
||
- 已完成一轮后端回归验证:`backend/` 下 `pytest -q` 结果为 `66 passed`
|
||
- 已完成全量后端 lint 清理:`ruff check app tests` 可通过
|
||
- 已修复 admin-frontend 构建阻塞,主前端与管理端前端均可生产构建
|
||
- 已落地首版统一资产重试入口:`POST /api/stories/{story_id}/assets/retry`
|
||
- 已建立目标态统一生成入口:
|
||
- `POST /api/generations`
|
||
- `GET /api/generations/{story_id}`
|
||
- `POST /api/generations/{story_id}/retry-assets`
|
||
- 用户前端与 admin 前端创建弹窗已切换到统一生成入口
|
||
- service 内部已抽取统一工作流公共步骤:
|
||
- 档案/宇宙校验与 memory context 构建
|
||
- 文本故事主记录保存
|
||
- 绘本主记录保存
|
||
- 普通故事封面生成/重试
|
||
- 绘本缺失插图补全
|
||
- 故事音频缓存读取与 TTS 生成
|
||
|
||
### What Is In Progress
|
||
|
||
- 统一状态模型与统一外部 API 已落地,内部 service workflow 已开始收束公共步骤
|
||
- 旧生成 API 仍保留为兼容层,后续需要继续降低重复实现
|
||
- 资产补全已经具备统一重试入口首版,封面/绘本插图/音频已有 asset completion helper;后续需要继续抽象 generation job 边界
|
||
|
||
### What Is Still Pending
|
||
|
||
- Provider 的 Capability / Provider / Routing Policy 边界整理
|
||
- Week 2 可直接执行的开发任务表
|
||
- 演示 checklist 与最终收尾策略
|
||
|
||
### Remote Checkpoint Scope
|
||
|
||
当前远端已同步到 2026-04-17 晚间 WIP 快照:
|
||
|
||
- Commit: `b8d3cb4`
|
||
- Message: `wip: snapshot full local workspace state`
|
||
|
||
这个 checkpoint 包含 `a97a2fe` 的统一状态模型主线,也包含后续文档治理和接手机制整理:
|
||
|
||
- 统一生成状态模型
|
||
- Storybook 按 ID 恢复
|
||
- 故事列表/详情/绘本页状态展示
|
||
- 音频缓存与状态语义修正
|
||
- `docs/` 信息架构整理
|
||
- 求职版 PRD、统一生成工作流 PRD、Week 1 backlog、文档状态盘点
|
||
- `AGENTS.md` 接手说明
|
||
|
||
2026-04-18 在个人电脑接手时已确认:
|
||
|
||
- 本地 `main` 与 `origin/main` 对齐
|
||
- 工作树起始状态干净
|
||
- Gitea HTTPS 推送凭据已配置并通过 dry-run 验证
|
||
|
||
---
|
||
|
||
## 3. Scope
|
||
|
||
### In Scope
|
||
|
||
- 产品主线收敛
|
||
- 统一生成工作流的需求定义
|
||
- Provider 概念重构边界梳理
|
||
- Storybook 恢复路径方案确认
|
||
- Admin 前端处理策略确认
|
||
- Week 2 开发前准备
|
||
|
||
### Out of Scope
|
||
|
||
- 大规模前端视觉重构
|
||
- 新增更多 AI 供应商
|
||
- 复杂监控大盘与成本后台
|
||
- 多租户、商业化支付、会员系统
|
||
- 全量高可用部署优化
|
||
|
||
---
|
||
|
||
## 4. Sprint Priorities
|
||
|
||
| Priority | Item | Why It Matters |
|
||
|------|------|------|
|
||
| P0 | 收敛产品定位 | 决定后续所有产品与技术选择 |
|
||
| P0 | 统一生成工作流定义 | 决定故事、绘本、音频、封面如何整合 |
|
||
| P0 | Storybook 恢复方案 | 当前是演示稳定性的关键缺口 |
|
||
| P0 | Admin 端处理决策 | 当前会影响完整构建与部署 |
|
||
| P1 | Provider 分层整理 | 为后续系统重构和面试讲解打底 |
|
||
| P1 | Week 2 任务准备 | 保证下周可直接进入执行 |
|
||
|
||
---
|
||
|
||
## 5. Week 1 User Stories
|
||
|
||
### Story A: 明确求职版产品主线
|
||
|
||
**As a** 项目拥有者
|
||
**I want to** 明确 DreamWeaver 求职版只讲一个清晰的产品故事
|
||
**So that** 我在面试和开发中都能聚焦重点
|
||
|
||
**Acceptance Criteria**
|
||
|
||
- [ ] 输出一句话产品定位
|
||
- [ ] 输出 3 条核心价值主张
|
||
- [ ] 明确哪些功能是本轮保留,哪些是延后
|
||
|
||
### Story B: 明确统一生成工作流
|
||
|
||
**As a** 产品负责人
|
||
**I want to** 用统一工作流来定义故事、绘本、封面和语音生成
|
||
**So that** 系统可以持续演进,而不是继续分裂
|
||
|
||
**Acceptance Criteria**
|
||
|
||
- [x] 定义统一状态模型
|
||
- [x] 明确故事与绘本的共同链路和差异
|
||
- [ ] 明确失败降级与重试原则
|
||
|
||
### Story C: 识别并拆解关键阻塞项
|
||
|
||
**As a** 求职项目维护者
|
||
**I want to** 找出影响演示和开发推进的关键阻塞
|
||
**So that** 后续投入能集中在最高价值项上
|
||
|
||
**Acceptance Criteria**
|
||
|
||
- [ ] 明确 admin-frontend 的处理方案
|
||
- [x] 明确 Storybook 恢复方案
|
||
- [ ] 明确 Provider 重构边界
|
||
|
||
---
|
||
|
||
## 6. Task Backlog
|
||
|
||
| ID | Workstream | Task | Output | Priority | Estimate | Status |
|
||
|------|------|------|------|------|------|------|
|
||
| W1-01 | Product | 确认求职版产品定位与展示口径 | 一句话定位 + 3 条价值主张 | P0 | 0.5d | Done |
|
||
| W1-02 | Product | 梳理本轮 In Scope / Out of Scope | 范围清单 | P0 | 0.5d | Done |
|
||
| W1-03 | Product / System | 盘点现有生成路径:普通故事、完整生成、绘本生成 | 现状流程图或对照表 | P0 | 0.5d | Done |
|
||
| W1-04 | Product / System | 定义统一 Generation Workflow 状态模型 | 状态流转说明 | P0 | 1.0d | Done |
|
||
| W1-05 | Product / Backend | 定义统一工作流下的 API / 数据结构影响 | 接口与模型变更清单 | P0 | 0.5d | In Progress |
|
||
| W1-06 | Product / Backend | 梳理 Provider 概念层:Capability / Provider / Routing Policy | 分层图与术语表 | P1 | 0.5d | Pending |
|
||
| W1-07 | Product / Frontend | 梳理 Storybook 当前问题与恢复方案 | 恢复方案说明 | P0 | 0.5d | Done |
|
||
| W1-08 | Product / Frontend | 确认 admin 前端是修复、裁剪还是暂时降级 | 决策记录 | P0 | 0.5d | Done |
|
||
| W1-09 | Planning | 产出 Week 2 开发任务清单 | 下周 backlog | P1 | 0.5d | In Progress |
|
||
| W1-10 | Review | 形成求职演示版检查清单 | 演示清单 | P1 | 0.5d | Pending |
|
||
|
||
---
|
||
|
||
## 7. Recommended Execution Sequence
|
||
|
||
### Day 1: 产品聚焦
|
||
|
||
- 完成求职版产品定位
|
||
- 确认本轮保留功能与延后功能
|
||
- 输出一句话产品口径和核心价值主张
|
||
|
||
**Expected Output**
|
||
|
||
- 产品定位 statement
|
||
- MVP 范围清单
|
||
- 非本轮范围说明
|
||
|
||
### Day 2: 现状拆解
|
||
|
||
- 盘点当前三类生成路径
|
||
- 对比普通故事、完整故事、绘本生成的共同点与差异
|
||
- 找出重复步骤与缺失状态
|
||
|
||
**Expected Output**
|
||
|
||
- 现状流程对照表
|
||
- 问题清单
|
||
- 工作流统一方向初稿
|
||
|
||
### Day 3: 统一工作流定义
|
||
|
||
- 确定 Generation Workflow 的状态模型
|
||
- 明确文本、封面、语音、绘本页的生成关系
|
||
- 明确哪些步骤同步、哪些异步
|
||
|
||
**Expected Output**
|
||
|
||
- 统一工作流草案
|
||
- 状态流转图
|
||
- 失败降级规则
|
||
|
||
### Day 4: 关键阻塞项决策
|
||
|
||
- 明确 Storybook 恢复方案
|
||
- 明确 admin 端处理策略
|
||
- 明确 Provider 重构边界和迁移原则
|
||
|
||
**Expected Output**
|
||
|
||
- 技术决策记录
|
||
- Week 2 实施前置条件
|
||
|
||
### Day 5: Sprint Wrap-up
|
||
|
||
- 整理 Week 2 可执行任务
|
||
- 形成演示清单与风险清单
|
||
- 输出周总结
|
||
|
||
**Expected Output**
|
||
|
||
- Week 2 backlog
|
||
- 演示 checklist
|
||
- Sprint review summary
|
||
|
||
---
|
||
|
||
## 8. Deliverables
|
||
|
||
本周必须交付的成果如下:
|
||
|
||
1. 求职版产品定位文档
|
||
2. 统一生成工作流功能级 PRD
|
||
3. Storybook 恢复方案说明
|
||
4. Admin 端处理决策
|
||
5. Week 2 开发 Backlog
|
||
6. 演示检查清单
|
||
|
||
## 8.1 Weekend Handoff Guidance
|
||
|
||
如果周末在另一台电脑继续推进,建议按以下顺序接手:
|
||
|
||
1. 先拉取远端 `main`,确认已经包含 commit `a97a2fe`
|
||
2. 先阅读:
|
||
- `docs/product/job-search-relaunch-prd.md`
|
||
- `docs/product/unified-generation-workflow-prd.md`
|
||
- 当前这份 backlog
|
||
3. 运行数据库迁移:`alembic upgrade head`
|
||
4. 从“统一资产补全”和“统一 service workflow”继续,而不是重新发散到新功能
|
||
|
||
建议周末接续时的第一优先级:
|
||
|
||
- 抽出图片/音频统一资产补全过程
|
||
- 设计并实现统一的重试入口
|
||
- 继续收敛普通故事、完整生成、绘本生成三条路径
|
||
|
||
---
|
||
|
||
## 9. Definition of Done
|
||
|
||
只有满足以下条件,Week 1 才视为完成:
|
||
|
||
- [ ] 产品定位能用 30 秒讲清楚
|
||
- [ ] 统一生成工作流的状态模型已明确
|
||
- [ ] 关键阻塞项均有明确处理方案,不处于“再看看”
|
||
- [ ] Week 2 有可直接执行的任务表
|
||
- [ ] 所有本周产出都已沉淀为书面文档
|
||
|
||
---
|
||
|
||
## 10. Risks
|
||
|
||
| Risk | Likelihood | Impact | Mitigation |
|
||
|------|------|------|------|
|
||
| 本周又回到“继续加功能” | High | High | 每天检查任务是否服务于核心闭环 |
|
||
| Provider 讨论过深,脱离产品目标 | Medium | High | 保持“求职版可解释性”优先,不做过度设计 |
|
||
| 前端细节打断主线梳理 | High | Medium | Week 1 不做大量视觉细化,只做策略与任务定义 |
|
||
| Storybook 恢复方案定义不清 | Medium | High | 必须把“按 ID 恢复”作为明确目标,不接受模糊状态 |
|
||
|
||
---
|
||
|
||
## 11. Dependencies
|
||
|
||
- 已有 PRD: `docs/product/job-search-relaunch-prd.md`
|
||
- 当前生成接口与数据结构
|
||
- Storybook Viewer 与 Store 实现
|
||
- Provider Router 当前实现
|
||
|
||
---
|
||
|
||
## 12. Suggested Daily Rituals
|
||
|
||
为了帮助你模仿真实产品经理工作方式,建议你在执行本周任务时保持以下节奏:
|
||
|
||
- **每日开始前**:先写今天要解决的 1 个核心问题。
|
||
- **每日结束时**:用 3 句话回答:
|
||
- 今天明确了什么?
|
||
- 还有什么不确定?
|
||
- 明天最重要的一件事是什么?
|
||
|
||
这会帮助你从“想到什么做什么”转向“围绕目标做判断”。
|
||
|
||
---
|
||
|
||
## 13. How to Reuse This Format
|
||
|
||
以后你自己写 Sprint Backlog 或执行计划时,可以直接套用这套结构:
|
||
|
||
1. Executive Summary
|
||
2. Sprint Goal
|
||
3. Scope
|
||
4. Priorities
|
||
5. User Stories
|
||
6. Task Backlog
|
||
7. Recommended Execution Sequence
|
||
8. Deliverables
|
||
9. Definition of Done
|
||
10. Risks / Dependencies
|
||
|
||
和 PRD 不同,Backlog 文档更偏执行,不需要写太多业务背景,但一定要写清楚:
|
||
|
||
- 这周为什么做
|
||
- 这周不做什么
|
||
- 每天要推进什么
|
||
- 什么状态算完成
|
||
|
||
---
|
||
|
||
*This document is intended as a PM-style execution backlog for Week 1 of the DreamWeaver portfolio relaunch.*
|