345 lines
11 KiB
Markdown
345 lines
11 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-17 evening
|
||
|
||
### 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` 结果为 `53 passed`
|
||
|
||
### What Is In Progress
|
||
|
||
- 统一状态模型已落地,但统一 service workflow 仍未真正收束成单一路径
|
||
- 普通故事、完整生成、绘本生成仍存在多条 service / API 路径
|
||
- 资产补全虽然已经支持图片与音频状态,但“统一重试入口”尚未实现
|
||
|
||
### What Is Still Pending
|
||
|
||
- admin-frontend 的处理决策与演示范围收敛
|
||
- Provider 的 Capability / Provider / Routing Policy 边界整理
|
||
- Week 2 可直接执行的开发任务表
|
||
- 演示 checklist 与最终收尾策略
|
||
|
||
### Remote Checkpoint Scope
|
||
|
||
当前远端已同步一个阶段性 checkpoint:
|
||
|
||
- Commit: `a97a2fe`
|
||
- Message: `feat: persist story generation states and cache audio`
|
||
|
||
这个 checkpoint **不是今天下午所有本地修改的全集**。它只覆盖以下主线:
|
||
|
||
- 统一生成状态模型
|
||
- Storybook 按 ID 恢复
|
||
- 故事列表/详情/绘本页状态展示
|
||
- 音频缓存与状态语义修正
|
||
|
||
当前工作区里仍存在其他未提交、本机独有的改动,周末换电脑后不会自动带过去。
|
||
|
||
---
|
||
|
||
## 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 | Pending |
|
||
| 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.*
|