Render a secret-safe human-readable lineage report.
Use describe("common.render.provenance-report") when your code needs the complete live JSON Schemas.
At a glance
| Property | Value |
|---|---|
| Package | @runstamp/provenance |
| Domain / verb | common / render |
| Customer jobs | create |
| Deterministic | Yes |
| Side effects | none |
Availability
| Local | SDK | CLI | MCP | Managed API |
|---|---|---|---|---|
| public ga | public ga | public ga | public ga | public ga |
Managed API route: POST /api/v2/operations/common/render/provenance-report. Managed execution requires a free-trial workspace or an active Platform or Enterprise workspace, and an environment-bound API key.
Input and result
| Schema | Required fields | Optional fields |
|---|---|---|
| Input | envelopes | record |
| Options | none | operation, deterministic, deterministicSeed, timeoutMs, limits, locale, lossPolicy |
| Result value | output, artifacts | none |
Every success also carries losses, diagnostics, and a hash-bound receipt.
Defaults, limits, and format constraints
Defaults
| Path | Default |
|---|---|
$.deterministic | default=true |
$.lossPolicy | default="collect" |
Formats and profiles
| Path | Constraint |
|---|---|
$.envelopes[].record.schemaVersion | const=1 |
$.envelopes[].record.inputs[].mediaType | minLength=1maxLength=160 |
$.envelopes[].record.operation.version | minLength=1maxLength=160 |
$.envelopes[].record.model.version | minLength=1maxLength=160 |
$.envelopes[].record.policies[].version | minLength=1maxLength=160 |
$.envelopes[].record.outputs[].mediaType | minLength=1maxLength=160 |
$.envelopes[].record.releaseEvidence[].version | minLength=1maxLength=160 |
$.record.inputs[].mediaType | minLength=1maxLength=160 |
$.record.operation.version | minLength=1maxLength=160 |
$.record.model.version | minLength=1maxLength=160 |
$.record.policies[].version | minLength=1maxLength=160 |
$.record.outputs[].mediaType | minLength=1maxLength=160 |
$.record.releaseEvidence[].version | minLength=1 |
Showing 24 of 25 constraints. Use describe() or the machine-readable reference for the complete schema.
Other limits
| Path | Constraint |
|---|---|
$.envelopes | maxItems=10000 |
$.envelopes[].record.sequence | minimum=0 |
$.envelopes[].record.timestamp | minLength=20maxLength=64 |
$.envelopes[].record.parents | maxItems=10000 |
$.envelopes[].record.parents[].recordId | pattern="^urn:runstamp:provenance:sha256:[a-f0-9]{64}$" |
$.envelopes[].record.parents[].recordHash | pattern="^[a-f0-9]{64}$" |
$.envelopes[].record.tenantId | minLength=1maxLength=256 |
$.envelopes[].record.inputs | maxItems=10000 |
$.envelopes[].record.inputs[].name | minLength=1maxLength=256 |
$.envelopes[].record.inputs[].byteLength | minimum=0 |
$.envelopes[].record.inputs[].sha256 | pattern="^[a-f0-9]{64}$" |
$.envelopes[].record.inputs[].artifactId | minLength=1maxLength=256 |
$.envelopes[].record.inputs[].locator.artifactId | minLength=1maxLength=256 |
$.envelopes[].record.inputs[].locator.scheme | pattern="^[a-z][a-z0-9.-]{1,63}$" |
$.envelopes[].record.inputs[].locator.value | minItems=1maxItems=64 |
$.envelopes[].record.inputs[].locator.value[].anyOf[0] | maxLength=16384 |
$.envelopes[].record.inputs[].locator.value[].anyOf[1] | minimum=0 |
$.envelopes[].record.operation.id | pattern="^[a-z][a-z0-9.-]+/[a-z][a-z0-9-]*$" |
$.envelopes[].record.actor.id | minLength=1maxLength=256 |
$.envelopes[].record.actor.displayName | minLength=1maxLength=256 |
$.envelopes[].record.model.provider | minLength=1maxLength=160 |
$.envelopes[].record.model.id | minLength=1maxLength=256 |
Showing 32 of 167 constraints. Use describe() or the machine-readable reference for the complete schema.
Invoke
const input = await fetch("https://runstamp.com/demo-evidence/operation-evidence/provenance/common.render.provenance-report/input.json").then((response) => response.json());
const result = await runstamp.run("common.render.provenance-report", input);
if (!result.ok) throw new Error(`${result.error.code}: ${result.error.remediation}`);
console.log(result.value, result.losses, result.diagnostics, result.receipt);curl -fsS https://runstamp.com/demo-evidence/operation-evidence/provenance/common.render.provenance-report/input.json -o input.json
npx -p @runstamp/sdk runstamp ops invoke common.render.provenance-report --input input.json{
"tool": "runstamp_invoke_operation",
"arguments": {
"operation": "common.render.provenance-report",
"input": "<JSON from https://runstamp.com/demo-evidence/operation-evidence/provenance/common.render.provenance-report/input.json>",
"execution_mode": "local"
}
}Errors and losses
Declared errors (20)
common/PROVENANCE_VERIFICATION_FAILEDcommon/INVALID_MANIFESTcommon/BROKEN_BINDINGcommon/MISSING_INGREDIENTcommon/TENANT_MISMATCHcommon/REPLAY_DETECTEDcommon/SIGNATURE_INVALIDcommon/RESOURCE_LIMITcommon/ABORTEDcommon/SECRET_PATH_INVALIDcommon/EXTENSION_ABORTEDcommon/INVALID_REQUESTcommon/INVALID_RESULTcommon/INVALID_OPERATIONcommon/NON_JSON_VALUEcommon/SCHEMA_REJECTEDcommon/OPERATION_CANCELLEDcommon/OPERATION_TIMEOUTcommon/CONTRACT_VIOLATIONcommon/LOSS_POLICY_VIOLATED
Declared losses (1)
common/PROVENANCE_C2PA_NOT_EMBEDDED
SDK AbortSignal, CLI exit 130, and MCP cancellation return the typed common/OPERATION_CANCELLED failure envelope.
Verified example and exact contract
- Fixture:
icp-workflow(Quarterly board reporting chain). - Example input — SHA-256
ac4c03e3e14a8fd2f7f82ee371a33df5dea2f666702375b4a305ef0e0d452d82. - Example result — SHA-256
d648254e825947b78e7b6f2c933c815e6e2f97b955a191e18d6a9285cc3636d2. - Verified result SHA-256:
809d97911bd7cbbcba6446bc926cf6b556affd7296f552543d427b286b0e9943. - Qualification lane:
14-mail-provenance.
Contract fingerprints
- Descriptor:
f762f8fb52861e1bd35f39967b9b8bc7b4494a81f875e092fc8ab77ca72bb9bd. - Input schema:
26295db071554d7d3f4808eca79d9c2362cd9ec8da42f1cacdc647488b542072. - Options schema:
02a8bc29a8d232e8843ee69f01f281cf0c3792d95ac1217dd5dfe30f61a61b0a. - Result value schema:
c2d6e562c52dd6cc75b6da02b0f4ff19dd35d14c81ce8099aa96c3de765a1fbb.
The machine-readable operation reference publishes the complete schemas, qualification results, and evidence bindings for every operation.