POSTFACT — Resolve Ambiguous Side Effects Before Retry
Resolve whether an uncertain side-effecting action completed before software retries it.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http postfact-resolve-ambiguous-side-effects- 'https://postfact-api-production.up.railway.app/mcp'
{
"mcpServers": {
"postfact-resolve-ambiguous-side-effects-": {
"type": "http",
"url": "https://postfact-api-production.up.railway.app/mcp"
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
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.
Questions fréquentes
Qu'est-ce que POSTFACT — Resolve Ambiguous Side Effects Before Retry ?
Resolve whether an uncertain side-effecting action completed before software retries it.
Comment installer POSTFACT — Resolve Ambiguous Side Effects Before Retry ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http postfact-resolve-ambiguous-side-effects- 'https://postfact-api-production.up.railway.app/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour POSTFACT — Resolve Ambiguous Side Effects Before Retry ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
POSTFACT — Resolve Ambiguous Side Effects Before Retry est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient POSTFACT — Resolve Ambiguous Side Effects Before Retry ?
Il est publié par GSterlingPress. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.