feat(harness): integrate walkinglabs 5-subsystem model with templates

- Add .harness/ directory with 6 templates:
  init.sh (unified startup entry)
  PROGRESS.md (session progress tracking)
  feature_list.json (machine-readable feature status)
  clean-state-checklist.md (end-of-session cleanup)
  session-handoff.md (cross-session handoff)
  evaluator-rubric.md (review scoring)
- Update AGENTS.md: 5-subsystem model (Instruction/Tools/Environment/State/Feedback)
- Add Init-Plan-Implement-Verify-Cleanup workflow cycle
This commit is contained in:
2026-05-28 15:05:20 +08:00
parent d3ebbf9a3c
commit 1396e4b4d2
7 changed files with 286 additions and 263 deletions

29
.harness/PROGRESS.md Normal file
View File

@@ -0,0 +1,29 @@
# 进度日志
## 当前已验证状态
- 仓库根目录:`/root/.openclaw/workspace/his-repo`
- 后端路径:`openhis-server-new/`
- 前端路径:`openhis-ui-vue3/`
- 分支:`develop`
- 标准启动路径:`cd openhis-server-new && mvn compile -pl openhis-application -am`
- 标准验证路径:`mvn compile -pl openhis-application -am`
- 当前最高优先级未完成功能:
- 当前 blocker
## 会话记录
### Session 001
- 日期2026-05-28
- 本轮目标:建立 Harness Engineering 基础设施
- 已完成:
- 重构 AGENTS.md853 → 400 行Harness 框架)
- 创建 5 个 Codex 技能
- 创建通用 AGENTS.md 模板
- 安装 harness-engineering 插件
- 创建项目级 Harness 模板
- 运行过的验证mvn compile ✅
- 提交记录d3ebbf9a3
- 已知风险或未解决问题:
- 下一步最佳动作:

View File

@@ -0,0 +1,13 @@
# 干净状态检查清单
会话结束前逐项检查:
- [ ] 标准启动路径仍然可用mvn compile 通过)
- [ ] 标准验证路径仍然可运行
- [ ] 当前进度已记录到 PROGRESS.md
- [ ] 功能状态真实反映 passing 和未验证的边界
- [ ] feature_list.json 已更新
- [ ] 没有任何半成品步骤处于未记录状态
- [ ] 临时文件和调试代码已清理
- [ ] 提交信息清晰描述了变更内容
- [ ] 下一轮会话无需人工修复即可继续

View File

@@ -0,0 +1,22 @@
# 评审评分表
| 维度 | 问题 | 0-2分 | 备注 |
|---|---|---|---|
| 正确性 | 实现的行为是否符合目标功能? | | |
| 验证 | 编译检查是否通过?数据流是否完整? | | |
| 范围纪律 | 是否保持在选定功能范围内? | | |
| 可靠性 | 结果能否在重启后继续工作? | | |
| 可维护性 | 代码是否遵循项目规范? | | |
| 交接准备度 | 下一轮能否只靠仓库内文件继续推进? | | |
## 结论
- [ ] Accept
- [ ] Revise
- [ ] Block
## 后续动作
- 缺失的证据:
- 必须补的修复:
- 下次复审触发条件:

View File

@@ -0,0 +1,50 @@
{
"project": "OpenHIS",
"last_updated": "2026-05-28",
"rules": {
"single_active_feature": true,
"passing_requires_evidence": true,
"do_not_skip_verification": true
},
"status_legend": {
"not_started": "功能还没开始做",
"in_progress": "当前唯一正在进行的任务",
"blocked": "有已记录的阻塞问题",
"passing": "验证已通过,证据已记录",
"done": "已完成并合入主干"
},
"features": [
{
"id": "harness-001",
"priority": 1,
"area": "infrastructure",
"title": "Harness Engineering 基础设施搭建",
"user_visible_behavior": "Codex 具备完整的约束/反馈/控制/持久执行能力",
"status": "passing",
"verification": [
"AGENTS.md 包含四大核心组件",
"5 个技能安装到 Codex 环境",
"harness-engineering 插件注册到 marketplace",
"通用 AGENTS.md 模板可用"
],
"evidence": ["AGENTS.md restructured", "skills created", "plugin validated"],
"notes": "初始搭建完成,可继续迭代"
},
{
"id": "harness-002",
"priority": 2,
"area": "infrastructure",
"title": "WalkingLabs 实战模式整合",
"user_visible_behavior": "项目具备完整的 5 子系统 Harness指令/工具/环境/状态/反馈)",
"status": "in_progress",
"verification": [
".harness/ 目录包含所有模板文件",
"init.sh 可正常运行",
"PROGRESS.md 记录当前状态",
"feature_list.json 跟踪所有功能"
],
"evidence": [],
"notes": ""
}
]
}

43
.harness/init.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
# Harness Init — 统一启动与验证入口
# 每次新会话开始前运行
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
echo "==> 当前目录: $PWD"
echo "==> Git 状态"
git status --short 2>/dev/null || true
git log --oneline -3 2>/dev/null || true
echo ""
echo "==> 编译检查"
cd openhis-server-new
mvn compile -pl openhis-application -am -q 2>/dev/null && echo " ✅ 编译通过" || echo " ❌ 编译失败"
echo ""
echo "==> 读取进度"
if [ -f .harness/PROGRESS.md ]; then
head -20 .harness/PROGRESS.md
else
echo " (无进度文件)"
fi
echo ""
echo "==> 读取功能清单"
if [ -f .harness/feature_list.json ]; then
python3 -c "
import json
with open('.harness/feature_list.json') as f:
data = json.load(f)
features = [f for f in data.get('features', []) if f.get('status') == 'in_progress']
if features:
print(f\" 当前进行中: {features[0].get('title', 'unknown')}\")
else:
print(' 当前无进行中的功能')
" 2>/dev/null || echo " (无法解析)"
fi
echo ""
echo "==> 环境就绪 ✅"

View File

@@ -0,0 +1,29 @@
# 会话交接
## 当前已验证
- 现在明确可用的部分:
- 本轮实际跑过的验证:
## 本轮改动
- 新增了哪些代码或行为:
- Harness 发生了哪些变化:
## 仍损坏或未验证
- 已知缺陷:
- 未验证路径:
- 下一轮需要注意的风险:
## 下一步最佳动作
- 最高优先级未完成功能:
- 为什么它是下一步:
- 什么结果才算 passing
## 命令速查
- 编译:`cd openhis-server-new && mvn compile -pl openhis-application -am`
- 打包:`mvn clean package -DskipTests`
- 启动:`mvn spring-boot:run`

363
AGENTS.md
View File

@@ -1,30 +1,33 @@
# OpenHIS — Harness Engineering 开发指南
> **模型决定上限Harness 决定底线。**
> 本文件是 OpenHIS 项目的 Harness Engineering 落地。基于 24 篇系列文章方法论,为 AI Agent 提供完整的工作环境和约束规则
> 本文件是 OpenHIS 项目的 Harness Engineering 落地。整合了 OpenAI/Anthropic Harness Engineering 方法论与 walkinglabs 实战模式
---
## 📋 项目信息
OpenHIS 是一个医院管理系统Java 17 + Spring Boot 后端 + Vue 3 + Vite 前端 + PostgreSQL
OpenHIS 医院管理系统 | Java 17 + Spring Boot + MyBatis Plus | Vue 3 + Element Plus | PostgreSQL
### 构建和运行
```bash
# 后端构建
cd /root/.openclaw/workspace/his-repo/openhis-server-new
mvn compile -pl openhis-application -am # 快速编译
mvn clean package -DskipTests # 完整打包
mvn spring-boot:run # 运行(开发模式)
cd /root/.openclaw/workspace/his-repo
# 初始化(每次新会话先运行)
bash .harness/init.sh
# 后端编译
cd openhis-server-new && mvn compile -pl openhis-application -am
# 后端打包
mvn clean package -DskipTests
# 后端运行
cd openhis-application && mvn spring-boot:run
# 前端
cd /root/.openclaw/workspace/his-repo/openhis-ui-vue3
npm install && npm run dev # 启动开发服务器
npm run build:prod # 生产构建
# 语法检查
python3 -c "import py_compile; py_compile.compile('strategy.py', doraise=True)"
cd openhis-ui-vue3 && npm install && npm run dev
```
### 关键路径
@@ -34,173 +37,106 @@ python3 -c "import py_compile; py_compile.compile('strategy.py', doraise=True)"
后端配置: openhis-server-new/openhis-application/src/main/resources/
Mapper XML: .../mapper/ (regdoctorstation/, doctorstation/, ...)
前端代码: openhis-ui-vue3/src/
日志: user_data/logs/freqtrade.log
Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
```
---
## 🔧 四大核心组件
## 🔧 5 子系统模型WalkingLabs
> 源自系列文章十九控制论、十七持久执行、十八AI-Native CI/CD
> 源自[Learn Harness Engineering](https://walkinglabs.github.io/learn-harness-engineering/zh/)
### 1. 约束系统(Constraints
### 1. 指令子系统(Instruction
定义 Agent 行为边界和输出质量。四层金字塔:
| 文件 | 用途 |
|---|---|
| **AGENTS.md**(本文件) | 项目规则、约束、工作流程 |
| `.harness/feature_list.json` | 机器可读的功能状态追踪 |
| `.harness/PROGRESS.md` | 会话进度和已验证状态 |
| `.harness/session-handoff.md` | 跨会话交接摘要 |
| 层级 | 内容 | 本项目实现 | 验证方式 |
|---|---|---|---|
| **L1 架构约束** | 接口合约、包结构、命名规范 | MyBatis Mapper 接口、Service 分层 | 编译检查 |
| **L2 代码质量** | 圈复杂度、类型提示、文档 | Java 17 类型系统、Lombok | 编译 + 人工 |
| **L3 安全约束** | 敏感信息、权限、SQL 注入 | PostgreSQL 参数化查询 | 全链路验证 |
| **L4 业务规则** | 数据一致性、事务边界 | 医嘱数据流完整性 | 人工审查 |
### 2. 工具子系统Tools
**铁律:**
- 约束越底层越自动(编译检查),越上层越需要人工裁决
- 冲突时优先级:**安全 > 架构 > 质量 > 性能**
- 约束随信任度动态调整
| 工具 | 用途 |
|---|---|
| `mvn compile` | 编译验证 |
| `git` | 版本控制 + 回滚 |
| `pwd` | 确认当前目录 |
| shell | 文件操作、命令执行 |
### 2. 反馈系统Feedback Loop
### 3. 环境子系统Environment
测试 → 失败 → Agent 修复 → 重测。分三层:
| 组件 | 状态 |
|---|---|
| Java 17 | ✅ `pom.xml` 锁定 |
| Maven | ✅ `mvn-wrapper` |
| PostgreSQL | ✅ 192.168.110.252:15432 |
| Node.js | ✅ `package.json` 锁定 |
| 层级 | 速度 | 覆盖 | 失败处理 |
|---|---|---|---|
| **L1 编译检查** | <30 | 语法类型签名 | `mvn compile` 阻断Agent 自行修复 |
| **L2 数据流验证** | <5 分钟 | 全链路字段Mapper XMLDTO | Agent 修复必要时上报 |
| **L3 人工审查** | 10-30 分钟 | 架构设计业务正确性 | 驳回 / 指导 / 批准 |
### 4. 状态子系统State
**反馈设计铁律:**
- 反馈必须可行动文件:行号:错误类型:修复方向
- 反馈越及时越好
- 失败后先回滚到最近检查点再重试
| 机制 | 用途 |
|---|---|
| `update_plan` | 当前步骤检查点 |
| `.harness/PROGRESS.md` | 跨会话进度记录 |
| `.harness/feature_list.json` | 功能状态跟踪 |
| `git log` | 变更历史追溯 |
### 3. 控制平面Control Plane
### 5. 反馈子系统Feedback
```
┌──────────────────────────────────────────────┐
│ 战略层(你 — 人类主导) │
│ ├── 设定任务目标、审批关键决策 │
│ └── 异常升级处理 │
├──────────────────────────────────────────────┤
│ 战术层Control Plane 主导) │
│ ├── update_plan + checklist_write 分解步骤 │
│ ├── 依赖协调 + 并行探索 │
│ └── 检查点管理 │
├──────────────────────────────────────────────┤
│ 执行层Agent 自主) │
│ ├── apply_patch / exec_command 修改文件 │
│ ├── mvn compile 验证 │
│ └── 错误恢复git restore → 重试) │
└──────────────────────────────────────────────┘
```
### 4. 持久执行Durable Execution
每个关键步骤保存检查点失败后恢复
```yaml
checkpoint_triggers:
time: "每个关键步骤完成"
event: "编译通过/失败后"
change: "每次 git diff 产生"
recovery:
- "失败检测"
- "定位最新检查点update_plan"
- "分析失败原因"
- "git restore 撤销修改"
- "从失败点继续"
```
幂等性保证
| 模式 | 说明 | 本项目应用 |
| 层级 | 命令 | 时间 |
|---|---|---|
| **唯一标识** | 已执行则跳过 | 同一 Bug 不重复生成文件 |
| **状态检查** | 目标已达成则跳过 | 编译成功模块不重复编译 |
| **补偿操作** | 失败时回滚 | 编译失败 git restore |
| L1 编译 | `mvn compile -pl openhis-application -am` | <30 |
| L2 全链路 | 六环检查清单见下文 | <5 分钟 |
| L3 审查 | 你人工审查 diff | 10-30 分钟 |
---
## 📋 标准工作
> 源自系列文章:二十三(实战指南)
### Plan → Generate → Validate → Review
## 📋 标准工作循环
```
你提交任务
开始会话
├→ 1. Plan
│ ├── checklist_write + update_plan 分解步骤
├→ 1. Init
│ ├── bash .harness/init.sh
│ ├── 读取 PROGRESS.md / feature_list.json
│ ├── git log --oneline -5
│ └── 确认编译通过
├→ 2. Plan
│ ├── update_plan / checklist_write 分解步骤
│ ├── 评估复杂度/风险
│ └── 设定检查点
├→ 2. Generate
│ ├── 加载 AGENTS.md + 相关技
│ ├── 并行探索spawn_agent × N
├→ 3. Implement
│ ├── 一次只做一个功
│ ├── 全链路检查清单核对
│ └── 增量修改,只动必要文件
├→ 3. Validate
│ ├── L1: mvn compile 编译检查
├→ 4. Verify
│ ├── L1: mvn compile
│ ├── L2: 全链路数据流验证
│ │ ├── 录入 → 保存 → 查询 → 修改 → 删除
│ │ └── 关联模块同步更新
│ └── 生成变更摘要
└→ 4. Review你审查
├── 浏览 diff 确认范围和正确性
├── 检查架构一致性
├── 批准 → git add + commit + push
└── 驳回 → 反馈具体问题 → Agent 修复
└→ 5. Cleanup
├── 运行 clean-state-checklist.md
├── 更新 PROGRESS.md + feature_list.json
├── git add + commit + push
└── init.sh 确认干净状态
```
### 异常流程
```
编译失败 → 分析错误 → git restore → 从检查点重试
持续失败3次 → 上报你,等待指导
```
---
## 🚪 质量门禁Quality Gates
> 源自系列文章十八AI-Native CI/CD、二十三实战指南
| 门禁 | 触发 | 通过条件 | 失败动作 |
|---|---|---|---|
| **L1 编译** | 每次修改 | `mvn compile` 通过 | 立即修复 |
| **L2 全链路** | 提交前 | 数据流完整6 环检查 | Agent 修复 |
| **L3 审查** | 提交 PR | 你批准 | 驳回/指导 |
| **L4 回归** | 合并后 | 无回归 | 紧急修复 |
---
## 🔐 分层信任模型
> 源自系列文章:二十一(边界)
| 等级 | 特征 | 自动化度 | 审查策略 | 本项目 |
|---|---|---|---|---|
| **L1 怀疑** | Agent 错误率高 | <20% | 逐行审查 | |
| **L2 试探** | 稳定但需监督 | 40-60% | 抽样 30% | **当前** |
| **L3 信任** | 可靠性已验证 | 70-85% | 抽样 10% | 🔄 目标 |
| **L4 委托** | 编程伙伴 | 90%+ | 仅异常 | |
---
## 🔗 全链路修复原则
> 修 Bug / 做需求时,不得"就事论事",必须走通完整的数据流全链路。
Bug 不得"就事论事"必须走通完整的**数据流全链路**
### 六环检查清单
```
1. 录入 → 前端有无输入入口?(弹窗、行编辑、表单...
2. 保存 → 前端 → API → Controller → Service → Entity → DB
每个保存入口都传了该字段吗?(注意多个 Service 实现类)
每个保存入口都传了该字段吗?
3. 查询 → DB → Mapper XMLUNION ALL 子查询统一加)→ DTO → 前端展示
4. 修改 → 编辑回显 → 修改保存 → 正确更新?
5. 删除 → 状态变更会丢失该字段吗?
@@ -209,13 +145,13 @@ recovery:
### 常见陷阱
| 陷阱 | 表现 | 解决 |
|---|---|---|
| 只修主入口 | 批量保存/签发保存漏了 | 检查所有 Service 实现类 |
| 前端加了后端没传 | 不同模块走不同 Service | 逐个入口确认 |
| UNION ALL 只改一半 | 子查询列数不匹配 | 所有子查询统一加 |
| DTO 继承链没检查 | 父类/子类字段一致 | 检查继承关系 |
| 只测新增没测编辑 | 编辑回显丢失 | 新增和编辑都要测 |
| 陷阱 | 解决 |
|---|---|
| 只修主入口批量保存/签发保存漏了 | 检查所有 Service 实现类 |
| 前端加了后端没传 | 逐个入口确认 |
| UNION ALL 只改一半 | 所有子查询统一加 |
| DTO 继承链没检查 | 检查父类/子类字段一致 |
| 只测新增没测编辑 | 新增和编辑都要测 |
---
@@ -225,26 +161,18 @@ recovery:
| 项目 | 规范 |
|---|---|
| Java 版本 | 17 |
| 框架 | Spring Boot 2.5.15 |
| ORM | MyBatis Plus 3.5.5 |
| 数据库 | PostgreSQL |
| 包结构 | `com.openhis`业务)、`com.core`核心框架 |
| 包结构 | `com.openhis`业务)、`com.core`核心 |
| 命名 | PascalCase方法 camelCase常量 SCREAMING_SNAKE_CASE |
| 注解 | `@Slf4j``@Data``@Service/@Controller/@Repository` |
| 异常 | 统一异常处理业务异常继承 `RuntimeException` |
| 缩进 | 4 空格 120 字符左大括号不换行 |
| 缩进 | 4 空格 120 字符 |
### Vue 前端
| 项目 | 规范 |
|---|---|
| 框架 | Vue 3 + Composition API |
| UI | Element Plus |
| 状态管理 | Pinia路由 Vue Router 4 |
| 构建 | Vite 5 |
| 框架 | Vue 3 + Composition API + Element Plus + Pinia |
| 命名 | 组件 PascalCase文件 kebab-case变量 camelCase |
| 事件 | `handle` 前缀数据 `get`/`load` 前缀提交 `submit` 前缀 |
| 缩进 | 2 空格单引号 100 字符 |
### 导入顺序
@@ -256,119 +184,37 @@ recovery:
## 🏗️ 开发约定
### API 设计
- RESTful统一响应格式Swagger 文档错误码统一管理
### 数据库
- 表名/字段名 snake_case主键 `id`软删除 `valid_flag`
### 前端组件
- 单一职责Props camelCaseEvents kebab-caseComposition APIJSDoc
### 安全
- 所有 API 需权限验证敏感信息用环境变量SQL 注入/XSS 防护
### 性能
- 后端 Druid 连接池前端路由懒加载WebP 图片虚拟滚动
| 领域 | 约定 |
|---|---|
| API | RESTful统一响应格式Swagger 文档 |
| 数据库 | snake_case 命名主键 `id`软删除 `valid_flag` |
| 安全 | 所有 API 需权限验证SQL 注入/XSS 防护 |
| 性能 | Druid 连接池路由懒加载虚拟滚动 |
---
## ⚙️ 关键配置
| 项目 | 路径/ |
| 项目 | |
|---|---|
| 后端主配置 | `openhis-server-new/openhis-application/src/main/resources/application.yml` |
| 环境配置 | `application-{profile}.yml` |
| Maven POM | `openhis-server-new/pom.xml` |
| Vite 配置 | `openhis-ui-vue3/vite.config.js` |
| 环境变量 | `.env.*` 文件 |
| 路由 | `openhis-ui-vue3/src/router/index.js` |
| 后端端口 | 18080 |
| 前端端口 | 81 |
| API 前缀 | `/openhis` |
| Swagger | `/openhis/swagger-ui/index.html` |
| Druid 监控 | `/openhis/druid/login.html` |
### 常用工具类
- 后端`com.core.common.utils.*`
- 前端`@/utils/*`
---
## 📊 人机协作边界
> 源自系列文章:二十一(边界)
| 场景 | 复杂度 | 风险 | 建议 |
|---|---|---|---|
| 单字段修复/编译错误 | | | Agent 自主你审查 diff |
| 跨模块数据流/新增字段 | | | Agent 主导你审查设计 |
| 架构调整/系统设计 | | | 你主导方案Agent 执行 |
| 安全/权限变更 | | | 你决策Agent 辅助 |
| Mapper XML 修改 | | | Agent 你验证数据流 |
### 本项目的分层支持
| 层级 | 对应任务 | 自动化 | 人工介入 |
|---|---|---|---|
| **简单** | 单字段编译错误 | 95% | 审查 diff 后合并 |
| **中等** | 跨模块数据流 | 80% | 审查设计 + 关键代码 |
| **复杂** | 架构调整 | 50% + 建议 | 你主导方案 |
| 后端配置 | `application.yml` / `application-{profile}.yml` |
| 前端配置 | `vite.config.js` / `.env.*` |
---
## 📈 成熟度追踪
> 源自系列文章:十六(企业落地)、二十二(全景展望)
| 等级 | 名称 | 特征 | 本项目 |
|---|---|---|---|
| **L1 初始** | 个别尝试无规范 | | 已超越 |
| **L2 管理** | 基础约束 + 反馈 + 控制 | AGENTS.md 定义完整流程 | **当前** |
| **L3 定义** | 标准化可复用 | 规则沉淀 + 模板化 | 🔄 推进中 |
| **L4 量化** | 数据驱动优化 | 需要更多任务数据 | |
| **L5 优化** | AI 自主优化 Harness | Meta-Harness | |
### 落地路径
```
第 1 阶段:基线恢复(已完成)
→ 代码回滚到安全基线,消除 AI 破坏
→ 建立底线约束
第 2 阶段Harness 建设(当前)
→ AGENTS.md 从 0 → 800+ 行
→ 全链路修复 + 四大组件 + 三级门禁
→ 每次失败沉淀规则
第 3 阶段:稳定产出(目标)
→ 你提任务 → Harness 执行 → 编译通过 → 你审查确认
→ 80%+ 任务一次通过编译
→ 人工介入聚焦架构和设计决策
```
---
## 💡 度量体系
| 维度 | 指标 | 目标 |
| 等级 | 特征 | 本项目 |
|---|---|---|
| **效率** | 编译通过率 | >80% 一次通过 |
| **质量** | 缺陷逃逸率 | <5% |
| **可靠性** | Agent 任务成功率 | >80% |
| **满意度** | 你的满意度 | >4/5 |
---
## ⚠️ 常见陷阱
| 陷阱 | 表现 | 解决 |
|---|---|---|
| **过度工程** | Harness 比任务还复杂 | 从最简单开始,按需递增 |
| **约束不足** | Agent 生成低质量代码 | 增加明确约束和检查点 |
| **反馈延迟** | 测试失败后才发现问题 | 尽早验证,快速失败 |
| **跳过验证** | 不编译就直接提交 | L1 门禁强制阻断 |
| **全链路只改一半** | Mapper 子查询漏了 | 六环清单逐个确认 |
| **L1 初始** | 零星使用 AI 工具 | 已超越 |
| **L2 管理** | 基础约束 + 反馈 + 控制 | **当前** |
| **L3 定义** | 标准化可复用 | 🔄 walkinglabs 5 子系统整合 |
| **L4 量化** | 数据驱动优化 | |
| **L5 优化** | AI 自主优化 Harness | |
---
@@ -377,6 +223,7 @@ recovery:
| 技能 | 用途 |
|---|---|
| `$harness-engineering` | 主方法论 约束 + 反馈 + 控制 + 持久 |
| `$walkinglabs-harness` | 实战模式 5 子系统 + 模板 + 会话持续 |
| `$durable-execution` | 检查点幂等性事件溯源 |
| `$closed-loop-testing` | 质量门禁测试策略反馈循环 |
| `$constraint-design` | DSL 设计策略模式约束编排 |
@@ -386,15 +233,5 @@ recovery:
---
## 🔄 持续优化
```
每次失败 → 分析根因 → 更新 AGENTS.md/规则 → 防止重犯
```
**当前 AGENTS.md 行数:** 853 行(持续增长中)
---
> **总纲:** 你负责"做什么"和"为什么"Agent 负责"怎么做"和"做多好"
> **最后更新:** 基于 Harness Engineering 系列文章(共 24 篇),全面整合方法论
> **工作循环:** Init → Plan → Implement → Verify → Cleanup