
POSTFACT — Resolve Ambiguous Side Effects Before Retry
io.github.GSterlingPressv0.1.1更新於 Oct 2, 2026
Resolve whether an uncertain side-effecting action completed before software retries it.
概覽
讓助理在重試之前,先判斷某個結果不確定的副作用動作是否已經完成。
- 功能
- POSTFACT 是一個用來處理結果不明確情況的遠端判定服務。它的 MCP 工具 resolve_outcome 會接收失敗脈絡,例如方法、狀態、副作用與幂等性資訊、持久化參照,以及選用的確證證據,並回傳 DONE、NOT_DONE 或 UNKNOWN 狀態,以及 retry_safe、confidence、evidence 和 next。它刻意保持嚴格:只有在確證證據能夠成立時才會回傳 DONE 或 NOT_DONE,證據不足時預設回傳 UNKNOWN。它本身不執行底層動作。
- 適用情境
- 適用於帶副作用的 API 或工具呼叫以不明確的方式失敗之後、重試之前,協助助理避免重複執行可能已經發生的動作。適合需要保守完成度判斷的重試中介軟體或代理工作流程,而不是把逾時直接當成失敗。
- 執行需求
- 透過 streamable HTTP 存取的遠端 MCP 端點;未宣告任何套件、環境變數或標頭,也未宣告身分驗證。需要能夠存取該服務供應商的端點。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 POSTFACT — Resolve Ambiguous Side Effects Before Retry,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"postfact": {
"type": "http",
"url": "https://postfact-api-production.up.railway.app/mcp"
}
}
}README
POSTFACT
Did the call actually happen?
POSTFACT is a tiny ambiguous-outcome resolver for autonomous software. Use it after a side-effecting API/tool action fails ambiguously and before retrying.
Production: https://postfact-api-production.up.railway.app
It is intentionally strict:
DONEonly when affirmative evidence establishes completion.NOT_DONEonly when affirmative evidence establishes non-execution.UNKNOWNwhenever evidence is insufficient.UNKNOWNis the safe default.
POSTFACT does not execute the underlying action, move money, or pretend a timeout means failure.
REST
Production endpoint: POST https://postfact-api-production.up.railway.app/v1/resolve
Input accepts method/status/failure, side-effect and idempotency context, durable references, and optional affirmative evidence. Output is state, retry_safe, confidence, evidence, and next.
MCP
Remote endpoint: POST https://postfact-api-production.up.railway.app/mcp
Tool: resolve_outcome
The tool description explicitly tells agents to invoke POSTFACT after an ambiguous side-effect failure and before retry.
Middleware-shaped contract
Future SDKs can wrap retry middleware without changing the wire contract.
POSTFACT + RECOVER
POSTFACT answers what can we establish happened? RECOVER answers what is the safest next action? A future retry stack can call POSTFACT first, then RECOVER when the outcome remains uncertain.
Safe discovery and demo
- Health:
GET https://postfact-api-production.up.railway.app/health - Demo:
GET https://postfact-api-production.up.railway.app/demo - Activity:
GET https://postfact-api-production.up.railway.app/activity - Machine-readable activity:
GET https://postfact-api-production.up.railway.app/activity.json
GET /demo is deliberately excluded from real-use analytics.
Real-use scoreboard
GET /activity shows the permanent FIRST 10 TRUE STRANGERS scoreboard. GET /activity.json exposes its machine-readable summary. Demo/internal traffic is excluded. Production persistent storage is mounted at /data.
Run
Default port: 8080.
來源:README.md,提交 7f71964
工具
0版本歷史
1- v0.1.1最新Sep 16, 2026

