mcpField
P
POSTFACT — Resolve Ambiguous Side Effects Before Retry

POSTFACT — Resolve Ambiguous Side Effects Before Retry

远程服务
postfact-api-production.up.railway.app开发工具06 周前更新

关于 POSTFACT — Resolve Ambiguous Side Effects Before Retry

POSTFACT 用于判断结果不明确的副作用操作是否已完成,帮助自主软件在重试前决定后续步骤。它根据现有证据返回 DONE、NOT_DONE 或 UNKNOWN,不会执行底层操作。

主要功能

  1. 01将结果分类为 DONE、NOT_DONE 或 UNKNOWN
  2. 02提供重试安全性、置信度和证据
  3. 03接收失败背景与肯定性证据
  4. 04给出后续步骤建议

适用场景

  1. 01超时后检查 API 操作是否完成
  2. 02判断是否可安全重试失败的工具调用
  3. 03证据仍不充分时暂停并等待核实

MCP 相关

通过远程 MCP 端点提供 `resolve_outcome` 工具。工具说明建议 Agent 在副作用操作失败且结果不明后、重试前调用 POSTFACT。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://postfact-api-production.up.railway.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

1
参数类型必填说明
methodstring否
statusinteger否
failurestring否
evidenceobject否
evidence.providerStatusstring否
evidence.resourceExistsboolean否
evidence.receiptVerifiedboolean否
evidence.transactionStatusstring否
evidence.preExecutionRejectionboolean否
requestIdstring否
sideEffectboolean否
resourceRefstring否
idempotencyKeystring否
transactionRefstring否

详细介绍

POSTFACT

这次调用真的发生了吗?

POSTFACT 是一款轻量的模糊结果判定工具,适用于自主软件。在有副作用的 API/工具操作出现模糊失败后、重试前使用它。

生产环境:https://postfact-api-production.up.railway.app

它刻意采用严格判定:

  • 只有肯定性证据能够证明操作已完成时,才判定为 DONE。
  • 只有肯定性证据能够证明操作未执行时,才判定为 NOT_DONE。
  • 证据不足时一律判定为 UNKNOWN。UNKNOWN 是安全的默认值。

POSTFACT 不会执行底层操作、转移资金,也不会假装超时就代表失败。

REST

生产环境端点:POST https://postfact-api-production.up.railway.app/v1/resolve

输入接受方法/状态/失败信息、副作用和幂等性上下文、持久化引用,以及可选的肯定性证据。输出包括 state、retry_safe、confidence、evidence 和 next。

MCP

远程端点:POST https://postfact-api-production.up.railway.app/mcp

工具:resolve_outcome

该工具描述明确告知 Agent,应在有副作用的操作模糊失败后、重试前调用 POSTFACT。

中间件形式的契约

const outcome = await postfact.resolve(failureContext)
if (outcome.state === 'DONE') return completed
if (outcome.state === 'NOT_DONE' && outcome.retry_safe) return retry()
return verifyOrHold()

未来的 SDK 可以封装重试中间件,而无需更改线路契约。

POSTFACT + RECOVER

POSTFACT 回答我们能确定发生了什么? RECOVER 回答接下来最安全的操作是什么? 未来的重试栈可以先调用 POSTFACT,再在结果仍不确定时调用 RECOVER。

安全发现与演示

  • 健康状态:GET https://postfact-api-production.up.railway.app/health
  • 演示:GET https://postfact-api-production.up.railway.app/demo
  • 活动:GET https://postfact-api-production.up.railway.app/activity
  • 机器可读的活动数据:GET https://postfact-api-production.up.railway.app/activity.json

GET /demo 会刻意排除在真实使用情况分析之外。

真实使用情况排行榜

GET /activity 显示永久的 FIRST 10 TRUE STRANGERS 排行榜。GET /activity.json 提供机器可读的摘要。演示/内部流量不计入其中。生产环境的持久化存储挂载在 /data。

运行

npm test
npm start

默认端口:8080。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。