错误

stdout 只用于成功 JSON;错误以结构化 JSON 写入 stderr。失败 mutation 不输出 graph。message 仅用于诊断,不是稳定机器契约;脚本使用 code、issue code、path 和 details。

退出码与顶层 Code

退出码稳定顶层 code
0成功,包括不可达和 route 预算耗尽
64invalid_arguments
65invalid_jsonduplicate_keyinput_limit_exceedednesting_limit_exceededunsupported_schemainvalid_graphinvalid_operationsinvalid_idinvalid_weightunknown_pointunknown_hyperedgeid_conflictpoint_referencedinvalid_pointerpointer_not_foundpointer_type_mismatch
66file_not_foundfile_unreadable
70internal
74io

完整 graph validation 使用 invalid_graph 和 issues;apply 结构或 operation 失败使用 invalid_operations;单条 CLI mutation 使用具体业务 code。details 可携带 id、source、limit 等字段。

稳定 issue code 为:missing_fieldunknown_fieldinvalid_typeinvalid_idduplicate_idduplicate_tailunknown_pointinvalid_weightduplicate_keyinvalid_pointerpointer_not_foundpointer_type_mismatchpoint_referenced

无法继续的 parser 错误不制造后续 issue。其余 issue 依次按 schema/顶层、points 数组、hyperedges 数组、cross-reference 排列;实体字段使用文档顺序,apply 使用 operation 数组及字段顺序。同一路径按 issue code 排序。无效父值不产生级联子错误。

不可达和 route 预算耗尽不是错误。最终 stdout transport 失败退出 74,OS 已接收的字节无法撤回。