| 项 | 内容 |
|---|---|
| 状态 | 已采纳(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-goroutine | error | 生产代码裸 go func(panic 无法被外层 recover,会杀进程) |
harness-no-printf-log-callback | error | 公开 API 里的 logf func(string, ...any)(printf 回调焊进签名即不可逆 API 债) |
harness-single-errors-package | error | stdlib "errors" 与 github.com/pkg/errors(全仓只允许 oekit/pkg/errors 一套,打断 BizError 的 As/Is) |
三条均已做反向验证(注入违规 → 报错 + 退出码 1)。