edit | blame | history | raw

SalesCRM 全局约束

  • 版本:v1.0-试运行
  • 生效时间:2026-07-17
  • 维护角色:产品与项目管理
  • 适用范围:SalesCRM 仓库、部署材料和关联角色会话
  • 授权依据:Owner 要求引入研发体系并完成本地化适配

事实源优先级

  1. Owner 对方向、优先级、范围和风险的明确裁决。
  2. 统一计划台账中的活跃任务和唯一下一棒。
  3. 任务目录内冻结的需求、方案、验收和角色矩阵。
  4. 协作事件中的派工、回执、评审和阻塞。
  5. 角色任务队列中的执行顺序和唯一执行锁。
  6. 精确 Git commit/diff、测试记录和部署证据。

聊天、线程状态、历史 TODO 和个人判断不能覆盖以上事实源。

会话调度与任务保护

  • 每个正式角色会话WIP上限为1,默认FIFO顺次处理。
  • 任务必须先入持久队列再投递;队列有RUNNING/WAITING或会话为active时禁止发送新任务消息。
  • 新协作事件不等于已投递,不能用消息通知抢占正在执行的工作。
  • 异常中断后必须恢复原执行锁对应的任务;没有结果、检查点和锁释放记录时不得开始下一项。
  • 普通追加要求默认进入队尾;只有Owner明确停止/替换且保存原任务检查点后才允许改变顺序。
  • 会话故障迁移不得只替换Thread ID;新会话必须完整回读旧历史、确认决策和恢复点并通过交接验收,旧会话才允许归档,详见会话故障迁移与交接规范

修改范围

  • 未明确目标、范围、不做项和验收标准时,不进入大范围实现。
  • 只修改当前任务授权的代码、配置、数据和文档。
  • 发现额外问题时登记为新任务或阻塞,不顺手扩大范围。
  • 用户已经验收或明确满意的内容默认受保护。
  • 工作区存在他人改动时必须保留;无法隔离时先升级说明。

角色独立性

  • 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 确认、截止时间和补证计划。