feat: add unified asset retry endpoint
Some checks failed
Build and Push Docker Images / changes (push) Has been cancelled
Build and Push Docker Images / build-backend (push) Has been cancelled
Build and Push Docker Images / build-frontend (push) Has been cancelled
Build and Push Docker Images / build-admin-frontend (push) Has been cancelled

This commit is contained in:
2026-04-18 11:40:10 +08:00
parent b8d3cb4644
commit 0613238a37
9 changed files with 316 additions and 91 deletions

View File

@@ -37,7 +37,7 @@
## 2.1 Current Progress Snapshot
**Updated**: 2026-04-17 evening
**Updated**: 2026-04-18 morning
### What Has Been Completed
@@ -54,35 +54,43 @@
- `0009_add_story_generation_statuses.py`
- `0010_add_story_audio_cache_path.py`
- 已完成一轮后端回归验证:`backend/``pytest -q` 结果为 `53 passed`
- 已修复 admin-frontend 构建阻塞,主前端与管理端前端均可生产构建
- 已落地首版统一资产重试入口:`POST /api/stories/{story_id}/assets/retry`
### What Is In Progress
- 统一状态模型已落地,但统一 service workflow 仍未真正收束成单一路径
- 普通故事、完整生成、绘本生成仍存在多条 service / API 路径
- 资产补全虽然已经支持图片与音频状态,但“统一重试入口”尚未实现
- 资产补全已经具备统一重试入口首版,但仍需要继续抽象统一补全过程和 generation job 边界
### What Is Still Pending
- admin-frontend 的处理决策与演示范围收敛
- Provider 的 Capability / Provider / Routing Policy 边界整理
- Week 2 可直接执行的开发任务表
- 演示 checklist 与最终收尾策略
### Remote Checkpoint Scope
当前远端已同步一个阶段性 checkpoint
当前远端已同步到 2026-04-17 晚间 WIP 快照
- Commit: `a97a2fe`
- Message: `feat: persist story generation states and cache audio`
- Commit: `b8d3cb4`
- Message: `wip: snapshot full local workspace state`
这个 checkpoint **不是今天下午所有本地修改的全集**。它只覆盖以下主线
这个 checkpoint 包含 `a97a2fe` 的统一状态模型主线,也包含后续文档治理和接手机制整理
- 统一生成状态模型
- Storybook 按 ID 恢复
- 故事列表/详情/绘本页状态展示
- 音频缓存与状态语义修正
- `docs/` 信息架构整理
- 求职版 PRD、统一生成工作流 PRD、Week 1 backlog、文档状态盘点
- `AGENTS.md` 接手说明
当前工作区里仍存在其他未提交、本机独有的改动,周末换电脑后不会自动带过去。
2026-04-18 在个人电脑接手时已确认:
- 本地 `main``origin/main` 对齐
- 工作树起始状态干净
- Gitea HTTPS 推送凭据已配置并通过 dry-run 验证
---
@@ -171,7 +179,7 @@
| 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-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 |

View File

@@ -8,7 +8,7 @@
## What Is Already On Remote
当前远端已经包含一个阶段性 checkpoint
当前远端 `main` 已经包含两个连续 checkpoint
- Commit: `a97a2fe`
- Message: `feat: persist story generation states and cache audio`
@@ -25,16 +25,30 @@
- 音频首次生成后缓存落盘并可复用
- 统一状态语义中 `degraded_completed` 已和错误展示保持一致
- Commit: `b8d3cb4`
- Message: `wip: snapshot full local workspace state`
这个 checkpoint 已把 2026-04-17 晚间的工作区快照同步到远端,包括:
- 新增 `AGENTS.md`
- 整理 `docs/` 文档信息架构
- 新增求职版 PRD、统一生成工作流 PRD、Week 1 backlog 与文档盘点
- 归档旧 backend docs 到 `docs/archive/``docs/technical/``docs/operations/`
- 补齐 Storybook 带 ID 路由恢复相关前端改动
注意:`b8d3cb4` 是一次 WIP 快照提交,原始 diff 中包含大量行尾/格式噪音。继续开发时应以当前 `main` 代码与 `docs/` 中 Active 文档为准,不需要再回到 `a97a2fe` 重新整理。
---
## What Is Not Yet On Remote
## Current Local Status On 2026-04-18
当前这台机器的工作区里仍存在大量未提交改动,它们 **不属于上面的 checkpoint**,也不会自动出现在另一台电脑上。
2026-04-18 在个人电脑接手后已确认:
因此,周末接手时应该默认:
- 远端 `main` 只包含“统一状态模型 + Storybook 恢复 + 音频缓存”这一条主线
- 其他本机未提交内容需要后续再整理,不应假设它们已经同步
- 本地 `main``origin/main` 对齐到 `b8d3cb4`
- 工作树起始状态干净
- 已配置 Gitea HTTPS 推送凭据,并通过 `git push --dry-run origin HEAD:main`
- 后端本地虚拟环境可用:`backend/.venv`
- 主前端与管理端依赖已安装到各自 `node_modules`
---
@@ -55,7 +69,7 @@
1. `git pull`
2. `cd backend && alembic upgrade head`
3. `cd backend && ./.venv/Scripts/python.exe -m pytest -q`
3. `cd backend && .venv/bin/python -m pytest -q`macOS/Linux
4. `cd frontend && npm install`
5. `cd frontend && ./node_modules/.bin/vue-tsc --noEmit`
@@ -120,6 +134,6 @@
如果周末是在另一台电脑上继续,不要默认“今天下午所有本地修改”都已经上远端。当前最可靠的 source of truth 是:
- 远端代码:以 commit `a97a2fe` 为准
- 远端代码:以 commit `b8d3cb4` 为准
- 产品目标:以 `docs/product/job-search-relaunch-prd.md` 为准
- 当前执行主线:以 `docs/product/unified-generation-workflow-prd.md``docs/planning/week-1-execution-backlog.md` 为准

View File

@@ -17,7 +17,7 @@ DreamWeaver 当前同时支持普通故事生成、完整故事生成和绘本
## Implementation Snapshot
**Updated**: 2026-04-17 evening
**Updated**: 2026-04-18 morning
当前代码已经从“纯目标态设计”进入“部分落地”阶段,主要进展如下:
@@ -33,12 +33,15 @@ DreamWeaver 当前同时支持普通故事生成、完整故事生成和绘本
- 故事列表页、故事详情页、绘本阅读页已接入统一状态展示
- 故事音频已支持首次生成后缓存复用
- `degraded_completed` 已在服务层和前端语义中落地
- 已新增首版统一资产重试入口:`POST /api/stories/{story_id}/assets/retry`
- 故事详情页封面补全已切换到统一资产重试入口
- 管理端前端构建阻塞已修复,主前端与 admin 前端均可完成生产构建
### Still Missing
- 统一的 `POST /api/generations` 风格入口尚未建立
- 普通故事、完整生成、绘本生成仍通过多条 service 路径实现
- 统一资产重试入口”尚未落地
- 统一资产重试入口仍是首版:已覆盖普通故事封面、绘本缺失插图、故事音频,但尚未抽象成完整 generation job 模型
- `partial_ready``retryable_assets` 等更细粒度状态仍停留在目标态
### What This Means