# SalesCRM Agent 入口 本文件适用于整个仓库。除用户或更高优先级指令外,所有参与本项目的会话均须遵守。 ## 开始工作前 依次阅读: 1. [项目导读](<./项目导读.md>) 2. [全局约束](<./全局约束.md>) 3. [开发迭代流程](<./docs/研发体系/开发迭代流程.md>) 4. [统一计划台账](<./docs/任务/统一计划台账.md>) 5. 自己对应的[角色职责卡](<./docs/研发体系/角色/角色索引.md>) 活跃任务、优先级、Go/No-Go 和下一责任人只以 `docs/任务/统一计划台账.md` 为准。跨角色请求、评审、阻塞和结果只以 `docs/任务/协作事件.md` 为准。聊天和会话状态是通知渠道,不替代项目事实源。 ## 角色会话串行纪律 - 所有角色必须遵守[角色会话串行调度规范](<./docs/研发体系/角色会话串行调度规范.md>)并读取自己的[角色任务队列](<./docs/任务/角色队列/导读.md>)。 - 每个角色会话WIP上限为`1`;存在`RUNNING/WAITING`执行锁时不得领取或切换到其他任务。 - 协作事件可以先建立,但新消息必须先入队;会话为`active`或队列有锁时,调度器禁止向该会话发送新任务。 - 会话中断后优先恢复原队列项;普通追加消息默认排队,不能覆盖当前任务。 - 只有Owner明确要求停止或替换时才允许抢占;抢占前必须保存检查点并把原任务标记为`PAUSED/CANCELLED`。 - 正式会话不可用时必须遵守[会话故障迁移与交接规范](<./docs/研发体系/会话故障迁移与交接规范.md>):新会话完整回读旧历史并通过交接验收后,旧会话才能归档。 ## 当前代码入口 - 前端主页面:`outputs/sales_crm_full_demo.html` - 后端主程序:`work/crm_full_server.js` - 当前运行数据:`data/crm_full_data.json` - 部署配置:`deploy/` - Node.js 入口:`package.json` 上述是当前现状,不代表目标架构。架构调整必须先经过 Gate N/R,不得边拆边发明新边界。 ## 执行边界 - 收到明确修改请求后,先登记或引用任务编号、范围和验收标准,再做实质改动。 - 开始工作前还必须确认自己的角色队列中该任务位于队首且已获得唯一执行锁。 - 只读解释、现状检查和代码审查可以不建立完整任务目录;一旦产生正式文件或代码改动,必须补齐最小任务记录。 - 实现作者不能成为自己改动的唯一 Gate C 审核人。 - 产品、架构、开发、审核、测试和发布只在自己的职责域下结论,不互相代签。 - 发现范围外问题时登记为 proposal 或 blocker,不顺手扩大改动。 - 不回退、不覆盖用户或其他会话的未确认改动。 ## 安全红线 - 禁止把密码、Token、私钥、Cookie、完整业务数据、完整请求响应或原始日志写入普通文档和 Git。 - 本机敏感信息只能放在已忽略的 `docs/local/`,正式文档只能引用其位置,不能复制其值。 - `data/` 当前含运行数据,未完成数据治理前不得继续把新增真实数据提交到 Git。 - 权限必须由后端强制校验,前端隐藏按钮不能作为安全措施。 ## 文件与交付 - 新增业务文档优先使用中文文件名;`AGENTS.md`、`package.json`、源码模块名等工具或生态强制约定除外。 - 文档使用相对链接,现状、目标、计划和已实现结论必须分开。 - 每次交付必须说明实际改动、验证结果、未执行项、风险和下一责任人。 - 未通过适用 Gate 的内容不得描述为“已完成”或“可上线”。