Validate plugin agent declarations and wire the squad ask port (N1 WP1/WP4) #71

Merged
weichen merged 1 commits from feature/agent-stack-n1 into main 2026-10-07 05:15:37 +00:00
Owner

N1 增量三(Backend 侧):插件代理声明校验 + 小队 ask 接线(WP1/WP4 验收条款)

Agent-Native PR #18、Agent-Squad PR #17 已合入。本 PR 完成 Backend 侧:

改动

  • 插件代理声明校验(WP1 验收的机器形态):internal/plugins/agents.go 新增 parseAgentAsset——agents/*.json 资产严格解析:禁带 hooks/mcp/permissionMode 键(错误定位到字段,「钩子、MCP 与权限模式归宿主与基座」)、未知键拒绝(DisallowUnknownFields)、id 必填;host_v2.go 的 agents 装载改走该校验,违规由 loadOne 整批拒绝该插件(fail-closed)。
  • 小队 ask 接线(WP4):PermissionAskOf 导出并入参放宽为 any(小队装配传的 squadadapter.Ctx 不满足完整 RunCtx;判定只依赖可选方法);app.go 给 nativeadp.Config.PermissionAsk 接线——小队成员的内核 ask 决策自此也走 HITL 确认卡,与直连/子代理同卡同选项。宿主无实现时 nil,内核保持 ask=拒绝旧行为。
  • 嵌套 pins:deps/agent-native → c5b9dca(#18)、deps/agent-squad → fc9620e(#17)。

验证

  • go vet ./... 通过;go test -count=1 ./... 29 包全 ok。
  • 新增 agents_test.go:合法代理装载、三种禁带键逐一拒绝且定位字段、未知键/缺 id 拒绝;V2 资产套件、runmgr 权限回归、PermissionAskOf 两态全绿。

合入顺序

Agent-Native #18 ✓ → Squad #17 ✓ → 本 PR → Dev 三 pin PR。

主任务:Dev 仓 feature/agent-stack-n1。

# N1 增量三(Backend 侧):插件代理声明校验 + 小队 ask 接线(WP1/WP4 验收条款) [Agent-Native PR #18](https://git-home.u1680832.nyat.app:30319/weichen/Agent-Native/pulls/18)、[Agent-Squad PR #17](https://git-home.u1680832.nyat.app:30319/weichen/Agent-Squad/pulls/17) 已合入。本 PR 完成 Backend 侧: ## 改动 - **插件代理声明校验(WP1 验收的机器形态)**:`internal/plugins/agents.go` 新增 `parseAgentAsset`——`agents/*.json` 资产严格解析:**禁带 hooks/mcp/permissionMode 键**(错误定位到字段,「钩子、MCP 与权限模式归宿主与基座」)、未知键拒绝(DisallowUnknownFields)、id 必填;`host_v2.go` 的 agents 装载改走该校验,违规由 loadOne 整批拒绝该插件(fail-closed)。 - **小队 ask 接线(WP4)**:`PermissionAskOf` 导出并入参放宽为 `any`(小队装配传的 `squadadapter.Ctx` 不满足完整 RunCtx;判定只依赖可选方法);`app.go` 给 `nativeadp.Config.PermissionAsk` 接线——小队成员的内核 ask 决策自此也走 HITL 确认卡,与直连/子代理同卡同选项。宿主无实现时 nil,内核保持 ask=拒绝旧行为。 - 嵌套 pins:`deps/agent-native` → c5b9dca(#18)、`deps/agent-squad` → fc9620e(#17)。 ## 验证 - `go vet ./...` 通过;`go test -count=1 ./...` 29 包全 ok。 - 新增 `agents_test.go`:合法代理装载、三种禁带键逐一拒绝且定位字段、未知键/缺 id 拒绝;V2 资产套件、runmgr 权限回归、PermissionAskOf 两态全绿。 ## 合入顺序 Agent-Native #18 ✓ → Squad #17 ✓ → 本 PR → Dev 三 pin PR。 主任务:Dev 仓 `feature/agent-stack-n1`。
weichen added 1 commit 2026-10-07 05:14:24 +00:00
Validate plugin agent declarations and wire the squad ask port
ci / vet-and-test (pull_request) Successful in 41s
dc6d9985d8
Why: N1 increment three host side - plugin agent assets must reject
hooks/mcp/permissionMode declarations (WP1 acceptance), and squad
members need the kernel ask port wired to the HITL card (WP4).

Evidence: go vet clean; go test ./... 29 packages ok, including new
agent-asset tests (banned keys located to the field, unknown keys,
missing id) and the V2 asset suite. Nested pins at native c5b9dca
(PR #18) and squad fc9620e (PR #17).

Impact: plugins agents/ assets now parse via parseAgentAsset
(strict JSON with banned-key rejection); PermissionAskOf exported
and takes any host with the optional method; app.go wires
cfg.PermissionAsk for the squad path. Legacy behavior unchanged when
nothing registers the port.

Refs: Documents proposal 2026-10-07-agent-stack-n1q1i1-plans.md WP1/WP4
weichen merged commit f0b0db9aaa into main 2026-10-07 05:15:37 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Backend#71