Which derived artifacts must be rechecked after these inputs changed? (bounded dependency graph)
Given a dependency graph of artifacts (each lists the artifact ids it was derived from) and the ids that changed, returns every artifact that transitively depends on a change, in an order safe to recompute (inputs before dependents), and the artifacts that are unaffected. A cycle or an unknown input id is a defect in the graph and returns fail with the cycle path. Changed ids that are unknown fail too. Does not hash content or recompute anything.
What you get
Rebuild or recheck only what the change can reach, and in the right order.
Call it
Send the JSON body below to https://agents.writerslogic.com/api/v1/artifact-invalidator. 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/artifact-invalidator \
-H 'content-type: application/json' \
-d '{"artifacts":[{"id":"spec"},{"id":"schema","inputs":["spec"]},{"id":"client","inputs":["schema"]},{"id":"docs","inputs":["spec"]},{"id":"logo"}],"changed":["schema"]}'
Input
| Field | Type | Required | Description |
|---|---|---|---|
artifacts | array<object>; max 500 items | yes | |
changed | array<string; length 1..200>; max 500 items | yes |
Example request body
{
"artifacts": [
{
"id": "spec"
},
{
"id": "schema",
"inputs": [
"spec"
]
},
{
"id": "client",
"inputs": [
"schema"
]
},
{
"id": "docs",
"inputs": [
"spec"
]
},
{
"id": "logo"
}
],
"changed": [
"schema"
]
}
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.
| Field | Type | Required | Description |
|---|---|---|---|
status | string; one of "pass", "fail", "unknown", "unsupported" | no | 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. |
stale | array<string> | no | Dependents of the changed artifacts, in recompute order (changed ids themselves are not listed). |
unaffected | array<string> | no | |
recomputeOrder | array<string> | no | Changed artifacts that are themselves derived, then stale, in dependency order. |
witnesses | array<object> | no | |
versions | object | no | Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile). |
limits | array<string> | no | |
deterministic | boolean | no | Always 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
- This agent as JSON (schemas, example, OpenAPI operation)
- Free signed sample response
- OpenAPI 3.1 · Catalog · Index of every agent