dev 是日常开发主线和默认分支。新任务从当前 dev 开始,普通 PR 指向 dev;前后端联调固定同一仓库提交。master 接收经过阶段验收的版本,版本可用范围由当次交付声明确定。开发预览不自动承诺完整学习流程、安装包或跨平台支持。
| 场景 | 完成条件 |
|---|---|
功能分支进入 dev |
改动接入当前系统,相关调用方与既有行为仍成立,验证覆盖受影响范围 |
多条支线集中进入 dev |
来源版本明确;目录、依赖、接口、状态归属和生命周期在组合后保持一致;完成组合后的验证 |
dev 进入 master |
确定阶段范围,在具体候选版本上验证所声明的使用过程、数据兼容性与适用平台,并完成独立验收 |
dev 可以包含明确标注的未完成功能,已接通的能力应保持可构建、可验证、可运行。合并完成不代表整个关联 Issue 已完成;仍待接通的行为继续由原任务持有。
整合者在 PR 或对应 Issue 中写明目标分支、纳入的来源提交和实际范围。先检查祖先关系,已被其他来源包含的分支不重复移植。来源分支继续推进时,新增提交另行判断,不悄悄改变本次候选范围。
集中整合采用普通合并保留来源历史与作者记录。整合前保留来源分支;统一基线形成后,旧分支是否删除另行决定。历史重写、合并和发布在已有授权范围内执行。
整合者负责冲突解决、组合验证及其完成声明。阶段交付由另一位维护者或独立 Agent 核对候选版本和关键使用过程;作者自测作为回归证据,不能代替这项独立验收。验收发现的问题回到所属责任方处理,修复后按影响补验。
- 工程与依赖: 后端、CLI、公开客户端和协议位于
packages/repa,Web 和 Desktop 位于apps/。根目录持有 workspace 命令与唯一锁文件;各包声明自身依赖。迁移后确认新增目录、夹具和测试进入目标包,旧位置没有留下脱离构建的有效实现。Git 未报告冲突不代表目录迁移完整。 - 协议与调用方: 客户端、schema、后端实现和前端消费使用相容的契约。Pi 对象与 Node 能力保留在后端或原生宿主边界,浏览器入口仍可独立构建。接口草案不作为当前可调用能力。
- 状态与生命周期: 内容身份、保存与恢复由共同内容入口协调;配置、会话、资源持有和插件数据各有明确归属。组合后的启动、断线、取消和关闭不绕过相应生命周期,前端关闭不等同于后台工作完成。
- 文档与任务: 当前目录、版本、调用方式、运行命令和验证入口同步到开发指南及所属说明。领域语义与架构决定分别回到
CONTEXT.md和 ADR,具体写法由项目 Skill 持有。README 与 Issue 的实现状态按实际结果更新。
这些边界按本次变化核对;新增机制和重构应有本次整合需要,其他改进从统一基线继续推进。
已有分支证据可以复用,但受整合影响的路径必须在组合后的候选版本上验证。验证记录关联具体提交、环境、检查结果和有实际影响的限制;验证后再次修改时,按变化补验相应范围。
普通功能 PR 按改动运行所属检查。跨 workspace 或集中整合在仓库根目录运行:
npm ci
npm run check
npm test
npm run build确认根入口实际发现了受影响 workspace 与测试。根据组合风险补充真实接入:宿主或启动机制变化时,验证 Web/Desktop 与真实后端连接及退出;Pi 或会话格式变化时,验证真实 SDK 的输入、接续与持久记录;内容与存储变化时,验证保存、恢复及资源关系。具体测试入口见开发指南。本地 faux provider 支持运行流程的验证,模型能力和学习效果需要对应评测。
整合者从目标 base 检查候选版本的最终差异,确认迁移、冲突解决和新增修复均属于声明范围,排除过程文件、遗留试验与无关格式化。测试通过与差异核对共同支持整合结论。
交付说明先界定本次支持的使用过程、平台和已知限制,再在候选版本上验证。例如声明支持打开空间、关联材料、交流、保存与接续,就需要走通这条使用过程;分别通过的模块测试不能代替组合体验。
影响已有内容、配置或会话时,使用代表性旧数据验证继续使用及必要迁移。回退判断同时考虑代码、依赖和持久数据格式;数据已不可逆变更时,明确恢复所需备份或其他条件,不以 Git 可退回代替数据可恢复。
独立验收结论随 PR 或对应交付记录保留,写清所验提交、实际覆盖与未解决问题。通过后将已验候选纳入 master;后续修复继续进入 dev,避免两条主线分别维护同一问题。