Skip to content

错误归属(Error Ownership)

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

各层归属

归属契约规则前缀它持有什么
平台协议.nimi/spec/platform/kernel/protocol-contract.mdP-PROTO-*跨世界协议错误码、动作提示、审计事件分类
Runtime.nimi/spec/runtime/kernel/error-model.mdK-ERR-*reason code、错误分类、retry 与契约失败的区分
Runtime 流式.nimi/spec/runtime/kernel/streaming-contract.mdK-STREAM-*终态帧、流级失败语义
SDK.nimi/spec/sdk/kernel/error-projection.mdS-ERROR-*面向 App 的错误呈现、强类型错误形态
桌面端.nimi/spec/desktop/kernel/error-boundary-contract.mdD-*UI 错误边界、retry 策略、用户侧错误渲染

翻译表

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

各层各自的枚举表:

platform/kernel/tables/protocol-error-codes.yaml平台
runtime/kernel/tables/reason-codes.yamlRuntime
runtime/kernel/tables/error-mapping-matrix.yamlRuntime 跨层
sdk/kernel/tables/sdk-error-codes.yamlSDK
desktop/kernel/tables/retry-status-codes.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 工作流工作流状态切到 FAILED
Runtime 审计记录失败和 trace 血缘
SDK 错误呈现S-ERROR-* 投出强类型 App 侧错误
桌面端 UID-* 错误边界下呈现
用户看到的是受治理的失败,而不是被伪造出来的成功

来源依据

Nimi AI open world platform documentation.