对话与任务续接
chat 和 resume 都从会话开始,但它们解决的是相反的问题:chat 不建立项目执行链,resume 则恢复一个已经存在的执行链。
快速判断
chat:直接交流
适合概念解释、短建议和不需要项目执行链的问答。chat 不创建可恢复的中断任务,也不会因为对话中提到文件就自动获得修改权限。
如果问题需要读取仓库才能可靠回答,DevCodex 会重新识别为 analyze;如果最终目标是改项目,则进入 dev 或 fix。
resume:恢复原任务,不重开授权
resume 会先把当前会话解析到唯一 project/active-root,再从项目文件还原精确 task identity、原始 workflow、最后确认阶段、已完成证据和剩余项。会话索引只是路由提示;project、root、context 或 route 任一不一致都必须重新判定,不能把同一会话曾访问过的另一个项目当成当前目标。
它遵守四个不变量:
- 以磁盘和当前 source 为准,不把旧聊天摘要当成最新事实;
- 继承原任务边界,不能把只读任务升级为写入;
- 找不到唯一任务、摘要过期或 CP 状态冲突时先停止并消歧;
- 任务 terminal 后立即退出 active route/hot cache,旧 owner、验证或危险操作授权不能在新任务里复活。
例如,原任务停在已确认 CP2 的 dev,resume 可以继续 CP3;原任务是只读 audit,resume 仍然不能顺手修复 finding。
怎样算完成
chat:问题已直接回答,不制造虚假的项目完成或记忆承诺。resume:恢复身份与文件新鲜度有证据,续接点准确,后续仍由原 workflow 的完成定义负责。
常见误用
- “继续优化一下”但没有唯一项目或任务:不能凭最近聊天猜测。
- 同一会话先后打开多个项目:不能按最后写入或目录时间选择任务。
- 用 resume 绕过 CP:恢复只复原已确认状态,不补造确认。
- 把 chat 当成临时 dev:只要开始读取、修改、验证项目,就应进入对应项目工作流。