streamable-httpupdated 25d ago
POSTFACT is a tiny ambiguous-outcome resolver for autonomous software. Use it after a side-effecting API/tool action fails ambiguously and before retrying.
What can you do with POSTFACT — Resolve Ambiguous Side Effects Before Retry?
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
const outcome = await postfact.resolve(failureContext)
if (outcome.state === 'DONE') return completed
if (outcome.state === 'NOT_DONE' && outcome.retry_safe) return retry()
return verifyOrHold()
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
npm test
npm start
Default port: 8080.
Install
Add POSTFACT — Resolve Ambiguous Side Effects Before Retry to your client. Pick the one you use.
claude mcp add --transport http postfact-resolve-ambiguous-side-effects- https://postfact-api-production.up.railway.app/mcpcodex mcp add postfact-resolve-ambiguous-side-effects- --url https://postfact-api-production.up.railway.app/mcp{
"mcpServers": {
"postfact-resolve-ambiguous-side-effects-": {
"url": "https://postfact-api-production.up.railway.app/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"postfact-resolve-ambiguous-side-effects-": {
"type": "http",
"url": "https://postfact-api-production.up.railway.app/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"postfact-resolve-ambiguous-side-effects-": {
"url": "https://postfact-api-production.up.railway.app/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"postfact-resolve-ambiguous-side-effects-": {
"serverUrl": "https://postfact-api-production.up.railway.app/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation13/25
- Maintenance19/25
- Trust6/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 17 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.1.0Latest | Aug 14, 2026 |