feat: update skills
This commit is contained in:
@@ -48,7 +48,7 @@ metadata:
|
||||
1. **没有可重复的证据,不改代码**:至少满足"稳定复现"或"静态分析可严格证明存在"。
|
||||
2. **多角度确认**:至少使用 3 种不同方式交叉验证(P0 可降至 2 种,但必须注明理由)。
|
||||
3. **先写失败用例**:优先用最小化单元测试/集成测试把 bug "钉住"。
|
||||
4. **修复必须带测试**:新增/完善测试覆盖 bug 场景与关键边界,确保回归保护。
|
||||
4. **修复必须带测试**:新增/完善测试覆盖 bug 场景与关键边界,确保回归保护。**改动代码的单元测试覆盖率必须 ≥ 85%**(以变更行为统计口径,非全仓覆盖率)。
|
||||
5. **不引入新问题**:尽量小改动、低耦合;遵守项目既有分层与编码规范。
|
||||
6. **修复与审查角色隔离**:修复者不得自审,必须由独立角色执行代码审查。
|
||||
7. **安全前后双检**:修复前预扫描 + 修复后 diff 复核,两次都通过才算合格。
|
||||
@@ -135,10 +135,17 @@ metadata:
|
||||
- 覆盖 bug 场景(必须)
|
||||
- 覆盖关键边界与回归场景(必须)
|
||||
- 必要时增加集成/端到端验证(按影响面决定)
|
||||
- **改动代码覆盖率门禁**:对本次修改/新增的代码,单元测试行覆盖率必须 ≥ 85%。
|
||||
使用项目对应的覆盖率工具(Go: `go test -coverprofile` + 分析变更行覆盖;
|
||||
JS/TS: `--collectCoverageFrom` 指定变更文件;Python: `coverage run` + `coverage report --include`)
|
||||
仅统计本次变更文件中变更行的覆盖情况,不要求全仓覆盖率达标。
|
||||
若因代码结构原因(如纯配置、接口声明等不可测代码)无法达到 85%,
|
||||
必须在 Beacon 中说明原因和实际覆盖率。
|
||||
3. 运行质量门禁(与项目 CI 对齐):
|
||||
- 最小集合:受影响模块的单元测试 + 静态检查(lint/格式化/类型检查)。
|
||||
- 必要时:集成测试、端到端测试、兼容性验证、性能回归检查。
|
||||
- 不确定时:跑全量测试。
|
||||
- **覆盖率检查**:修复完成后运行覆盖率工具,确认变更代码覆盖率 ≥ 85%,将结果写入 Beacon。
|
||||
4. 若引入新失败:优先修复新失败;不要用"忽略测试/删除用例"掩盖问题。
|
||||
|
||||
**安全预扫描(与修复并行)**:扫描修复方案**将要触及的代码区域的修复前基线版本**,检查已有安全隐患,评估修复方案是否可能引入新风险。注意:预扫描的对象是修复前的基线代码,而非修复进行中的中间状态。
|
||||
@@ -151,7 +158,7 @@ metadata:
|
||||
- **并发**:竞态、锁粒度、goroutine 泄漏、通道关闭时序。
|
||||
- **兼容性**:API/配置/数据迁移影响,旧数据是否可读。
|
||||
- **可维护性**:命名、结构、可读性、分层依赖是否违规。
|
||||
- **测试质量**:是否会偶发失败?是否覆盖根因?是否能防回归?
|
||||
- **测试质量**:是否会偶发失败?是否覆盖根因?是否能防回归?变更代码覆盖率是否 ≥ 85%?
|
||||
|
||||
**安全最终复核**:对修复 diff 审查鉴权/越权、注入(SQL/命令/模板)、敏感信息泄露;若修复涉及依赖变更,额外检查依赖安全。主控在启动安全复核子智能体时,必须将第 3 步安全预扫描的 Beacon 结论作为上下文传入 prompt,复核者对比两次扫描结果,确认未引入新安全问题。
|
||||
|
||||
@@ -405,6 +412,7 @@ Worktree: [worktree 实际路径,无则填 N/A]
|
||||
- path/to/file1.go [新增/修改/删除]
|
||||
- path/to/file2_test.go [新增/修改/删除]
|
||||
测试结果: [PASS x/y | FAIL x/y | 未执行]
|
||||
变更代码覆盖率: [xx% (≥85% PASS / <85% FAIL) | 未检测 | N/A(只读角色)]
|
||||
|
||||
结论: [一句话核心结论]
|
||||
置信度: [高/中/低](高=有确凿证据;中=有间接证据;低=推测性结论)
|
||||
@@ -496,6 +504,8 @@ Worktree: [worktree 实际路径,无则填 N/A]
|
||||
- 测试中禁止使用真实密钥/token/凭据,必须使用 mock 数据
|
||||
- 测试中禁止使用固定端口号,使用 0 端口让 OS 分配随机端口
|
||||
- 如果尝试 5 轮后仍无法完成任务,立即输出 FAILED 状态的 Beacon 并停止
|
||||
- **变更代码覆盖率 ≥ 85%**:修复/验证角色完成后,必须运行覆盖率工具检测本次变更代码的行覆盖率;
|
||||
低于 85% 时须补充测试直到达标,或在 Beacon 中说明无法达标的原因(如纯接口声明/配置等不可测代码)
|
||||
- 返回结果必须精简:Beacon 的「证据摘要」每条不超过 80 字符
|
||||
- 禁止在 Beacon 中复制大段源码,只引用 file:line
|
||||
- Beacon 之前的工作过程输出(调试日志、中间推理)不需要结构化,主控不会读取这些内容
|
||||
@@ -510,6 +520,7 @@ Worktree: {worktree 路径}
|
||||
变更文件:
|
||||
- path/to/file.go [新增/修改/删除]
|
||||
测试结果: [PASS x/y | FAIL x/y | 未执行]
|
||||
变更代码覆盖率: [xx% | 未检测 | N/A]
|
||||
结论: [一句话核心结论]
|
||||
置信度: [高/中/低]
|
||||
证据摘要:
|
||||
|
||||
Reference in New Issue
Block a user