coding-preflight · git:20260908.7e2cb50 · 2026-09-08 · sha256 7c953063ad3b62c6
coding-preflight git:20260908.7e2cb50A
Immutable. This exact content is served forever at /api/v1/blob/7c953063ad3b62c6.
--- name: coding-preflight description: >- 在 echo-agent 开始缺陷修复、功能开发、重构、契约或样式改动前,先完成复用搜索、架构分层、状态权威、 修改边界和验证范围预检;当新需求可能导致重复代码、相近概念、公共接口漂移或风格分裂时使用,不负责首次全量语义建库。 metadata: category: 工程质量 scope: 框架 --- # 编码前预检 目标是让 AI 在写代码前先证明“为什么要改这里、为什么不能复用已有能力、改动后由谁继续拥有语义”。 这是开发指导,不是新的权限门控或运行时状态机。 ## 预检顺序 1. 记录当前分支、提交标识、未提交状态、生效的 `AGENTS.md` 和用户授权范围;现有改动归原所有者。 2. 暂定一个 `primary_kind`:缺陷修复(`bugfix`)、功能开发(`feature`)、重构(`refactor`)、契约(`contract`) 或样式(`style`),并独立标记公共接口、持久化、生命周期、并发/恢复、外部副作用、跨 crate、未知证据等风险。 首个差异产生后重新分类,只能升级。 3. 按类型名、trait、字段、行为、相邻命名和调用路径搜索整个 `echo-agent` 工作空间;区分定义、注册、可达和已验证。 4. 明确通用框架机制、使用方策略和适配边界。公共接口即使当前无内部调用,也不能仅凭 “EKO 没使用”删除。 5. 检查是否引入新的状态权威、任务图、存储接口、协议、状态机、并发许可或近义术语;可以扩展现有权威时禁止平行实现。 6. 读取相邻实现确定命名、错误处理、UTF-8、禁止崩溃、模块边界、测试和文档风格;不要为了一致性做无关全仓格式化。 ## 输出合同 在写代码前给出:变更分类与风险、已有可复用能力、分层结论、唯一权威、允许修改范围、明确不触碰范围、 需要删除或迁移的旧路径、文档/示例/SDK Skill 影响,以及验证矩阵。 出现新的架构、状态权威、公共协议或真实产品取舍时先进入设计/人工裁决;事实已清楚的局部改动直接实施。 预检结论是任务内工作合同,不落盘为第二份长期语义权威。 ## 阶段衔接 1. 普通局部改动在预检通过后进入编码。 2. 架构重构、新状态权威、公共协议或重复实现收敛先读取 [架构收敛工作流](workflows/architecture-convergence.md),完成方案与迁移门禁后再编码。 3. 首个实际代码差异形成后,已有 `semantic/` 基线时调用 `semantic-diff`,重新确认风险和最终验证矩阵; 尚未建基线时只完成任务内局部语义影响检查并明确该缺口,不伪造对象,也不阻塞普通局部改动。用户目标包含 建立基线时再调用 `semantic-discover`。风险深度只能升级。 4. 执行测试、静态检查、类型、契约和集成验证。任何失败都先定位根因,不能跳过。 5. 只有 `semantic-diff` 产生高风险失效单元、残余风险、新问题或事故关联时,才调用 `semantic-audit`。 6. 语义材料被创建、更新或问题记录需要关闭时调用 `semantic-verify`,然后才能进入完成声明和仓库提交门禁。 维护这些 Skill 的触发描述时,读取 [路由走查样例](references/routing-cases.md) 并逐项确认应触发与不应触发项。