RFC-003: Agent Configuration Layer — Implementation Tracker #234

Closed
opened 2026-04-29 04:32:01 +00:00 by xiaoju · 1 comment
Owner

背景

RFC-003 设计了 Agent Configuration Layer,将 agent 基础设施(type/model/timeout)从 workflow 业务逻辑中分离。

Phase 拆分

Phase 1: Types + Config Schema

  • 核心类型: AgentFn, WorkflowContext(含 workdir + AbortSignal), ExtractFn, ExtractError
  • nerve.yaml schema 扩展: agents + extract 配置段
  • 验证目标: config parse 正确,类型导出可用
  • Testing issue: Phase 1 Testing: Types + Config Schema (#235)

Phase 2: AgentRegistry + Mock Adapter

Phase 3: Extract Layer

  • ExtractFn 实现(LLM 调用)
  • Retry-once 错误处理
  • 三级 merge: global → agent → role
  • 验证目标: 正确 extract + retry 失败抛 ExtractError
  • Testing issue: Phase 3 Testing: Extract Layer (#237)

Phase 4: WorkflowSpec Compiler

Phase 5: Integration

Phase 6: Knowledge Layer (独立)

完成标准

  • Phase 1 Testing #235 closed
  • Phase 2 Testing #236 closed
  • Phase 3 Testing #237 closed
  • Phase 4 Testing #238 closed
  • Phase 5 Testing #239 closed
  • Phase 6 Testing #240 closed
  • All tests pass, CI green
## 背景 RFC-003 设计了 Agent Configuration Layer,将 agent 基础设施(type/model/timeout)从 workflow 业务逻辑中分离。 - RFC 文档: `docs/rfc-003-agent-config-layer.md` - PR: #233 ## Phase 拆分 ### Phase 1: Types + Config Schema - 核心类型: `AgentFn`, `WorkflowContext`(含 workdir + AbortSignal), `ExtractFn`, `ExtractError` - `nerve.yaml` schema 扩展: `agents` + `extract` 配置段 - 验证目标: config parse 正确,类型导出可用 - Testing issue: #235 ### Phase 2: AgentRegistry + Mock Adapter - AgentRegistry 读配置返回 AgentFn - Echo adapter (测试用) - 验证目标: 按名字获取 agent,echo adapter 返回输入 - Testing issue: #236 ### Phase 3: Extract Layer - ExtractFn 实现(LLM 调用) - Retry-once 错误处理 - 三级 merge: global → agent → role - 验证目标: 正确 extract + retry 失败抛 ExtractError - Testing issue: #237 ### Phase 4: WorkflowSpec Compiler - WorkflowSpec 新 authoring format - Runtime lazy compile → WorkflowDefinition - 验证目标: WorkflowSpec 编译后等价于手写 WorkflowDefinition - Testing issue: #238 ### Phase 5: Integration - Agent hot-reload 接入 daemon - `nerve validate` 检查 agent name 引用 - 验证目标: config 变更后新 thread 用新配置,validate 报错缺失 agent - Testing issue: #239 ### Phase 6: Knowledge Layer (独立) - knowledge.yaml (include/exclude) - knowledge.db (SQLite, chunk + embedding) - `nerve knowledge sync` / `nerve knowledge query` CLI - Testing issue: #240 ## 完成标准 - [x] Phase 1 Testing #235 closed - [x] Phase 2 Testing #236 closed - [x] Phase 3 Testing #237 closed - [x] Phase 4 Testing #238 closed - [x] Phase 5 Testing #239 closed - [x] Phase 6 Testing #240 closed - [x] All tests pass, CI green
Author
Owner

验证结果汇总

  • Phase 1: Types + Config Schema (#235)
  • Phase 2: AgentRegistry + Echo Adapter (#236)
  • Phase 3: Extract Layer (#237)
  • Phase 4: WorkflowSpec Compiler (#238)
  • Phase 5: Integration — Hot-Reload + Validate (#239)
  • Phase 6: Knowledge Layer (#240)

合并信息

  • PR #241: Phase 1-5 (merged)
  • PR #242: Phase 6 + review fixes (merged)
  • 总测试: 555+, all pass

RFC-003 实现完成,close。

— 小橘 🍊(NEKO Team)

## 验证结果汇总 - ✅ Phase 1: Types + Config Schema (#235) - ✅ Phase 2: AgentRegistry + Echo Adapter (#236) - ✅ Phase 3: Extract Layer (#237) - ✅ Phase 4: WorkflowSpec Compiler (#238) - ✅ Phase 5: Integration — Hot-Reload + Validate (#239) - ✅ Phase 6: Knowledge Layer (#240) ## 合并信息 - PR #241: Phase 1-5 (merged) - PR #242: Phase 6 + review fixes (merged) - 总测试: 555+, all pass RFC-003 实现完成,close。 — 小橘 🍊(NEKO Team)
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#234