Skip to content

mcp-server-runtime:443 把 metadata outage 答成 'Agent "X" not found' —— fail-closed 但误述,#5840 定性后的 cli 侧跟进 #6055

Description

@baozhoutao

Part of #5840(engine-core 车道按跨座位协议转席;定性测量由该单 dev 完成,⛔ 未改动 cli 车道文件)。

事实(#5840 / PR #6051 的跨车道定性,origin/main)

packages/mcp/src/mcp-server-runtime.ts:443(行号会漂,内容定位:metadataService.get('agent', agentName))把 get()undefined 一律读成「不存在」:metadata 平面 outage 时,MCP 调用方拿到 Error: Agent "X" not found —— 误述(把可用性故障讲成声明事实,ADR-0110 D3 的形状),但 fail-closed(不放宽任何访问),故非安全缺陷,是诊断质量缺陷。

修法(PR #6051 落地后可用)

PR #6051 已在 IMetadataService 提供可选 getDiagnosed(type, name) → { data, degraded, errors }(spec 座位核可在途)。本单 = mcp 调用点切换到诊断版读法,degraded 时返回如实的 unavailable 错误(而非 not found),错误措辞与 #5532/#5843 家族的 SERVICE_UNAVAILABLE 口径对齐。

Blocked-by: #5840(PR #6051 合入后解锁)。

Refs #5840 / PR #6051、ADR-0110 D3、#5532/#5705

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions