Skip to content

madoo.template-layout-report/v2

DesignDocument template layout report — Public template identity, page selection, repeated content, image loading and timing evidence.

Reference madoo.template-layout-report/v2
Schema id urn:madoo:schema:template-layout-report:v2
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.template-layout-report/v2 · MCP get_json_schema
  • Produced by: design/template_render → layout_report
Field Type Required Rules Description
schema "madoo.template-layout-report/v2" yes Versioned contract identifier.
status one of "passed", "warning" yes Overall render health.
templateId string yes pattern “^tpl_[0-9a-f]{32}$” Public id of the template, as in /api/v1/design-templates.
templateVersionId string yes pattern “^tplv_[0-9a-f]{32}$” Public id of the immutable published revision used.
revisionNumber integer yes ≥ 1
contentHash string yes pattern “^[a-fA-F0-9]{64}$” SHA-256 of the immutable document content.
contractHash string yes pattern “^[a-fA-F0-9]{64}$” SHA-256 of the published field contract.
outputMode one of "image", "pdf", "both", "pages" yes
selectedPages array of integer yes min items 1; max items 100 One-based page numbers requested by the workflow.
dataSetCount integer yes ≥ 0 Number of data sets applied by the renderer.
templatePageCount integer yes ≥ 1 Page count of the published template.
outputPageCount integer yes ≥ 1 Page count after layout and repeated content are resolved.
repeatItems integer yes ≥ 0 Total repeated items placed in the document.
imagesLoaded integer yes ≥ 0
imagesFailed integer yes ≥ 0
resolutionMilliseconds number yes ≥ 0 Template and data resolution duration.
preparationMilliseconds number yes ≥ 0 Renderer preparation duration.
renderMilliseconds number yes ≥ 0 PDF renderer duration.
pdfExportMode one of "standard", "pdfx4"
colorProfileGuid string or null format “uuid”
colorProfileName string or null
colorProfileSha256 string or null pattern “^[a-fA-F0-9]{64}$”
outputConditionIdentifier string or null
warnings array of string yes Human-readable warnings from this run.
madoo.template-layout-report/v2 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:template-layout-report:v2",
"title": "DesignDocument Template Layout Report v2",
"description": "Deterministic evidence for a design/template_render run: immutable version, selected pages, repeated items, image loading, timings and warnings.",
"type": "object",
"required": [
"schema",
"status",
"templateId",
"templateVersionId",
"revisionNumber",
"contentHash",
"contractHash",
"outputMode",
"selectedPages",
"dataSetCount",
"templatePageCount",
"outputPageCount",
"repeatItems",
"imagesLoaded",
"imagesFailed",
"resolutionMilliseconds",
"preparationMilliseconds",
"renderMilliseconds",
"warnings"
],
"properties": {
"schema": {
"const": "madoo.template-layout-report/v2",
"description": "Versioned contract identifier."
},
"status": {
"type": "string",
"enum": [
"passed",
"warning"
],
"description": "Overall render health."
},
"templateId": {
"type": "string",
"pattern": "^tpl_[0-9a-f]{32}$",
"description": "Public id of the template, as in /api/v1/design-templates."
},
"templateVersionId": {
"type": "string",
"pattern": "^tplv_[0-9a-f]{32}$",
"description": "Public id of the immutable published revision used."
},
"revisionNumber": {
"type": "integer",
"minimum": 1
},
"contentHash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$",
"description": "SHA-256 of the immutable document content."
},
"contractHash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$",
"description": "SHA-256 of the published field contract."
},
"outputMode": {
"type": "string",
"enum": [
"image",
"pdf",
"both",
"pages"
]
},
"selectedPages": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"description": "One-based page numbers requested by the workflow.",
"items": {
"type": "integer",
"minimum": 1
}
},
"dataSetCount": {
"type": "integer",
"minimum": 0,
"description": "Number of data sets applied by the renderer."
},
"templatePageCount": {
"type": "integer",
"minimum": 1,
"description": "Page count of the published template."
},
"outputPageCount": {
"type": "integer",
"minimum": 1,
"description": "Page count after layout and repeated content are resolved."
},
"repeatItems": {
"type": "integer",
"minimum": 0,
"description": "Total repeated items placed in the document."
},
"imagesLoaded": {
"type": "integer",
"minimum": 0
},
"imagesFailed": {
"type": "integer",
"minimum": 0
},
"resolutionMilliseconds": {
"type": "number",
"minimum": 0,
"description": "Template and data resolution duration."
},
"preparationMilliseconds": {
"type": "number",
"minimum": 0,
"description": "Renderer preparation duration."
},
"renderMilliseconds": {
"type": "number",
"minimum": 0,
"description": "PDF renderer duration."
},
"pdfExportMode": {
"type": "string",
"enum": [
"standard",
"pdfx4"
]
},
"colorProfileGuid": {
"type": [
"string",
"null"
],
"format": "uuid"
},
"colorProfileName": {
"type": [
"string",
"null"
]
},
"colorProfileSha256": {
"type": [
"string",
"null"
],
"pattern": "^[a-fA-F0-9]{64}$"
},
"outputConditionIdentifier": {
"type": [
"string",
"null"
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Human-readable warnings from this run."
}
},
"examples": [
{
"schema": "madoo.template-layout-report/v2",
"status": "passed",
"templateId": "tpl_11111111111141118111111111111111",
"templateVersionId": "tplv_22222222222242228222222222222222",
"revisionNumber": 1,
"contentHash": "0000000000000000000000000000000000000000000000000000000000000000",
"contractHash": "1111111111111111111111111111111111111111111111111111111111111111",
"outputMode": "both",
"selectedPages": [
1,
2
],
"dataSetCount": 1,
"templatePageCount": 2,
"outputPageCount": 2,
"repeatItems": 0,
"imagesLoaded": 1,
"imagesFailed": 0,
"resolutionMilliseconds": 8.2,
"preparationMilliseconds": 3.1,
"renderMilliseconds": 42.5,
"pdfExportMode": "standard",
"colorProfileGuid": null,
"colorProfileName": null,
"colorProfileSha256": null,
"outputConditionIdentifier": null,
"warnings": []
}
],
"additionalProperties": false
}