Files
worldmodel/plans/CrowdRoom/CHANGELOG.md
T

12 KiB
Raw Blame History

CrowdRoom · 变更日志(CHANGELOG

本文件遵循 Keep a Changelog 1.1.0 规范,版本号采用 语义化版本 SemVer 2.0.0

本日志只记录已发生的设计文档变更;未来计划见 ROADMAP.md

版本号含义:

  • 0.x.y —— 设计阶段(pre-MVP),尚未对外发布代码
  • 0.5.0(计划) —— M1 MVP 上线,对应 ROADMAP.md §2.1 M1 DoD
  • 1.0.0(计划) —— M3 v1.0 上线,对应 ROADMAP §2.3 M3 DoD

每个版本下按 Added / Changed / Deprecated / Removed / Fixed / Security / Planned 分类。


[Unreleased]

下个版本(v0.3)的待办:v0.2 文档冻结后由子任务 7(ROADMAP.md)汇总识别出的 4 条跨文档新设计冲突。M1 W4 之前必须完成分诊(修复 / 推迟 / 拒绝 三选一)。

Planned

  • C-NEW-1 —— viewState 编码确定性 vs 强 hash 反画像冲突分诊04_web_app_plan.md §9.3 把 viewState 设为「gzip+base64url 确定性编码」(便于 OG 缓存复用),但 09_privacy.md §5 P-W-7 要求 viewState 在 Realtime / 日志路径上作为画像数据进行强 hash —— 「确定性」与「不可逆」直接冲突。 → 建议方案:「双轨编码」(URL 用确定性、日志用 HMAC-with-rotating-salt)。回写位置:02_api_contract.md §5 + 09_privacy.md §5 P-W-7。 时间窗:M1 W2 前
  • C-NEW-2 —— E-19(父硬删快照转移)与 E-17(账号注销三阶段)并发未定义。 若用户在 T+0 注销时其房间被他人 Remix,则 E-19 触发时点(T+0 / T+7 / T+30)、失败回滚顺序、对 Remixer 的通知顺序均未在 v0.2 任何文档明确。 → 回写位置:02_api_contract.md §3 新增「注销级联管线」+ 01_data_schema.md §3.11 补 E-19/E-17 交互矩阵。 时间窗:M1 W3 前
  • C-NEW-3 —— 位置标签城市级 5 km 的数据流端到端未对齐09_privacy.md §3.3 定义「永远城市级 5 km」,01_data_schema.md §3.2 G-10 已加 location_label 字段标注,但 03_ios_app_plan.md §8.1 NSLocationWhenInUseUsageDescription 文案未提「5 km 网格」、且量化发生在客户端还是服务端未定义。 → 回写位置:03_ios_app_plan.md §8.1 + 02_api_contract.md E-02 请求体校验规则。 时间窗:M1 W2 前(合规底线)。
  • C-NEW-4 —— 信任分系统初始分计算口径缺失10_governance.md §3.2 提到「P1 引入信任分」但无公式;ROADMAP.md §2.3 M3 DoD 已写「初始分 50 / 上限 100 / 因子 6 项」,但权重 / 衰减 / 与 ATT / 举报 / 申诉的勾稽未拍板。 → 回写位置:新增 plans/CrowdRoom/11_trust_score.md 或并入 10_governance.md §3。 时间窗:M2 W14 前M3 DoR 倒推)。

⚠️ 上述 4 条由 v0.2 文档静态分析推断;若子任务 6 原作者另有 attempt_completion 中明确写明的 C-NEW 原文,请以原作者版本覆盖此区块。


[0.2.0] - 2026-05-19

修订主题v0.1 review 阶段识别出 10 条 G 漏洞(G-1 ~ G-10)的全量回写。所有修订严格遵守「只追加 / 字段插入 / 文案润色,不改既有字段语义、不破坏既有引用」原则。

Added

  • G-1 —— 01_data_schema.md §3.6 remixes 表新增字段 parent_snapshot_pathnullable text),用于父房间被作者硬删时承载几何快照转移目标路径;与 10_governance.md §4 P-W-3 拍板的「快照转移 + 署名替换」配套。
  • G-2 —— 02_api_contract.md §2.1 新增 3 个 Edge Function 端点:
    • E-17 account-deletion:账号注销三阶段(T+0 软删 / T+7 不可撤 / T+30 硬删),软封装原 E-16
    • E-18 account-export:用户数据一键导出(GDPR Art.20 数据可携权)
    • E-19 parent-snapshot-transfer:父房间硬删时把几何快照转移到所有衍生 Remix
  • G-3 —— 02_api_contract.md §7.3 新增 5 条业务错误码:
    • EMBED_RATE_LIMITEDiframe 嵌入超频)
    • EMBED_FORBIDDEN(嵌入域名未在白名单)
    • ACCOUNT_DELETION_IN_PROGRESS(注销窗口期内禁止其它写操作)
    • ACCOUNT_EXPORT_PENDING(导出任务排队中)
    • PARENT_SNAPSHOT_TRANSFER_FAILEDE-19 快照转移失败可重试)
  • G-4 —— 03_ios_app_plan.md §8.4 新增 PrivacyManifestPrivacyInfo.xcprivacy)完整结构,覆盖 NSPrivacyTracking / NSPrivacyTrackingDomains / NSPrivacyCollectedDataTypes / NSPrivacyAccessedAPITypes 四组字段。
  • G-6 —— 04_web_app_plan.md §1.1 路由表新增 R-16 /me/embeds:用户管理自己发出的 iframe 嵌入列表与撤销面板。
  • G-7 —— 04_web_app_plan.md §1.1 路由表新增 R-17 /admin/reports:运营 reviewer 审核举报队列面板,含状态机视图。
  • G-8 —— 03_ios_app_plan.md §1.2 IA 跳转图新增 PrivacyDetail 节点,作为「我的 → 隐私」一处看完所有开关的入口(对应 09_privacy.md PR-3 用户可控原则)。
  • G-9 —— 01_data_schema.md §3.11 新增「软删 vs 硬删分层策略」整章,所有用户数据表追加 deleted_at timestamptz 字段;定义 T+0 / T+7 / T+30 三个数据生命周期临界点的 RLS 行为。
  • G-10 —— 01_data_schema.md §3.2 rooms.location_label 字段显式加上「城市级 5 km 网格字符串、不含原始 GPS」注释,与 09_privacy.md §3.3 PR-2 最小采集原则绑定。

Changed

  • G-5 —— 03_ios_app_plan.md §8.1 修订 NSLocationWhenInUseUsageDescription 等 5 条位置权限文案,明确「会被其他用户看到」与「仅城市级,不含具体地址」两层声明;对应 09_privacy.md §4 P-3 拍板。
  • 文档头版本号统一从 v0.1 升至 v0.2,并在文档头部说明本次修订涉及哪几条 G 漏洞。

Fixed

  • 无。本次修订全部为「追加 / 改进」,未修复 v0.1 既有 bug(v0.1 时尚无线上代码,无 bug 可修)。

Security

  • 通过 G-2E-17 / E-18)将 GDPR Art.17 删除权 + Art.20 数据可携权落到具体 API;
  • 通过 G-4 PrivacyManifest 满足 Apple App Privacy Report 强制要求;
  • 通过 G-9 软删分层避免 T+0 立即硬删导致级联破坏 Remix 衍生作品的合规风险。

[0.1.0] - 2026-05-19

里程碑CrowdRoom 设计从无到有,7 份初版文档全部落地,关键决策5 条拍板。这是项目的 ground truth 起点。

Added

  • 00_overview.md —— 总览:产品定位、5 Tab IA、技术栈选型、与 PRISM 复用边界、MVP 8 周范围、5 条根级风险 RK-1~5。
  • 01_data_schema.md —— 数据模型:Supabase 8 张表 DDLv0.2 升至 9 张是 G-1 拆表的结果,v0.1 时为 8 张含 room_versions)、RLS 策略、Storage 公开/私有双桶目录、layer_manifest.json JSON Schema、CrowdRoom 4 层 ↔ PRISM L1L4 映射。
  • 02_api_contract.md —— API 契约:16 个端点 E-01~E-16、转码 Worker 序列图、Remix 覆盖层 remix_overlay.json Schema、6 档配额表、4xx/5xx 错误码总表(v0.1 共 35 条,v0.2 增至 40 条)。
  • 03_ios_app_plan.md —— iOS 设计:5 Tab + 22 页面 IA、3 个核心 Flow(扫描脱敏上传 / 浏览跳 Web Remix / 通知跳详情)、端侧脱敏管线(RoomPlan → ModelIO → Vision → CIGaussianBlur)、三段式上传、5 阶段 Realtime 进度 UI、A/B/C 质量分、iOS-X1~X5 五条契约。
  • 04_web_app_plan.md —— Web 设计:15 条路由(v0.2 增至 17 条)、Next.js + R3F + Zustand + Supabase SSR 技术栈、类 ArcGIS 4 层图层面板 + Named Views、材质替换(material.map 即时替换)、家具替换(OBB 自动对齐 + 4 自由度微调)、Remix 浏览器实时合成、SSR / OG / viewState 编码契约、Web-Y1~Y6 六条契约。
  • 09_privacy.md —— 隐私设计:5 条隐私原则 PR-15、数据流红黄绿三色图、三类敏感数据全生命周期、6 条 iOS 契约 P-1P-6、3 条 Web 契约 P-W-1/2/7、GDPR + PIPL 合规清单(MVP 8 项 + P2 6 项)、16 项默认值表、8 个第三方 SDK 风险点。
  • 10_governance.md —— 治理与社区:4 条治理原则 GR-14、UGC 自动审核流程(NSFW + 敏感词 DFA)、举报状态机、4 条治理契约 P-W-3P-W-6、5 条社区规则 CR-1~5、4 级处罚阶梯 + 严重违规白名单越级、CC BY-NC 4.0 默认协议 / CC0 公共资产库、3 级申诉流程、90 天退场承诺与 CC0 镜像永久可访问。

Decided(关键决策 Top 5

从全部 7 份文档识别出最具方向性的 5 条决策;完整 10 条版本见 README.md §4。

  1. 拆 8 张表,不 7 张 —— 独立 room_versions 表承载转码异步状态、Remix 父锁定、重传不破坏旧链接(01_data_schema.md §1 D1)。
  2. 材质是逻辑层,不是 SQL 行 —— 4 层中只有「墙/地/家具」入 layers 表,「材质」在 layer_manifest.json 内嵌 slots[]01_data_schema.md §1 D4)。
  3. Remix = 引用 + 覆盖层 —— 不深拷贝几何,浏览器实时合成 overlay(02_api_contract.md §1 D-A4 + §4)。
  4. 三段式上传 —— 客户端 → Edge Function 拿 presigned → 直传 Storage → 回调 Edge Function;避开 4 MB body 限制(02_api_contract.md §1 D-A2 + 03_ios_app_plan.md §5)。
  5. 端侧脱敏不可降级 —— 人脸 CIGaussianBlur 必须在 iPhone 离开 App 进程前完成;服务端永不二次检测人脸(09_privacy.md §1 PR-1 + 03_ios_app_plan.md §4 + iOS-X1 契约)。

Notes

  • 本版本所有文档仅设计稿,无对应代码
  • v0.1 与 v0.2 同日发布;v0.2 是 v0.1 的 review-and-fix 增量版本(10 条 G 漏洞回写)。
  • 后续版本将与代码里程碑(M1 MVP → v0.5-mvp)合并发布。

维护规约

  1. 每次文档变更必须更新本日志。修改 09_privacy.md10_governance.md 须 DPO + 法务双签后再写入;修改 01_data_schema.md 字段语义须后端 + iOS + Web 三方签字。
  2. [Unreleased] 区块只写「已识别但未发布」的待办;进入版本时把对应条目移入新版本号下。
  3. 不要在 CHANGELOG 写未来计划——未来在 ROADMAP.md。本文件只记发生过的事。
  4. 版本号变更规则
    • 任何「新增字段 / 新增端点 / 新增错误码 / 新增文档」→ MINOR 升一位(0.x → 0.(x+1)
    • 任何「字段语义变更 / 端点删除 / 错误码改语义」→ MAJOR 升一位(破坏性变更,需迁移笔记)
    • 文档润色 / typo 修复 → PATCH 升一位
  5. 每个版本必须给出明确日期YYYY-MM-DD),不允许「TBD」。

文档版本v0.2 · 2026-05-19 维护者CrowdRoom 设计组 关键收获:从 v0.1 初版 7 文档到 v0.2 的 10 条 G 漏洞回写,CrowdRoom 设计阶段共拍板 5 条根级决策 + 13 条隐私契约 + 4 条治理契约 + 6 条 iOS 契约 + 6 条 Web 契约 = 共 34 条对外契约,构成 M1 MVP 8 周实施的全部输入。