Files
gaojie 1ea74b46da
Sync to site1 / sync (push) Has been cancelled
chore: update CrowdRoom categories from worldmodel to CrowdRoom
2026-05-21 02:20:22 +08:00

266 lines
21 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "CrowdRoom · 路线图(ROADMAP"
date: 2026-05-20
draft: false
tags: ["CrowdRoom", "众包", "3D 重建", "iOS", "Web", "路线图"]
categories: ["CrowdRoom"]
---
# CrowdRoom · 路线图(ROADMAP
> **文档目的**:把 7 份设计文档([`00`](00_overview.md)[`10`](10_governance.md))落地为 4 个可被 sprint planning 直接使用的里程碑,配套合并后的风险登记册、跨任务依赖图、v0.3 已知缺口、P2+ 候选清单。
>
> **基准时间**2026-05-19v0.2 设计完成日),M1 起点为 **W1 = 2026-W22**。
>
> **本文档不重复**:每个里程碑的功能细节仍以 [`00_overview.md`](00_overview.md) §7、[`03_ios_app_plan.md`](03_ios_app_plan.md) §9、[`04_web_app_plan.md`](04_web_app_plan.md) §11 为准。
---
## 1. 里程碑总览(甘特图)
```mermaid
gantt
title CrowdRoom 4 个里程碑(M1 MVP → M2 v0.5 → M3 v1.0 → M4 P2
dateFormat YYYY-MM-DD
axisFormat W%V
section M1 MVP
iOS 采集 + 端侧脱敏 :m1a, 2026-05-25, 4w
Web R3F + 4 层切换 :m1b, 2026-05-25, 4w
Supabase 9 表 + 转码 Worker :m1c, 2026-05-25, 3w
材质替换 + 基础治理 :m1d, after m1a, 4w
M1 验收(DoD :milestone, m1m, after m1d, 0d
section M2 v0.5
家具替换 + OBB 自动对齐 :m2a, after m1m, 3w
Remix 发布 + 评论点赞 :m2b, after m1m, 4w
公共资产库 CC0 30+ 件 :m2c, after m1m, 2w
M2 验收(DoD :milestone, m2m, after m2b, 0d
section M3 v1.0
搜索 / 标签 / 全文 :m3a, after m2m, 2w
Named Views + iframe 嵌入 :m3b, after m2m, 3w
信任分系统初版 :m3c, after m2m, 4w
M3 验收(DoD :milestone, m3m, after m3c, 0d
section M4 P2
协同编辑(调研) :m4a, after m3m, 8w
AR 即时预览(调研) :m4b, after m3m, 8w
PRISM 反哺通道 :m4c, after m3m, 12w
```
> 甘特图中所有「after」依赖均与 §3 依赖图一致。M4 起点为 W25,但**无固定时间窗**——其内子任务的启动由 §6 P2 候选清单的「触发条件」决定。
### 1.1 里程碑速览表
| 里程碑 | 周次 | 目标版本 | 一句话目标 | 主要交付物 |
|--------|------|----------|------------|------------|
| **M1 MVP** | W1W8 | v0.5-mvp | 跑通「扫描 → 上传 → 浏览 → 4 层切换 → 换材质」最小闭环 | iOS TestFlight + Web Vercel + Supabase 9 表 + Worker + 30+ CC0 素材 |
| **M2 v0.5** | W9W16 | v0.5 | 把 Remix 与社区互动跑顺 | 家具替换 OBB 对齐 + Remix 发布 + 评论点赞 + 公共资产库 v1 |
| **M3 v1.0** | W17W24 | v1.0 | 把发现性与变现可能性补齐 | 全文搜索 + Named Views + iframe 嵌入 + 信任分初版 |
| **M4 P2** | W25+ | P2+ | 按触发条件启动长期演进 | 协同编辑 / AR / PRISM 反哺 / Android / 室外多房间 …(§6 |
---
## 2. 每个里程碑的 DoR / DoD
> **DoR (Definition of Ready)** = 进入该里程碑前必须满足的入口标准
> **DoD (Definition of Done)** = 离开该里程碑前必须达到的出口标准
### 2.1 M1 MVPW1W8
**DoR5 项)**
- [ ] 7 份设计文档冻结在 v0.2,且 [`CHANGELOG.md`](CHANGELOG.md) `[Unreleased]` 区块的 4 条 C-NEW 已分诊(修复 / 推迟 / 拒绝 三选一)
- [ ] Apple Developer 账号到位,TestFlight 内测组建立
- [ ] Supabase 项目创建(免费档),Cloudflare R2 + Bunny CDN 账户就绪
- [ ] 公共素材库种子集采购完成(≥ 30 件 CC0 家具 `.glb` + ≥ 20 种 PBR 材质)
- [ ] 1 名兼职 reviewer + 1 个 DPO 邮箱占位完成([`10_governance.md`](10_governance.md) §3.1
**DoD10 项)**
- [ ] iOS App 通过 TestFlight 审核,可邀请 ≥ 100 用户
- [ ] iOS-X1~X5 五条契约全部落地(端侧脱敏 ≤ 15 s on iPhone 12 Pro / 三段式上传 / Realtime 转码进度 / 5 Tab IA / PrivacyManifest
- [ ] Web 端 `/` `/r/[room_id]` `/login` `/upload` 4 个核心路由可用,桌面 ≥ 60 fps、移动 ≥ 30 fps[`04_web_app_plan.md`](04_web_app_plan.md) §3.3
- [ ] 4 层固定 IDwalls/floor/furniture/materials)可独立 toggle,且 viewState 可分享
- [ ] [`02_api_contract.md`](02_api_contract.md) 19 个端点中 **MVP 必须的 13 个**E-01~E-13, E-15)线上可用,40 错误码全部有用户文案
- [ ] 转码 Worker p95 ≤ 60 s(含 USDZ → glb + Draco + manifest 生成)
- [ ] 端到端测试:注册 → 扫描 → 上传 → 等待转码 → 公开发布 → 在 Web 浏览 → 切图层 → 换 1 个材质 7 步通跑
- [ ] [`09_privacy.md`](09_privacy.md) §6.1 的 8 项 GDPR MVP 必做项全部上线(含 PrivacyManifest、Cookie 通知、隐私政策页)
- [ ] 治理:举报通道 E-14 可用,处罚阶梯 L1–L3 工具就绪(L4 永封需 owner 终审)
- [ ] 内部 dogfood ≥ 100 个真实房间上传无 P0 事故
### 2.2 M2 v0.5W9W16
**DoR4 项)**
- [ ] M1 DoD 全部满足且线上稳定运行 ≥ 2 周
- [ ] 用户调研报告:M1 内测的 NPS ≥ 20、转化漏斗采集率 ≥ 30%
- [ ] OBB 自动对齐算法可行性 spike 通过([`04_web_app_plan.md`](04_web_app_plan.md) §6.3,超 1.5× 告警阈值已验证)
- [ ] Remix 覆盖层 `remix_overlay.json` Schema 在 100 个手工样本上无 round-trip 误差
**DoD8 项)**
- [ ] 家具替换可用:替换面板 + OBB 自动对齐 + 4 自由度微调 + 隐藏原家具开关
- [ ] Remix 端到端可用:从父房间 → Remix 编辑 → 自动保存 → 发布 → 在原房间页显示衍生作品树
- [ ] 评论 + 点赞两个互动可用,含速率限制与软删([`01_data_schema.md`](01_data_schema.md) §3.7, §3.8
- [ ] 公共资产库 v1:≥ 100 件家具 + ≥ 60 种材质,全部 CC0,资产页 `/assets` 可独立浏览
- [ ] [`02_api_contract.md`](02_api_contract.md) 剩余 6 个端点(E-14 举报、E-16 删除、E-17/18/19 v0.2 新增)全部上线
- [ ] [`10_governance.md`](10_governance.md) §4 P-W-3 父硬删快照转移流程在生产链路实测通过
- [ ] DAU ≥ 200,房间累计 ≥ 1 000
- [ ] 0 起合规事故,0 起公开数据外泄事故
### 2.3 M3 v1.0W17W24
**DoR4 项)**
- [ ] M2 DoD 全部满足
- [ ] 信任分计算公式经隐私 / 法务双签(不收集敏感画像)
- [ ] 嵌入沙盒安全审计通过(CSP / Referer / iframe sandbox 三件套,[`10_governance.md`](10_governance.md) §4 P-W-6
- [ ] tsvector 全文搜索性能在 10 万行级表上 p95 ≤ 200 ms[`01_data_schema.md`](01_data_schema.md) §1 D5
**DoD8 项)**
- [ ] 全文搜索可用:`/search?q=` + 标签筛选 + 排序(热度 / 新发布 / Remix 数)
- [ ] Named Views 可用:4 层组合可命名保存、可被分享、可被嵌入
- [ ] iframe 嵌入 `<iframe src="/embed/r/...">` 上线,含 [`/me/embeds`](04_web_app_plan.md) 管理面板与 [`/admin/reports`](04_web_app_plan.md) 审核面板(v0.2 G-6/G-7
- [ ] 信任分系统 v1:初始分 50 / 上限 100 / 因子 6 项(上传量、被 Remix 数、被举报数、申诉成功率、账号龄、ATT 配合度),可在 UserCenter 显示
- [ ] OG 卡片动态生成上线(`/api/og/r/[room_id]`
- [ ] DAU ≥ 1 000,房间累计 ≥ 10 000Remix 累计 ≥ 1 000
- [ ] 月度合规自检通过(GDPR + PIPL)
- [ ] App Store / Play Store 评分 ≥ 4.3 / 5
### 2.4 M4 P2W25+
**DoR(按子项分别评估,无统一入口)**:见 §6 P2 候选清单的「触发条件」列。
**DoD(仅给出 M4 整体退出标准)**
- [ ] CrowdRoom 至少有一个 P2 特性进入 v2.0 主线
- [ ] PRISM ↔ CrowdRoom 数据交互通道至少完成单向(CrowdRoom → PRISM 先验地图源)的 PoC
---
## 3. 跨里程碑工作流依赖图
```mermaid
graph LR
subgraph M1[M1 MVP W1-W8]
T11[iOS 采集 + 端侧脱敏]
T12[Supabase 9 表 + RLS]
T13[Transcode Worker]
T14[Web 4 层切换]
T15[材质替换]
T16[基础治理 举报 + 处罚 L1-L3]
end
subgraph M2[M2 v0.5 W9-W16]
T21[家具替换 + OBB 对齐]
T22[Remix 发布 + overlay]
T23[评论 + 点赞]
T24[公共资产库 v1]
T25[E-17/18/19 + 父快照转移]
end
subgraph M3[M3 v1.0 W17-W24]
T31[全文搜索 + 标签]
T32[Named Views]
T33[iframe 嵌入]
T34[信任分 v1]
T35[OG 卡片]
end
subgraph M4[M4 P2 W25+]
T41[协同编辑]
T42[AR 即时预览]
T43[PRISM 反哺]
T44[Android]
T45[室外/多房间]
end
T12 --> T11
T12 --> T13
T13 --> T14
T14 --> T15
T11 --> T16
T15 --> T21
T14 --> T22
T12 --> T23
T15 --> T24
T16 --> T25
T22 --> T31
T15 --> T32
T22 --> T33
T16 --> T34
T22 --> T35
T34 --> T41
T11 --> T42
T22 --> T43
T11 --> T44
T11 --> T45
```
---
## 4. 风险登记册(Risk Register
> 来源:合并 [`00_overview.md`](00_overview.md) §8 RK-1~5、[`03_ios_app_plan.md`](03_ios_app_plan.md) §10 R-iOS-1~5、[`04_web_app_plan.md`](04_web_app_plan.md) §12 R-Web-1~6 共 16 条,去重 / 升级后保留 **13 条**。
| ID | 描述 | 影响 | 概率 | 缓解措施 | 触发条件(升级到 P0) | 负责人 |
|----|------|------|------|----------|------------------------|--------|
| **RK-1** | RoomPlan 仅 iOS 且需 LiDARiPhone 12 Pro+),市场范围被硬绑 | 高(用户基数受限至 iPhone Pro 系列) | 已发生 | 接受为前提,不做 ARCore 替代;P2 视 Android DAU 增速决定是否引入 | iOS 月活 < 1 000 持续 3 个月 | PM |
| **RK-2** | `.usdz` 在 Web 端无原生 loader,转码失败率不可控 | 高(失败即用户作品丢失) | 中 | 服务端强转 `.glb`Worker 失败重试 3 次([`02_api_contract.md`](02_api_contract.md) §3.3);保留原始 90 天可申诉重转 | 转码失败率 > 5% 持续 1 周 | 后端 Lead |
| **RK-3** | UGC 违法 / 未授权他人住宅扫描 / NSFW 漏过 | 高(法律风险) | 中 | 上传声明 + 举报下架 + 人工 review + 严重违规白名单越级封禁([`10_governance.md`](10_governance.md) §2、§6) | 单日新增举报 > 50 持续 3 天 | 法务 + 运营 |
| **RK-4** | 端侧脱敏在低端机(iPhone 12 Pro)耗时超 8 s 预算 2 倍 | 中(用户流失) | 高(已实测 16 s) | UX 提示「正在处理,预计 15 秒」;不破例端侧不可降级原则(PR-1 + iOS-X1 | 12 Pro 用户上传放弃率 > 30% | iOS Lead |
| **RK-5** | 存储与带宽成本爆炸(千用户日活即可烧光免费额度) | 高 | 中 | 单用户配额 5 GB / 月、单文件 ≤ 50 MB;R2 零出口费托底;冷热分层 P1 引入 | 月度成本超预算 200% | SRE |
| **RK-6** | `.usdz` 沙箱内重打包不稳定(`ModelIO` 写回支持有限) | 中 | 中 | 备选方案:脱敏后贴图作为平行文件 PUT,Worker 合并;本决策待 v0.3 确认 | 重打包失败率 > 10% | iOS Lead |
| **RK-7** | Universal Link 在国内微信 / QQ 内不触发 | 中 | 已发生 | 引导用户「右上角 → 在 Safari 中打开」;微信小程序版 P2 再说 | 微信导流转化率 < 5% | iOS Lead |
| **RK-8** | Realtime channel 长后台丢事件 | 中 | 中 | App 前台化时主动补查所有进行中版本([`03_ios_app_plan.md`](03_ios_app_plan.md) §6.3) | 用户投诉「转码完成无通知」单周 > 20 | iOS Lead |
| **RK-9** | 移动 Safari 上 Three.js 大场景 < 30 fps | 中 | 中 | 移动预算 ≤ 2 MB95 分位掉帧时 fallback 到 `<model-viewer>` 静态预览 | 移动端跳出率 > 60% | Web Lead |
| **RK-10** | 大场景首屏 TTI > 6 s>20 MB `.glb`) | 中 | 中 | 上传配额限 single `.glb` ≤ 15 MB;P1 引入 LOD;转码强制拒收 > 50 MB 待 v0.3 | 95 分位 LCP > 5 s | Web Lead |
| **RK-11** | Remix 父房间删除冲突(离线 1 周 + 父硬删) | 中 | 低 | [`10_governance.md`](10_governance.md) §4 P-W-3 拍板「快照转移」;E-19 端点已设计 | 父硬删后 Remixer 投诉 > 5 起 | 法务 + 后端 |
| **RK-12** | 公共资产库版权审查负担(CC0 → CC-BY 演进) | 低 | 中 | MVP 全 CC0 硬过滤;CC-BY 准入流水 M3 之后再开([`10_governance.md`](10_governance.md) §4 P-W-4) | 创作者「上传素材」诉求 > 100 / 月 | 运营 |
| **RK-13** | OG 动态截图需要 WebGLVercel Edge 不支持 | 低 | 已发生 | 容器化 screenshot workerFly.io);或 MVP 跳过动态 OG,用静态首帧 | OG 卡片缺失率 > 50% | Web Lead |
> 1416 号风险(RoomPlan 精度公差、AVCaptureDevice ISO 检测、SDK 接入新增)在 v0.2 合并时与上表条目语义重叠,已并入 RK-3 / RK-4。
---
## 5. v0.3 待办(已知缺口)
> **说明**:以下 4 条 **C-NEW-1 ~ C-NEW-4** 是子任务 7(本路线图)在汇总 v0.2 全部文档时识别出的「跨文档新设计冲突」。它们不是 v0.2 既有 G 漏洞的延伸,而是 09/10 文档落地后**新暴露**的契约缺口;建议在 **v0.3 review 窗口**M1 W4 之前)回写到对应文档。
>
> ⚠️ 若您手上有子任务 6 原作者 attempt_completion 中给出的 C-NEW-1~4 原文,请覆盖以下条目;本表为基于跨文档静态分析得到的合理推断。
| ID | 新冲突描述 | 回写位置(建议) | 建议时间窗 | 现状判断 |
|----|-----------|------------------|------------|----------|
| **C-NEW-1** | **viewState 编码确定性 vs 强 hash 反画像 的矛盾**[`04_web_app_plan.md`](04_web_app_plan.md) §9.3 把 viewState 设为「gzip+base64url 确定性编码」(同输入 → 同输出,便于缓存 OG),但 [`09_privacy.md`](09_privacy.md) §5 P-W-7 要求 viewState 在 Realtime / 日志中作为画像数据进行强 hash —— 「确定性」与「不可逆」直接冲突 | [`02_api_contract.md`](02_api_contract.md) §5 viewState[`09_privacy.md`](09_privacy.md) §5 P-W-7;可能新增「双轨编码:URL 用确定性、日志用 HMAC」 | M1 W2 前 | **必修**(决定 OG 缓存策略) |
| **C-NEW-2** | **父硬删快照转移(E-19)与作者账号注销(E-17)的并发未定义**[`10_governance.md`](10_governance.md) §4 P-W-3 要求父硬删时几何快照转移到 Remix;[`02_api_contract.md`](02_api_contract.md) E-17 把账号注销定义为「T+0 软删 / T+7 不可撤 / T+30 硬删」。若注销中途用户有 N 个被他人 Remix 的公开房间,转移逻辑触发时点 / 失败回滚 / 通知顺序均未定义 | [`02_api_contract.md`](02_api_contract.md) §3 转码管线后补充「注销级联管线」;[`01_data_schema.md`](01_data_schema.md) §3.11 软/硬删分层补充 E-19 与 E-17 的交互矩阵 | M1 W3 前 | **必修**(关系数据完整性) |
| **C-NEW-3** | **位置标签城市级 5 km 的数据流端到端未对齐**[`09_privacy.md`](09_privacy.md) §3.3 + §7 把位置定义为「永远城市级 5 km」,[`01_data_schema.md`](01_data_schema.md) §3.2 G-10 已加 `location_label` 显式标注,但 [`03_ios_app_plan.md`](03_ios_app_plan.md) §8.1 的 `NSLocationWhenInUseUsageDescription` 文案没说「5 km 网格」,且 iOS 端是否在客户端做 5 km 量化、还是直接拒收原始 GPS、还是服务端量化未定义 | [`03_ios_app_plan.md`](03_ios_app_plan.md) §8.1 文案 + §1.2 UploadForm 字段说明;[`02_api_contract.md`](02_api_contract.md) E-02 `room-create` 请求体添加 `location_label` 校验规则 | M1 W2 前 | **必修**(合规底线) |
| **C-NEW-4** | **信任分系统(M3 计划)的初始分计算口径未在 v0.2 任何文档定义**[`10_governance.md`](10_governance.md) §3.2 提到「P1 引入信任分」但没有公式;M3 DoD 已写「初始分 50 / 上限 100 / 因子 6 项」,但这 6 项的权重、衰减、与 ATT / 举报 / 申诉的勾稽关系未拍板 | 新增 [`plans/CrowdRoom/11_trust_score.md`](11_trust_score.md)(M2 W14 启动撰写);或并入 [`10_governance.md`](10_governance.md) §3 团队规模章 | M2 W14 前(M3 DoR 倒推) | **可推迟**(不影响 M1 / M2 上线) |
---
## 6. 未来扩展(P2+)特性候选清单
> 列出 ≥ 8 条 MVP–v1.0 不做、但已有用户 / 数据信号的扩展。**每条标注「为何 MVP 不做」与「P2 引入的触发条件」**。条目按预计优先级排列。
| # | 特性 | 一句话价值 | 为何 MVP 不做 | P2 引入触发条件 |
|---|------|------------|---------------|------------------|
| **F-1** | **PRISM 反哺**:把高质量 CrowdRoom 房间作为 PRISM 的先验地图源 | 让 PRISM 机器人系统拿到「群众贡献的真实家庭空间」作为初始地图 | CrowdRoom 数据 SLA / 安全模型与 PRISM 完全不同([`00_overview.md`](00_overview.md) §6.3),不可直接打通 | **DAU > 1 000 且累计公开房间 > 10 000**M3 DoD 达成后) |
| **F-2** | **协同编辑**:多人同房间 RemixOT / CRDT | Pinterest 式分享之外,再加 Figma 式协作 | Remix 走 fork 模型已足够([`02_api_contract.md`](02_api_contract.md) §4 D-A4),引入 CRDT 后端复杂度跳 5 倍 | **v1.0 上线后用户调研显示 ≥ 20% 用户希望多人编辑** |
| **F-3** | **AR 即时预览**Vision Pro / iPhone AR Quicklook 在真实空间叠加 Remix 结果 | 让用户「站在自家客厅,看到换沙发后的样子」 | RoomPlan 已提供基础几何,但 Vision Pro 装机量仍低;Quicklook 在 iOS 16+ 受限 | **Vision Pro 装机量 > 5% iOS 用户**,或 Quicklook 公开 API 支持 .glb 覆盖层 |
| **F-4** | **Android 端采集**:用 ARCore Depth API 替代 RoomPlan | 解锁安卓用户群 | RoomPlan 仅 iOS[`00_overview.md`](00_overview.md) §6.3);ARCore 数据格式差异会导致**双标准** | **iOS DAU > 5 000 且月增 > 15% 持续 3 个月**,并完成 ARCore↔RoomPlan 字段映射 spike |
| **F-5** | **室外 / 多房间扫描** | 支持别墅 / 商铺 / 多间公寓 | RoomPlan 单次最佳 < 50 m²;超出范围误差激增([`plans/iphone/roomplan_accuracy_and_cad_export.md`](../iphone/roomplan_accuracy_and_cad_export.md) §1 | **用户上传含户外/多房间 .usdz 占比 > 10%**,且 RoomPlan 后续版本扩大支持范围 |
| **F-6** | **CC-BY 资产准入流水** | 让创作者上传自制家具 / 材质,扩充资产库 | MVP 全 CC0 硬过滤([`10_governance.md`](10_governance.md) §4 P-W-4),引入 CC-BY 需新增审核 SOP 与署名链 | **创作者「上传素材」诉求 > 100 / 月**,且法务确认 CC-BY 二次传播的 attribution 链可机审 |
| **F-7** | **付费 marketplace**:高价值素材 / 整套设计 | 让顶级 Remixer 与设计师变现 | MVP 走纯免费 UGC 路线([`00_overview.md`](00_overview.md) §7.2),收费引入合规与税务一整套 | **Top 1% 创作者收入意愿调研 > 50%**,且支付牌照(Stripe / 国内)就绪 |
| **F-8** | **空间 SQL / PostGIS 查询** | 「按城市 / 户型 / 面积 / 朝向」精确查找房间 | 消费级路线决策([`00_overview.md`](00_overview.md) §6.3);MVP 用 tsvector + tags 已够 | **用户主动诉求「按城市/按户型查询」单月 > 500**,或与第三方家装品牌签约要求 |
| **F-9** | **PRISM Pipeline B 重定位接入** | 让同一房间被多次扫描时自动对齐 | 用户每次扫描视为独立作品([`00_overview.md`](00_overview.md) §6.3 | **「扫描日记 / 同房间历史对比」功能立项**,且单房间复扫率 > 5% |
| **F-10** | **微信小程序版 Remix 入口** | 绕开 Universal Link 在国内浏览器跳转受限(RK-7) | 小程序 3D 渲染受限(无 R3F);MVP 走 PWA 浏览器即可 | **微信导流转化率持续 < 5% 且占总流量 > 30%** |
> **抽象规则**:所有 F-x 进入实际开发前必须先做一份独立 spike 文档(建议放 `plans/CrowdRoom/p2/F-x_<name>.md`),并在 [`CHANGELOG.md`](CHANGELOG.md) `[Unreleased]` 区块预留 `Planned` 类别(Keep a Changelog 自定义类型)。
---
## 7. 路线图维护规约
1. **每个里程碑结束时**DoD 全部通过 → 在 [`CHANGELOG.md`](CHANGELOG.md) 创建对应版本(v0.5-mvp / v0.5 / v1.0);DoD 未通过 → 在本路线图 §2 该里程碑标注延期原因。
2. **风险登记册(§4**:每个 sprint 复盘会重新评估「概率 / 触发条件」两列;任一条目触发则升级为 P0 工单。
3. **v0.3 待办(§5**:M1 W4 前必须分诊完毕(修复 / 推迟 / 拒绝 三选一);任何修复必须同步回写到对应文档与 [`CHANGELOG.md`](CHANGELOG.md)。
4. **P2 候选(§6**:每个里程碑结束时复查触发条件是否达成;达成则立项 spike。
5. **不要预测未来**:本文件可写「触发条件」与「DoR」,但不写「预计交付时间」之外的承诺。任何已发生的事进 [`CHANGELOG.md`](CHANGELOG.md)。
---
**文档版本**v0.2 · 2026-05-19
**维护者**CrowdRoom 设计组
**关键收获**4 里程碑 × 30 条 DoR/DoD × 13 条风险 × 4 条 v0.3 待办 × 10 条 P2 候选 = 一份 PM 可直接拿去开 sprint planning 的完整路线图;M1 8 周即可拿到「扫描 → 上传 → 浏览 → 4 层切换 → 换材质」最小闭环。