
chenchenandClaude Opus 4.8
12602ebcd6
fix(agnet): structured deliverable judgment, secret_ref validation, single default model
代码评审(2026-06-01 全链路报告)中 Manager 侧自主可修项:
- P2 交付物判定: runtimeArtifactsAreSummaryOnly 改为优先读结构化字段
(artifact_type + files_modified 信号),修复 Runtime 新 uri scheme 与
artifact_type=document 被旧 /artifacts/summary 字符串启发式漏判的回归。
- P6a: Resource CRUD(normalizeResourcePayload)强制 secret_ref 必须 azkv://,
与 agnet 部署/审批路径一致,堵住直写任意 secret_ref 的旁路。
- P6b: 明文密钥检测从仅按字段名升级为同时扫字符串值(sk-/ghp_/AKIA/JWT/PEM
等高置信模式),containsPlaintextSecret 与 containsSensitiveGrantField 均覆盖。
- P5 默认模型收敛: 新增单一来源 defaultAgnetModelID()(env AGNET_DEFAULT_MODEL_ID,
默认生产已验证的 gpt-5.4);移除 draft 构造器两处 agnet-model-<role> 占位回退
(生产 NewAPI "No available channel" 根因)与角色模板硬编码 claude-* 默认。
- P3 文档: 对接文档状态枚举补 completed 终态、runtime_state 镜像说明与未知值兜底;
role-templates 示例占位名改为 gpt-5.4。
新增 controller/agnet_deliverable_secret_test.go 覆盖以上行为。
go build ./... 与 go test ./controller/ 全绿。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 17:33:32 +08:00
..
2026-05-27 21:17:32 +08:00
2026-05-27 21:17:32 +08:00
2026-05-30 12:55:04 +08:00
2026-05-30 12:55:04 +08:00
2026-06-01 17:33:32 +08:00
2026-06-01 17:33:32 +08:00
2026-05-22 17:23:43 +08:00
2026-06-01 17:33:32 +08:00
2026-06-01 17:33:32 +08:00
2026-06-01 17:33:32 +08:00
2026-05-25 17:41:43 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-22 14:24:20 +08:00
2026-05-21 17:46:07 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-21 11:31:21 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-26 16:01:49 +08:00
2026-06-01 17:33:32 +08:00
2026-05-25 17:41:43 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 16:43:36 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00
2026-05-20 14:07:30 +08:00