tri-state(三态)介绍(状态设计模式,一个值或结果可以有三种明确的状态:成功(Success)、失败(Failure)、进行中/未知/未完成(Pending/Unknown))

tri-state(三态)介绍(状态设计模式,一个值或结果可以有三种明确的状态:成功(Success)、失败(Failure)、进行中/未知/未完成(Pending/Unknown))
Audited and deliberately left alone: scraper.py (typed okFalse result, not a coerced value), analyzer_graph (alreadytri-state instrumented), Temporal activity/workflow error paths (recorded on the run row and re-raised)tri-state是什么文章目录tri-state三态介绍常见的三态设计对应到这段 commit 的上下文一句话总结tri-state三态介绍tri-state三态在这里指的是一种状态设计模式即一个值或结果可以有三种明确的状态而不是简单的成功/失败两种。常见的三态设计在软件开发中最典型的三态是状态含义示例成功Success操作完成有有效结果match_score 85失败Failure操作完成但明确出错了error LLM timeout进行中/未知Pending/Unknown操作还没完成或尚未开始status pending对应到这段 commit 的上下文analyzer_graph被描述为“already tri-state instrumented”意思是这个模块的结果不是简单的有值/没值二态而是明确区分了三种状态——比如分析完成→ 有有效的分析结果分析失败→ 明确标记为失败并记录了错误原因尚未分析/进行中→ 明确标记为还没做这就避免了前面提到的那些静默降级问题。例如简历匹配模块resume match就是典型的二态设计要么有个分数 → “成功”要么没分数LLM 失败了也写个0.0 → 被当成了成功但分数很低如果用三态设计LLM 失败时应该写成{status:failed,# 明确标记为失败match_score:None,# 没有分数error:LLM timeout# 记录原因}而不是{status:done,# ❌ 假装成功了match_score:0.0# ❌ 用 0 分冒充极差匹配}一句话总结Tri-state 成功 / 失败 / 未完成三种状态明确区分绝不把失败伪装成成功但结果为零。