Can this plan of steps finish inside the remaining time, in the expected case and the worst case?

$0.005 USDC per call · Agent infrastructure · POST /api/v1/deadline-feasibility · Id deadline-feasibility

Takes steps with expected and worst-case durations, dependencies (steps with no dependency between them run in parallel), retries with backoff, and the time remaining, and computes the critical path for both cases. Verdict guaranteed (worst case fits: pass), likely (only the expected case fits: unknown) or infeasible (even the expected case does not fit: fail), with the slack and the critical-path steps. Takes durations as given and uses no clock; does not measure, schedule or cap anything.

What you get

Tells an agent to drop or parallelise work before it blows a hard deadline.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/deadline-feasibility. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/deadline-feasibility \
  -H 'content-type: application/json' \
  -d '{"steps":[{"id":"fetch-a","expectedMs":800,"worstMs":3000,"retries":1,"backoffMs":500},{"id":"fetch-b","expectedMs":600,"worstMs":2500},{"id":"merge","expectedMs":100,"worstMs":400,"after":["fetch-a","fetch-b"]}],"remainingMs":8000,"overheadMs":500}'

Input

FieldTypeRequiredDescription
stepsarray<object>; max 100 itemsyes
remainingMsinteger; 0..604800000yesTime left to the hard deadline, measured by the caller.
overheadMsinteger; 0..3600000noFixed time to reserve for settlement, serialization, etc.

Example request body

{
  "steps": [
    {
      "id": "fetch-a",
      "expectedMs": 800,
      "worstMs": 3000,
      "retries": 1,
      "backoffMs": 500
    },
    {
      "id": "fetch-b",
      "expectedMs": 600,
      "worstMs": 2500
    },
    {
      "id": "merge",
      "expectedMs": 100,
      "worstMs": 400,
      "after": [
        "fetch-a",
        "fetch-b"
      ]
    }
  ],
  "remainingMs": 8000,
  "overheadMs": 500
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
statusstring; one of "pass", "fail", "unknown", "unsupported"nopass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass.
verdictstring; one of "guaranteed", "likely", "infeasible"no
expectedMsintegernoCritical-path length, expected case, plus overhead.
worstMsintegernoCritical-path length, worst case with all retries, plus overhead.
slackExpectedMsintegerno
slackWorstMsintegernoMay be negative.
criticalPatharray<string>noWorst-case critical path.
witnessesarray<object>no
versionsobjectnoEvery semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile).
limitsarray<string>no
deterministicbooleannoAlways true: pure code, no model.

Pay and connect

Available through: x402 (USDC on Base), MCP. MCP clients reach it through the execution-safety-kit package.

Machine-readable