{"id":"deadline-feasibility","title":"Can this plan of steps finish inside the remaining time, in the expected case and the worst case?","description":"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.","roi":"Tells an agent to drop or parallelise work before it blows a hard deadline.","audience":"agent-infra","package":"execution-safety-kit","channels":["x402","mcp"],"endpoint":{"method":"POST","url":"https://agents.writerslogic.com/api/v1/deadline-feasibility","path":"/api/v1/deadline-feasibility","contentType":"application/json"},"price":{"amount":"0.005","currency":"USDC","network":"base","perCall":true,"failedCallsCharged":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["steps","remainingMs"],"properties":{"steps":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","expectedMs","worstMs"],"properties":{"id":{"type":"string","minLength":1,"maxLength":200},"expectedMs":{"type":"integer","minimum":0,"maximum":86400000},"worstMs":{"type":"integer","minimum":0,"maximum":86400000,"description":"Worst-case duration of one attempt. Must be at least expectedMs."},"after":{"type":"array","maxItems":20,"items":{"type":"string","minLength":1,"maxLength":200},"description":"Step ids that must finish first."},"retries":{"type":"integer","minimum":0,"maximum":10,"description":"Retries after a failed attempt; the worst case runs them all."},"backoffMs":{"type":"integer","minimum":0,"maximum":3600000,"description":"Wait before each retry (constant)."}}}},"remainingMs":{"type":"integer","minimum":0,"maximum":604800000,"description":"Time left to the hard deadline, measured by the caller."},"overheadMs":{"type":"integer","minimum":0,"maximum":3600000,"description":"Fixed time to reserve for settlement, serialization, etc."}}},"resultSchema":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: 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."},"verdict":{"type":"string","enum":["guaranteed","likely","infeasible"]},"expectedMs":{"type":"integer","description":"Critical-path length, expected case, plus overhead."},"worstMs":{"type":"integer","description":"Critical-path length, worst case with all retries, plus overhead."},"slackExpectedMs":{"type":"integer"},"slackWorstMs":{"type":"integer","description":"May be negative."},"criticalPath":{"type":"array","items":{"type":"string"},"description":"Worst-case critical path."},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"outputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: 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."},"verdict":{"type":"string","enum":["guaranteed","likely","infeasible"]},"expectedMs":{"type":"integer","description":"Critical-path length, expected case, plus overhead."},"worstMs":{"type":"integer","description":"Critical-path length, worst case with all retries, plus overhead."},"slackExpectedMs":{"type":"integer"},"slackWorstMs":{"type":"integer","description":"May be negative."},"criticalPath":{"type":"array","items":{"type":"string"},"description":"Worst-case critical path."},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]},"example":{"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},"openapiOperation":{"operationId":"deadline_feasibility","summary":"Can this plan of steps finish inside the remaining time, in the expected case and the worst case?","description":"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.\n\nPrice: 0.005 USDC on Base (x402).","x-x402-price-usdc":"0.005","x-x402-amount":"5000","x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"x-audience":"agent-infra","x-sample-url":"https://agents.writerslogic.com/api/v1/samples/deadline-feasibility","security":[{"x402":[]},{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["steps","remainingMs"],"properties":{"steps":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","expectedMs","worstMs"],"properties":{"id":{"type":"string","minLength":1,"maxLength":200},"expectedMs":{"type":"integer","minimum":0,"maximum":86400000},"worstMs":{"type":"integer","minimum":0,"maximum":86400000,"description":"Worst-case duration of one attempt. Must be at least expectedMs."},"after":{"type":"array","maxItems":20,"items":{"type":"string","minLength":1,"maxLength":200},"description":"Step ids that must finish first."},"retries":{"type":"integer","minimum":0,"maximum":10,"description":"Retries after a failed attempt; the worst case runs them all."},"backoffMs":{"type":"integer","minimum":0,"maximum":3600000,"description":"Wait before each retry (constant)."}}}},"remainingMs":{"type":"integer","minimum":0,"maximum":604800000,"description":"Time left to the hard deadline, measured by the caller."},"overheadMs":{"type":"integer","minimum":0,"maximum":3600000,"description":"Fixed time to reserve for settlement, serialization, etc."}}},"example":{"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}}}},"responses":{"200":{"description":"Paid result with provenance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: 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."},"verdict":{"type":"string","enum":["guaranteed","likely","infeasible"]},"expectedMs":{"type":"integer","description":"Critical-path length, expected case, plus overhead."},"worstMs":{"type":"integer","description":"Critical-path length, worst case with all retries, plus overhead."},"slackExpectedMs":{"type":"integer"},"slackWorstMs":{"type":"integer","description":"May be negative."},"criticalPath":{"type":"array","items":{"type":"string"},"description":"Worst-case critical path."},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]}}}},"400":{"description":"Invalid request (no payment consumed)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"401":{"description":"Invalid X-API-KEY","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"402":{"description":"Payment required or invalid","content":{"application/json":{"schema":{"type":"object","description":"x402 v2 PaymentRequired (also base64 in the PAYMENT-REQUIRED header)","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"code":{"type":"string"},"resource":{"type":"object"},"accepts":{"type":"array","items":{"type":"object"}},"extensions":{"type":"object"}}}}}},"502":{"description":"Upstream failure; the payment is released or not settled","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}}}},"links":{"docs":"https://agents.writerslogic.com/docs/deadline-feasibility/","docsJson":"https://agents.writerslogic.com/docs/deadline-feasibility.json","sample":"https://agents.writerslogic.com/api/v1/samples/deadline-feasibility","openapi":"https://agents.writerslogic.com/openapi.json","catalog":"https://agents.writerslogic.com/api/v1/catalog","verifyProvenance":"https://agents.writerslogic.com/api/v1/verify-provenance","index":"https://agents.writerslogic.com/docs/index.json"}}