Skip to content

错误归属(Error Ownership)

按 Nimi 各层把错误契约、规则前缀和权威源对应起来的参考表。

各层归属

归属契约规则前缀它持有什么
平台协议.nimi/spec/platform/core-protocol.authority.yamlP-PROTO-*跨世界协议错误码、动作提示、审计事件分类
Runtime.nimi/spec/runtime/rpc-foundations.authority.yamlK-ERR-*reason code、错误分类、retry 与契约失败的区分
Runtime 流式.nimi/spec/runtime/rpc-foundations.authority.yamlK-STREAM-*终态帧、流级失败语义
SDK.nimi/spec/sdks/client-core.authority.yamlS-ERROR-*面向 App 的错误呈现、强类型错误形态
桌面端.nimi/spec/desktop/shell-ui.authority.yamlrule.nimi.desktop.shell-ui.*UI 错误边界、retry 策略、用户侧错误渲染

翻译表

平台到 Runtime 的映射,是协议级错误与 Runtime reason code 之间的规范翻译点:config/platform-error-code-mapping.yaml

各层各自的枚举表:

platform/kernel/tables/protocol-error-codes.yaml平台
runtime/kernel/tables/reason-codes.yamlRuntime
runtime/kernel/tables/error-mapping-matrix.yamlRuntime 跨层
config/sdks-error-codes.yamlSDK
canonical/desktop/shell-runtime.authority.yaml桌面端

区分"传输恢复"和"契约失败"

失败类型谁能恢复权威来源
传输错误(网络、超时、瞬时 5xx)retry、auth refresh传输 / SDK 传输契约
需要刷新认证auth refresh、token 轮换Runtime auth + SDK 传输
契约失败(强类型形态、MIME、schema、字段缺失)retry 不能救;fail-closed归属契约
流式终态失败流中段救不回来;发出终态失败帧Runtime 流式

retry 和 auth refresh 是传输机制,不能用来悄悄恢复 decode、content-type、schema、契约这类失败。

一次失败穿越多层

一次失败通常会跨多层。举例:上游 provider 在流式生成中途失败,会按下表展开:

动作
Provider返回瞬时错误帧
Runtime provider-health归到 K-ERR-*
Runtime 流式决定恢复或终结;终结则发出强类型终态失败帧
Runtime 审计记录失败和 trace 血缘
SDK 错误呈现S-ERROR-* 投出强类型 App 侧错误
桌面端 UID-* 错误边界下呈现
用户看到的是受治理的失败,而不是被伪造出来的成功

来源依据

Nimi 文档:可安装、开源、本地优先的个人 AI 产品。