Skip to content

04 roadmap 03 iteration plan

ZP edited this page Aug 29, 2026 · 3 revisions

← 返回 Wiki 首页 | 四、项目排期 · 03 迭代计划 P0–P4 | 上一篇:最小可运行骨架 | 下一篇:测试与验收策略 →


八、交付计划与验收(三):迭代计划 P0–P4

本文档属于排期层。每个阶段的「验收必须覆盖」段落是该阶段的准出条件,不是建议清单。

本篇目录


44. 迭代计划 P0–P4

阶段 主题 部署层 核心交付
P0 身份、组织与文本私聊(分 P0-a/P0-b 两关口验收) L0 + L1 SQLite 身份、组织、工作项、私聊、审计、错误码、协议协商
P1 团队运行基础、群聊与资源 L2 PG/Redis/对象存储 群聊、历史授权、资源库、仓库绑定、服务端搜索
P2 协作会话、公共群 Bot 与富文件 + 执行 provider 协作会话、沙箱执行、候选产物、群 Bot、线程与转发
P3 团队版、组织治理、公共工具与分析 + analytics/billing 套餐限制、插件目录、成本大屏、排行、合规流程
P4 企业版、安全、分片与端到端加密 L3 KMS/分片 分片、E2EE、目录同步、审计归档、设备侧索引

各部署层的定义,见服务端结构与部署分层 §27。

44.1 P0:身份、组织与文本私聊

先交付 L0 和 L1。装载 identity、organization、presence、messaging、notification、audit、host 和 client 插件,使用 SQLite 提供者;L1 只服务一个由 DSH_ORG_ID 明确指定的组织。

用户闭环为:管理员创建邀请码,成员注册设备、登记 totp 与备用码并导出恢复材料,组织所有者创建工作区/项目并邀请开发者,开发者接受成员关系和联系人请求,双方离线/在线发送文本私聊,接收方持久化并 ACK;项目经理分派工作项,负责人签收、开始、阻塞、提交评审或完成。风险设备、撤销设备、权限收回、队列满、重复请求和 relay 重启均有可见终态。

P0 同时交付 AuditEvent 结构与仅追加存储、@dsh-chat/contract 中的错误码目录与协议版本协商、host 本地的私聊与联系人查找、工作项依赖与评论、限流基线表的配置化实现,以及可观测性指标面和 SLO 基线实测。

评审关口在 P0 即建立状态机与权限判定,但只覆盖工作项与产物版本;关联 CodeChangeRecord 的评审随 P1 仓库能力一并启用。

P0 不装载内容、仓库、执行、Bot、公共工具、分析和计费功能插件;服务端搜索、线程、转发、数据导入等入口必须显示为未安装或返回 NOT_IMPLEMENTED,不得伪装为可用。

44.1.1 两个验收关口

P0 的交付范围不变,但分 P0-a、P0-b 两个关口验收,以尽早获得架构层面的反馈:

关口 目标 骨架步骤 装载包数
P0-a 验证写入协议、投递语义、审计同事务三项架构承诺成立 1、3、5、6、7、8、9、11、14 10
P0-b 补齐第二因素、恢复、在线可见范围、本地搜索、协议协商五条安全路径 2、4、10、12、13 12

关口顺序不可颠倒;P0-a 未全绿不得进入 P0-b。 只完成 P0-a 不得对外宣布 P0 交付,也不得进入 P1。

关口划分不改变 schema 与协议的完整性要求。 RecoveryKit 记录、ProtocolVersion 协商字段、账户/设备同步状态与 encryption_meta 在 P0-a 即写入协议与数据库,只是对应的验收路径推迟到 P0-b。不得为压缩 P0-a 而删除这些字段,否则 P0-b 将退化为破坏性表结构重写,违反§29.1 迁移策略与 §27 L1 schema 要求。

44.1.2 验收要求

P0-a 验收必须覆盖骨架第 1、3、5、6、7、8、9、11、14 步,以及 ACK 前 host 崩溃、relay 重启、重复投递、未授权发送被拒绝、队列已满、组织切换缓存隔离、角色越权、成员被移除后的访问拒绝和跨源浏览器写请求等失败路径;还必须验证被拒绝操作同样产生审计事件、审计写入失败导致整个命令失败、评审批准后关联产物变化时自动转 superseded、工作项依赖成环被拒、限流在各维度按最严格者生效,和任一插件卸载后其路由、后台任务和事件监听不残留。

P0-b 验收必须覆盖骨架第 2、4、10、12、13 步,以及唯一设备丢失后的自建恢复、第二因素丢失后用备用码恢复、凭证重放、在线状态过期等失败路径;还必须验证协议版本不兼容时返回 PROTOCOL_VERSION_UNSUPPORTED 而非静默降级。

两个关口合计即为原 P0 的完整验收范围,一条不减。 可观测性指标面与 SLO 基线实测在 P0-a 即开始记录,P0-b 完成时给出最终实测值。

P0 的完成判定清单与关口划分依据,见最小可运行骨架。

44.2 P1:团队运行基础、群聊与资源

交付 L2 团队 bundle,以 PostgreSQL、Redis、对象存储、SMTP 提供者替换 L1 默认实现;装载 content、repository、search 和团队版 notification 插件。实现多组织成员关系、邀请接受与过期、群主管理、群成员版本、系统事件、群日志与成员游标、历史授权与续期、引用快照、共享对象、版本化资源库、附件预约、图片/文件传输、配额和稳定下载授权;实现受限 Markdown、表情回应最小模型、群资料,以及群消息与资源元数据的服务端索引。

用户闭环为:项目经理创建群并绑定项目,成员接受邀请;管理员选择并授权所需历史,成员可按群日志补拉;成员上传文件或将资源版本作为实时引用/快照发送,接收人按自己的授权下载;项目群管理员登记仓库链接,仓库插件通过 EgressService 验证来源和 webhook,验证后的提交更新进入群和工作项。

验收必须使用三台 host,覆盖离线投递期间的成员变更、群事件缺口恢复、带范围的群历史授权与到期、仓库链接权限、webhook 签名错误、已验证 hash 去重、共享消息不泄露整段私聊、附件重试、资源版本快照授权、后来入群者不能读取未授权旧媒体,以及退群者在保留期内能重新下载已授权媒体;还必须验证搜索结果逐条复检 ACL 后不返回越权条目、撤回消息不在索引中残留,以及表情回应跨设备幂等同步。

44.3 P2:协作会话、公共群 Bot 与富文件

装载 collaboration、执行 provider 和 bot 插件。实现个人会话选择性公开、隔离协作会话、执行租约、只读输入快照、候选产物与接受流程、分支/版本合并、文件预览和受控视频;实现显式安装 Bot、隔离的 (GroupId, BotId) DSH 会话、调用策略、上下文冻结、工具能力、审计和结果发布;实现消息线程、转发、群公告与置顶、只读群。

用户闭环为:成员从私人会话选择指定消息、文件或产物创建协作会话,指定继续开发的人和范围;接手者取得只读快照或可写租约,在沙箱执行后提交候选版本,原始资源只有在版本检查和人工确认后更新。群主从已审核目录添加 Bot,成员显式 @ 或使用 UI 命令调用,Bot 在允许的群/工作项/资源范围内运行并作为 Bot 身份发布结果;Bot 产物先进入草稿或经确认后公开。

验收必须证明协作会话不包含未选择的私人上下文,沙箱无法访问 host 文件系统/环境变量/未授权网络且会在配额超限时终止,并发继续开发不会覆盖资源版本;群 Bot 无法访问成员私人 DSH 会话,未满足触发条件时不会运行,Bot/AI 输出不能触发二次命令解析,工具权限、上下文限制和速率限制都能生效;还必须验证线程不扩大群可见范围、转发逐条复检原消息读取权且跨组织被拒、转发复用同一 BlobObject 而不复制字节,以及执行成功但候选产物未经确认时不改变资源库当前版本、产物在尝试期间被他人推进时返回 VERSION_CONFLICT。

44.4 P3:团队版、组织治理、公共工具与分析

装载 analytics、billing 与公共工具目录插件。实现自建组织和团队版 PlanLimits、订阅状态、公共插件的提交/审核/发布/撤销、成本大屏、个人 token 工作台、预算告警、周报/月报、已验证代码更新和同层级可解释排行;实现第二验证因素的组织强制策略与按角色分级、数据导出流程、账号注销与组织删除的宽限期,以及工作项、代码更新与插件目录搜索。

用户闭环为:管理员设定成员、存储、Bot、预算和保留限制;发布者提交固定版本和能力声明,审核者批准后成员一键启用;成员的调用、资源和已验证提交进入最小化分析事件,个人查看自己的消耗和更正入口,经理查看本项目聚合数据,组织按角色族和工作项复杂度产生可解释排行与报告草稿;撤销插件立即停止新调用并终止逾期实例。

验收必须证明超额请求在提交前被拒绝,撤销插件阻止新的敏感调用并强制终止逾期运行实例,仪表盘不读取私人聊天内容,跨角色不能互相排行,样本不足时不展示名次,成员可以查看和更正自己的分析明细,并验证 500 人企业群的群日志写入不产生按成员数量线性增长的同步队列写入;还必须验证唯一所有者注销被阻塞至完成转让、账号匿名化后协作事实与序列完整性不被破坏、导出内容按请求者权限逐条裁剪,以及管理员导出留下审计并通知被涉及成员。

44.5 P4:企业版、安全、分片与端到端加密

交付 L3 企业提供者:按组织分片、DDoS/WAF、KMS/HSM、加密备份、受控出口、隔离执行、逐条哈希链与外部不可篡改审计归档、目录同步、密钥轮换、风险地理位置管制、黑名单、恢复演练、数据导出/删除、多设备和历史同步;实现独立审计过的私聊/群端到端加密、webauthn 与企业单点登录强度传递,以及按 OrganizationEncryptionPolicy 降级的设备侧本地索引。

用户闭环为:企业目录把成员和部门同步到组织授权插件,安全插件对异常设备发出邮件和站内风险处置,用户完成重新认证后一键停止异地设备;管理员根据 E2EE 功能矩阵确认降级后启用加密,Bot、搜索和分析入口同步隐藏或换为客户端能力;故障恢复插件用已签名检查点和流高水位对账,确认无分叉后再恢复写入。

验收必须覆盖 relay 指纹变更、中间人模拟、设备密钥撤销、异地登录安全邮件与一键停止设备、异常地点受控与恢复、缓存权限失效、分片故障转移、Relay 从备份回滚后的水位对账、迁移双读/双写与历史库恢复、流量攻击、私有地址和 DNS rebinding 的 SSRF 拒绝、离线成员的 E2E 密钥轮换、群成员变化后的旧/新 epoch 隔离、审计哈希链断裂检测,以及 E2E 模式下 Bot/搜索/分析入口按功能矩阵正确隐藏或降级、服务端正文索引被强制禁用且设备侧索引区间对用户可见。

E2EE 功能矩阵,见安全与合规 §35.1。


← 上一篇:最小可运行骨架 | 返回 Wiki 首页 | 下一篇:测试与验收策略 →

Clone this wiki locally