SalesCRM 全局约束
- 版本:v1.0-试运行
- 生效时间:2026-07-17
- 维护角色:产品与项目管理
- 适用范围:SalesCRM 仓库、部署材料和关联角色会话
- 授权依据:Owner 要求引入研发体系并完成本地化适配
事实源优先级
- Owner 对方向、优先级、范围和风险的明确裁决。
- 统一计划台账中的活跃任务和唯一下一棒。
- 任务目录内冻结的需求、方案、验收和角色矩阵。
- 协作事件中的派工、回执、评审和阻塞。
- 角色任务队列中的执行顺序和唯一执行锁。
- 精确 Git commit/diff、测试记录和部署证据。
聊天、线程状态、历史 TODO 和个人判断不能覆盖以上事实源。
会话调度与任务保护
- 每个正式角色会话WIP上限为
1,默认FIFO顺次处理。
- 任务必须先入持久队列再投递;队列有
RUNNING/WAITING或会话为active时禁止发送新任务消息。
- 新协作事件不等于已投递,不能用消息通知抢占正在执行的工作。
- 异常中断后必须恢复原执行锁对应的任务;没有结果、检查点和锁释放记录时不得开始下一项。
- 普通追加要求默认进入队尾;只有Owner明确停止/替换且保存原任务检查点后才允许改变顺序。
修改范围
- 未明确目标、范围、不做项和验收标准时,不进入大范围实现。
- 只修改当前任务授权的代码、配置、数据和文档。
- 发现额外问题时登记为新任务或阻塞,不顺手扩大范围。
- 用户已经验收或明确满意的内容默认受保护。
- 工作区存在他人改动时必须保留;无法隔离时先升级说明。
角色独立性
- Owner 裁决方向,不替代专业 Gate。
- 产品与项目管理维护需求、优先级、流程和 Gate P,不写业务代码、不执行部署。
- 架构角色冻结边界和契约,不替开发实现。
- 开发完成实现和自测,但不能独签自己的 Gate C 或 Gate A。
- 代码审核与安全角色只审精确基线,不在审查中顺手改代码。
- 测试角色独立执行 Gate A,不用开发自测替代。
- 运维只证明部署机械结果,不替开发签 Gate D。
敏感信息与业务数据
- 禁止在普通文档、日志、提交信息和协作事件中写入密码、Token、私钥、Cookie 或完整请求响应。
- 本机凭据只允许存放在 Git 忽略的
docs/local/。
- 正式文档只能写敏感材料的位置、存在性和脱敏结论。
- 禁止提交真实客户明细、账号密码和运行时数据;当前已跟踪数据列为 P0 整改事项。
- 测试数据必须脱敏或使用专用样本,不直接复用生产数据。
文档规则
- 新增业务文档优先使用中文文件名,不使用“最终版”“新的”“临时”等含糊命名。
- 工具强制文件名、源码包名、API 路径和任务 slug 可以使用英文。
- 正式引用使用相对路径。
- 当前现状、目标设计、计划改动和已实现结果必须明确区分。
- 统一台账、协作事件和角色日志只追加;更正用新记录,不覆盖历史事实。
Git 与交付
- 修改前确认仓库、分支、远程和工作区状态。
- 每个可部署需求使用独立分支或可复核的精确 diff;分支建议为
feat/CRM-任务号-主题 或 fix/CRM-任务号-主题。
- Gate C 只对精确 commit/diff 有效,基线变化后必须重新审核。
- 推送前检查敏感信息、大文件、运行数据和无关改动。
- 发布记录必须包含 commit、环境、部署步骤、验证和回滚入口。
验证与完成
- 验证结果只能写
PASS / CHANGES_REQUESTED / BLOCKED / N/A,其中 N/A 必须有原因和确认人。
- 未执行验证不得写成通过。
- 部署成功不等于功能正确;开发必须核验 Gate D,测试必须核验 Gate A,产品必须核验 Gate P。
- 任何残留风险都要有责任人、解除条件和复查时间。
例外
紧急变更可以压缩等待时间,但不能取消敏感信息保护、可回滚性、独立代码审核和最小验证。例外必须记录原因、风险、Owner 确认、截止时间和补证计划。