goagent-kernel
介绍
设计初衷
怎么用
能力
坑速查
  • 本站 llms.txt
  • oekit llms.txt
  • oagentkit llms.txt
  • 包清单与机器事实
  • 门禁体系
  • 决策记录(ADR)
  • 版本记录
GitHub
介绍
设计初衷
怎么用
能力
坑速查
  • 本站 llms.txt
  • oekit llms.txt
  • oagentkit llms.txt
  • 包清单与机器事实
  • 门禁体系
  • 决策记录(ADR)
  • 版本记录
GitHub
  • 决策记录

    • ADR-0001 · 领域知识红线
    • ADR-0002 · 门禁执行体可被宿主复用
    • ADR-0003 · 与上游矩阵的分层
    • ADR-0004 · 执行沙箱:入口唯一 + 档位登记
    • ADR-0005 · 门面包不可变
    • ADR-0006 · 通用化判据
项内容
状态已采纳(Accepted)
日期2026-10-17
背景oekit(基础库)→ agentkit(agent 原语)→ goagent-kernel(编排内核)→ 上游宿主仓是同一条依赖链。harness 曾是矩阵里唯一不守家规的成员——家规只写在别处的文档里,本仓既不执行也不自查。
决策把可机械判定的三条做成门禁:harness-no-bare-goroutine / harness-no-printf-log-callback / harness-single-errors-package(理由详见 AGENTS.md)。
后果本仓与上游矩阵的行为口径一致:裸 goroutine(panic 无法被外层 recover)、printf 回调焊进签名(不可逆 API 债)、双 errors 包(打断 As/Is 判定链)三条在提交前即红;三条均已做反向验证。
依据architecture-policy.yaml 的 rules 段 + archcheck 执行体;家规原文见 AGENTS.md。

> 一句话结论:本仓不是孤岛——家规只写在别处的文档里等于没有规矩,必须落成本仓自己执行的门禁。


> 本文件正文原样搬自 README「与 oekit 家族的一致性(2026-10-17 补齐)」一节。

与 oekit 家族的一致性(2026-10-17 补齐)

oekit(基础库)→ oagentkit(agent 原语)→ goagent-kernel(编排内核)→ 上游宿主仓是同一条依赖链。harness 曾是矩阵里唯一不守家规的成员,现已把 可机械判定的三条也做成门禁(理由详见 AGENTS.md):

规则级别拦什么
harness-no-bare-goroutineerror生产代码裸 go func(panic 无法被外层 recover,会杀进程)
harness-no-printf-log-callbackerror公开 API 里的 logf func(string, ...any)(printf 回调焊进签名即不可逆 API 债)
harness-single-errors-packageerrorstdlib "errors" 与 github.com/pkg/errors(全仓只允许 oekit/pkg/errors 一套,打断 BizError 的 As/Is)

三条均已做反向验证(注入违规 → 报错 + 退出码 1)。

Prev
ADR-0002 · 门禁执行体可被宿主复用
Next
ADR-0004 · 执行沙箱:入口唯一 + 档位登记