transform.schema.json
The transformation predicate. Operation metadata, exact predecessors, input artifacts, and output subjects.
All schemas§11.2§11.4FieldsRaw JSON
demos/end-to-end/artifacts/positive-bundle/attestations/1f28b72bcd4c1e9b7df71403ac6bb1670c2f2b09628ca6d76a2fa384db9a0848.dsse.json → predicate, which validates against this schema.{
"event": {
"id": "urn:uuid:22222222-2222-4222-8222-222222222222",
"occurredAt": "2026-09-16T16:00:00Z"
},
"inputs": [
{
"digest": {
"sha256": "4e90181e7f75ccdf0e4d81c83d281f53806bed241787cdc751e22b2d4cd19919"
},
"name": "raw",
"provenance": {
"statementDigest": {
"sha256": "56b7be4394fe09c62ec7a3d5763cecc251e9696f267f35b2acc717b0d170a27a"
},
"subjectName": "customers.raw.json"
}
}
],
"operation": {
"name": "Normalize customer records",
"type": "urn:makoto:demo:operation:normalize"
},
"profiles": [],
"schemaVersion": "0.2"
}Referenced by
Fields
Top leveldigesttimestampeventtooloperationprovenanceinputextensions
Top level#
Shape object
- closed object
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| schemaVersion required | string constant |
Makoto predicate version. "0.2" |
| event required | event | {"id": "urn:uuid:22222222-2222-4222-8222-222222222222", "occurredAt": "2026-09-16T16:00:00Z"} |
| operation required | operation | {"name": "Normalize customer records", "type": "urn:makoto:demo:operation:normalize"} |
| inputs required | array of input |
One or more consumed artifacts and their provenance bindings. [{"digest": {"sha256": "4e90181e7f75ccdf0e4d81c83d281f53806bed241787cdc751e22b2d4cd19919"}, "na… |
| profiles optional | array of profile-reference.schema.json | Additional schemas to apply. [] |
| extensions optional | extensions | URI-namespaced extension values. {"urn:makoto:demo:privacy-reviewed": true} |
digest#
Shape object
- closed object
Appears at inputs[].digest, inputs[].provenance.statementDigest, operation.parametersDigest, operation.tool.digest
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| sha256 required | string |
"4e90181e7f75ccdf0e4d81c83d281f53806bed241787cdc751e22b2d4cd19919" |
timestamp#
Shape string
- min length 20
- max length 30
Appears at event.occurredAt
event#
Shape object
- closed object
Appears at event
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| id required | string |
Producer-selected event identifier; uniqueness is enforced across the verified graph. "urn:uuid:22222222-2222-4222-8222-222222222222" |
| occurredAt required | timestamp | Signer-asserted event time; not a trusted timestamp unless policy adds that guarantee. "2026-09-16T16:00:00Z" |
tool#
Shape object
- closed object
Appears at operation.tool
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| name optional | string |
Tool or service name. |
| version optional | string |
Tool version. |
| uri optional | string |
Tool or recipe locator. |
| digest optional | digest | Digest of executable, script, image, or recipe when available. |
operation#
Shape object
- closed object
Appears at operation
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| type required | string |
Stable transformation category. "urn:makoto:demo:operation:normalize" |
| name optional | string |
Human-readable operation description. "Normalize customer records" |
| tool optional | tool | |
| parametersDigest optional | digest | Digest of exact parameter/configuration bytes when available. |
provenance#
Shape object
- closed object
Appears at inputs[].provenance
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| statementDigest required | digest | Payload digest of the predecessor statement. {"sha256": "56b7be4394fe09c62ec7a3d5763cecc251e9696f267f35b2acc717b0d170a27a"} |
| subjectName required | string |
Subject in that predecessor that supplied this input. "customers.raw.json" |
| entryName optional | string |
Relative entry name when the input is one member of a predecessor dataset-manifest subject. |
input#
Shape object
- closed object
Appears at inputs[]
| Field | Type | Constraints, rules, and a real value |
|---|---|---|
| name required | string |
Input artifact label. "raw" |
| digest required | digest | Exact input artifact digest. {"sha256": "4e90181e7f75ccdf0e4d81c83d281f53806bed241787cdc751e22b2d4cd19919"} |
| provenance required | provenance | {"statementDigest": {"sha256": "56b7be4394fe09c62ec7a3d5763cecc251e9696f267f35b2acc717b0d170a27… |
extensions#
Shape object
Appears at extensions
Real documents that validate
demos/end-to-end/artifacts/positive-bundle/attestations/1f28b72bcd4c1e9b7df71403ac6bb1670c2f2b09628ca6d76a2fa384db9a0848.dsse.json → predicatedemos/end-to-end/artifacts/positive-bundle/attestations/99aee76db46a720405da6d0015d427c791b0d4e02367b9e2bc36ce82ae812bce.dsse.json → predicate
Raw JSON
The published document (2,889 bytes)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://usemakoto.dev/schema/v0.2/transform.schema.json",
"title": "Makoto v0.2 Transformation Predicate",
"type": "object",
"required": ["schemaVersion", "event", "operation", "inputs"],
"properties": {
"schemaVersion": { "const": "0.2" },
"event": { "$ref": "#/$defs/event" },
"operation": { "$ref": "#/$defs/operation" },
"inputs": {
"type": "array",
"minItems": 1,
"items": { "$ref": "#/$defs/input" }
},
"profiles": {
"type": "array",
"items": { "$ref": "https://usemakoto.dev/schema/v0.2/profile-reference.schema.json" }
},
"extensions": { "$ref": "#/$defs/extensions" }
},
"$defs": {
"digest": {
"type": "object",
"required": ["sha256"],
"properties": { "sha256": { "type": "string", "minLength": 64, "maxLength": 64 } },
"additionalProperties": false
},
"timestamp": {
"type": "string",
"minLength": 20,
"maxLength": 30
},
"event": {
"type": "object",
"required": ["id", "occurredAt"],
"properties": {
"id": { "type": "string", "minLength": 1, "maxLength": 4096 },
"occurredAt": { "$ref": "#/$defs/timestamp" }
},
"additionalProperties": false
},
"tool": {
"type": "object",
"properties": {
"name": { "type": "string", "maxLength": 4096 },
"version": { "type": "string", "maxLength": 4096 },
"uri": { "type": "string", "minLength": 1, "maxLength": 4096 },
"digest": { "$ref": "#/$defs/digest" }
},
"additionalProperties": false
},
"operation": {
"type": "object",
"required": ["type"],
"properties": {
"type": { "type": "string", "minLength": 1, "maxLength": 4096 },
"name": { "type": "string", "maxLength": 4096 },
"tool": { "$ref": "#/$defs/tool" },
"parametersDigest": { "$ref": "#/$defs/digest" }
},
"additionalProperties": false
},
"provenance": {
"type": "object",
"required": ["statementDigest", "subjectName"],
"properties": {
"statementDigest": { "$ref": "#/$defs/digest" },
"subjectName": { "type": "string", "minLength": 1, "maxLength": 4096 },
"entryName": { "type": "string", "minLength": 1, "maxLength": 1024 }
},
"additionalProperties": false
},
"input": {
"type": "object",
"required": ["name", "digest", "provenance"],
"properties": {
"name": { "type": "string", "minLength": 1, "maxLength": 4096 },
"digest": { "$ref": "#/$defs/digest" },
"provenance": { "$ref": "#/$defs/provenance" }
},
"additionalProperties": false
},
"extensions": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": false
}
The published bytes, unmodified.