[{"data":1,"prerenderedAt":1968},["ShallowReactive",2],{"navigation_docs_en":3,"dtpr-schemas-index":287,"-en-concepts-datachains":295,"-en-concepts-datachains-surround":1963},[4,22,26,30,102,152,174,196,226,278,283],{"title":5,"path":6,"stem":7,"children":8},"Getting started","/en/getting-started","en/1.getting-started/0.index",[9,10,14,18],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"MCP quickstart","/en/getting-started/mcp-quickstart","en/1.getting-started/1.mcp-quickstart",{"title":15,"path":16,"stem":17},"REST quickstart","/en/getting-started/rest-quickstart","en/1.getting-started/2.rest-quickstart",{"title":19,"path":20,"stem":21},"UI quickstart","/en/getting-started/ui-quickstart","en/1.getting-started/3.ui-quickstart",{"title":23,"path":24,"stem":25},"Attribution","/en/attribution","en/10.attribution",{"title":27,"path":28,"stem":29},"Cite DTPR for AI","/en/cite","en/11.cite",{"title":31,"path":32,"stem":33,"children":34},"MCP server","/en/mcp","en/2.mcp/0.index",[35,36,40,44,48,98],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39},"Connecting","/en/mcp/connection","en/2.mcp/1.connection",{"title":41,"path":42,"stem":43},"Envelope","/en/mcp/envelope","en/2.mcp/2.envelope",{"title":45,"path":46,"stem":47},"Resources","/en/mcp/resources","en/2.mcp/3.resources",{"title":49,"path":50,"stem":51,"children":52},"Tools","/en/mcp/tools","en/2.mcp/4.tools/0.index",[53,54,58,62,66,70,74,78,82,86,90,94],{"title":49,"path":50,"stem":51},{"title":55,"path":56,"stem":57},"list_schema_versions","/en/mcp/tools/list-schema-versions","en/2.mcp/4.tools/1.list-schema-versions",{"title":59,"path":60,"stem":61},"MCP tool: resolve_datachain","/en/mcp/tools/resolve-datachain","en/2.mcp/4.tools/10.resolve-datachain",{"title":63,"path":64,"stem":65},"MCP tool: validate_resolved","/en/mcp/tools/validate-resolved","en/2.mcp/4.tools/11.validate-resolved",{"title":67,"path":68,"stem":69},"get_schema","/en/mcp/tools/get-schema","en/2.mcp/4.tools/2.get-schema",{"title":71,"path":72,"stem":73},"list_categories","/en/mcp/tools/list-categories","en/2.mcp/4.tools/3.list-categories",{"title":75,"path":76,"stem":77},"list_elements","/en/mcp/tools/list-elements","en/2.mcp/4.tools/4.list-elements",{"title":79,"path":80,"stem":81},"get_element","/en/mcp/tools/get-element","en/2.mcp/4.tools/5.get-element",{"title":83,"path":84,"stem":85},"get_elements","/en/mcp/tools/get-elements","en/2.mcp/4.tools/6.get-elements",{"title":87,"path":88,"stem":89},"validate_datachain","/en/mcp/tools/validate-datachain","en/2.mcp/4.tools/7.validate-datachain",{"title":91,"path":92,"stem":93},"render_datachain","/en/mcp/tools/render-datachain","en/2.mcp/4.tools/8.render-datachain",{"title":95,"path":96,"stem":97},"get_icon_url","/en/mcp/tools/get-icon-url","en/2.mcp/4.tools/9.get-icon-url",{"title":99,"path":100,"stem":101},"Prompts","/en/mcp/prompts","en/2.mcp/5.prompts",{"title":103,"path":104,"stem":105,"children":106},"REST API (v2)","/en/rest","en/3.rest/0.index",[107,108,112,116,120,124,128,132,136,140,144,148],{"title":103,"path":104,"stem":105},{"title":109,"path":110,"stem":111},"GET /schemas","/en/rest/schemas","en/3.rest/1.schemas",{"title":113,"path":114,"stem":115},"POST /schemas/:version/resolve","/en/rest/resolve","en/3.rest/10.resolve",{"title":117,"path":118,"stem":119},"POST /schemas/:version/validate_resolved","/en/rest/validate-resolved","en/3.rest/11.validate-resolved",{"title":121,"path":122,"stem":123},"GET /schemas/:version/manifest","/en/rest/manifest","en/3.rest/2.manifest",{"title":125,"path":126,"stem":127},"GET /schemas/:version/categories","/en/rest/categories","en/3.rest/3.categories",{"title":129,"path":130,"stem":131},"GET /schemas/:version/elements","/en/rest/elements-list","en/3.rest/4.elements-list",{"title":133,"path":134,"stem":135},"GET /schemas/:version/elements/:element_id","/en/rest/element-detail","en/3.rest/5.element-detail",{"title":137,"path":138,"stem":139},"POST /schemas/:version/validate","/en/rest/validate","en/3.rest/6.validate",{"title":141,"path":142,"stem":143},"Icon routes","/en/rest/icons","en/3.rest/7.icons",{"title":145,"path":146,"stem":147},"Pagination & fields","/en/rest/pagination-and-fields","en/3.rest/8.pagination-and-fields",{"title":149,"path":150,"stem":151},"Errors","/en/rest/errors","en/3.rest/9.errors",{"title":153,"path":154,"stem":155,"children":156},"Icon composition","/en/icons","en/4.icons/0.index",[157,158,162,166,170],{"title":153,"path":154,"stem":155},{"title":159,"path":160,"stem":161},"Shapes","/en/icons/shapes","en/4.icons/1.shapes",{"title":163,"path":164,"stem":165},"Symbols","/en/icons/symbols","en/4.icons/2.symbols",{"title":167,"path":168,"stem":169},"Composed variants","/en/icons/composed-variants","en/4.icons/3.composed-variants",{"title":171,"path":172,"stem":173},"URLs","/en/icons/urls","en/4.icons/4.urls",{"title":175,"path":176,"stem":177,"children":178},"@dtpr/ui","/en/ui","en/5.ui/0.index",[179,180,184,188,192],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183},"@dtpr/ui/core","/en/ui/core","en/5.ui/1.core",{"title":185,"path":186,"stem":187},"@dtpr/ui/vue","/en/ui/vue","en/5.ui/2.vue",{"title":189,"path":190,"stem":191},"@dtpr/ui/html","/en/ui/html","en/5.ui/3.html",{"title":193,"path":194,"stem":195},"Theming","/en/ui/theming","en/5.ui/4.theming",{"title":197,"path":198,"stem":199,"children":200},"Concepts","/en/concepts","en/6.concepts/0.index",[201,202,206,210,214,218,222],{"title":197,"path":198,"stem":199},{"title":203,"path":204,"stem":205},"Datachains","/en/concepts/datachains","en/6.concepts/1.datachains",{"title":207,"path":208,"stem":209},"Elements & categories","/en/concepts/elements-categories","en/6.concepts/2.elements-categories",{"title":211,"path":212,"stem":213},"Versions & releases","/en/concepts/versions-and-releases","en/6.concepts/3.versions-and-releases",{"title":215,"path":216,"stem":217},"Content hash","/en/concepts/content-hash","en/6.concepts/4.content-hash",{"title":219,"path":220,"stem":221},"Shape contract","/en/concepts/shape-contract","en/6.concepts/5.shape-contract",{"title":223,"path":224,"stem":225},"Subchains","/en/concepts/subchains","en/6.concepts/6.subchains",{"title":227,"path":228,"stem":229,"children":230},"Claude plugin","/en/plugin","en/7.plugin/0.index",[231,232,236,270,274],{"title":227,"path":228,"stem":229},{"title":233,"path":234,"stem":235},"Install","/en/plugin/install","en/7.plugin/1.install",{"title":237,"path":238,"stem":239,"children":240},"Skills","/en/plugin/skills","en/7.plugin/2.skills/0.index",[241,242,246,250,254,258,262,266],{"title":237,"path":238,"stem":239},{"title":243,"path":244,"stem":245},"dtpr-describe-system","/en/plugin/skills/describe-system","en/7.plugin/2.skills/1.describe-system",{"title":247,"path":248,"stem":249},"dtpr-datachain-structure","/en/plugin/skills/datachain-structure","en/7.plugin/2.skills/2.datachain-structure",{"title":251,"path":252,"stem":253},"dtpr-category-audit","/en/plugin/skills/category-audit","en/7.plugin/2.skills/3.category-audit",{"title":255,"path":256,"stem":257},"dtpr-element-design","/en/plugin/skills/element-design","en/7.plugin/2.skills/4.element-design",{"title":259,"path":260,"stem":261},"dtpr-symbol-design","/en/plugin/skills/symbol-design","en/7.plugin/2.skills/5.symbol-design",{"title":263,"path":264,"stem":265},"dtpr-translate","/en/plugin/skills/translate","en/7.plugin/2.skills/6.translate",{"title":267,"path":268,"stem":269},"dtpr-comprehension-audit","/en/plugin/skills/comprehension-audit","en/7.plugin/2.skills/7.comprehension-audit",{"title":271,"path":272,"stem":273},"Research corpus","/en/plugin/research-corpus","en/7.plugin/3.research-corpus",{"title":275,"path":276,"stem":277},"Comprehension rubric","/en/plugin/comprehension-rubric","en/7.plugin/4.comprehension-rubric",{"title":49,"path":279,"stem":280,"children":281},"/en/tools","en/8.tools/0.index",[282],{"title":49,"path":279,"stem":280},{"title":284,"path":285,"stem":286},"Changelog","/en/changelog","en/9.changelog",{"ok":288,"versions":289},true,[290],{"id":291,"status":292,"created_at":293,"content_hash":294},"ai@2026-05-06-beta","beta","2026-05-06T20:23:42.963Z","sha256-2d208111b0c597ff2b38cb1c24168799b0a5ff9290203ebf46c4f7c16a0fcb24",{"id":296,"title":203,"body":297,"description":1957,"extension":1958,"links":1959,"meta":1960,"navigation":288,"path":204,"seo":1961,"stem":205,"__hash__":1962},"docs_en/en/6.concepts/1.datachains.md",{"type":298,"value":299,"toc":1939},"minimark",[300,309,316,325,351,588,609,620,643,650,657,665,701,704,715,721,725,728,741,750,804,1007,1031,1035,1061,1071,1074,1086,1126,1465,1468,1559,1563,1579,1634,1647,1684,1690,1698,1701,1712,1725,1729,1744,1747,1761,1767,1771,1781,1784,1788,1791,1820,1836,1840,1843,1879,1898,1902,1935],[301,302,303,304,308],"p",{},"A ",[305,306,307],"strong",{},"datachain"," is a concrete instance of a DTPR schema. It describes one data-collecting technology — what it collects, why, who operates it, and what happens to the data downstream.",[301,310,311,312,315],{},"DTPR ships ",[305,313,314],{},"two wire forms"," of a datachain. The thin form is the canonical authored shape. The resolved form is its persisted, render-ready, optionally-LLM-authored sibling.",[317,318,320,321],"h2",{"id":319},"thin-form-datachaininstance","Thin form — ",[322,323,324],"code",{},"DatachainInstance",[301,326,327,328,330,331,334,335,338,339,342,343,346,347,350],{},"At the top level, a ",[322,329,324],{}," carries an ",[322,332,333],{},"id",", an optional ",[322,336,337],{},"title"," and ",[322,340,341],{},"description"," for the system being described, a ",[322,344,345],{},"schema_version",", and an ordered list of ",[322,348,349],{},"elements",":",[352,353,358],"pre",{"className":354,"code":355,"language":356,"meta":357,"style":357},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": \"worcester-lpr\",\n  \"title\": [{ \"locale\": \"en\", \"value\": \"Worcester license plate reader\" }],\n  \"description\": [{ \"locale\": \"en\", \"value\": \"Parking enforcement automation.\" }],\n  \"schema_version\": \"ai@2026-04-16-beta\",\n  \"elements\": [\n    { \"element_id\": \"purpose.example\" },\n    { \"element_id\": \"data.camera\" }\n  ]\n}\n","json","",[322,359,360,369,395,448,494,514,528,553,576,582],{"__ignoreMap":357},[361,362,365],"span",{"class":363,"line":364},"line",1,[361,366,368],{"class":367},"sMK4o","{\n",[361,370,372,375,378,381,383,386,390,392],{"class":363,"line":371},2,[361,373,374],{"class":367},"  \"",[361,376,333],{"class":377},"spNyl",[361,379,380],{"class":367},"\"",[361,382,350],{"class":367},[361,384,385],{"class":367}," \"",[361,387,389],{"class":388},"sfazB","worcester-lpr",[361,391,380],{"class":367},[361,393,394],{"class":367},",\n",[361,396,398,400,402,404,406,409,411,415,417,419,421,424,426,429,431,434,436,438,440,443,445],{"class":363,"line":397},3,[361,399,374],{"class":367},[361,401,337],{"class":377},[361,403,380],{"class":367},[361,405,350],{"class":367},[361,407,408],{"class":367}," [{",[361,410,385],{"class":367},[361,412,414],{"class":413},"sBMFI","locale",[361,416,380],{"class":367},[361,418,350],{"class":367},[361,420,385],{"class":367},[361,422,423],{"class":388},"en",[361,425,380],{"class":367},[361,427,428],{"class":367},",",[361,430,385],{"class":367},[361,432,433],{"class":413},"value",[361,435,380],{"class":367},[361,437,350],{"class":367},[361,439,385],{"class":367},[361,441,442],{"class":388},"Worcester license plate reader",[361,444,380],{"class":367},[361,446,447],{"class":367}," }],\n",[361,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485,487,490,492],{"class":363,"line":450},4,[361,452,374],{"class":367},[361,454,341],{"class":377},[361,456,380],{"class":367},[361,458,350],{"class":367},[361,460,408],{"class":367},[361,462,385],{"class":367},[361,464,414],{"class":413},[361,466,380],{"class":367},[361,468,350],{"class":367},[361,470,385],{"class":367},[361,472,423],{"class":388},[361,474,380],{"class":367},[361,476,428],{"class":367},[361,478,385],{"class":367},[361,480,433],{"class":413},[361,482,380],{"class":367},[361,484,350],{"class":367},[361,486,385],{"class":367},[361,488,489],{"class":388},"Parking enforcement automation.",[361,491,380],{"class":367},[361,493,447],{"class":367},[361,495,497,499,501,503,505,507,510,512],{"class":363,"line":496},5,[361,498,374],{"class":367},[361,500,345],{"class":377},[361,502,380],{"class":367},[361,504,350],{"class":367},[361,506,385],{"class":367},[361,508,509],{"class":388},"ai@2026-04-16-beta",[361,511,380],{"class":367},[361,513,394],{"class":367},[361,515,517,519,521,523,525],{"class":363,"line":516},6,[361,518,374],{"class":367},[361,520,349],{"class":377},[361,522,380],{"class":367},[361,524,350],{"class":367},[361,526,527],{"class":367}," [\n",[361,529,531,534,536,539,541,543,545,548,550],{"class":363,"line":530},7,[361,532,533],{"class":367},"    {",[361,535,385],{"class":367},[361,537,538],{"class":413},"element_id",[361,540,380],{"class":367},[361,542,350],{"class":367},[361,544,385],{"class":367},[361,546,547],{"class":388},"purpose.example",[361,549,380],{"class":367},[361,551,552],{"class":367}," },\n",[361,554,556,558,560,562,564,566,568,571,573],{"class":363,"line":555},8,[361,557,533],{"class":367},[361,559,385],{"class":367},[361,561,538],{"class":413},[361,563,380],{"class":367},[361,565,350],{"class":367},[361,567,385],{"class":367},[361,569,570],{"class":388},"data.camera",[361,572,380],{"class":367},[361,574,575],{"class":367}," }\n",[361,577,579],{"class":363,"line":578},9,[361,580,581],{"class":367},"  ]\n",[361,583,585],{"class":363,"line":584},10,[361,586,587],{"class":367},"}\n",[301,589,590,591,593,594,338,596,598,599,602,603,605,606,608],{},"The ",[322,592,333],{}," is opaque (a stable identifier); ",[322,595,337],{},[322,597,341],{}," are localized human-readable strings — what renderers and agents display as the headline of the disclosure. Both default to ",[322,600,601],{},"[]",", so existing v2 instances keep parsing unchanged; renderers fall back to the ",[322,604,333],{}," when ",[322,607,337],{}," is empty.",[301,610,611,612,615,616,619],{},"Each entry in ",[322,613,614],{},"elements[]"," is an ",[305,617,618],{},"element placement"," — a reference to an element definition from the schema, optionally carrying:",[621,622,623,631,637],"ul",{},[624,625,626,627,630],"li",{},"a ",[322,628,629],{},"label"," override,",[624,632,633,636],{},[322,634,635],{},"variables"," with filled values (the element's description gets interpolated using them),",[624,638,626,639,642],{},[322,640,641],{},"citation",".",[301,644,645,646,649],{},"The schema defines the vocabulary (elements, categories, variables); the datachain picks from it. Element placements do ",[305,647,648],{},"not"," repeat the category — the category is derived from the element definition at lookup time.",[317,651,653,654],{"id":652},"resolved-form-resolveddatachaininstance","Resolved form — ",[322,655,656],{},"ResolvedDatachainInstance",[301,658,303,659,661,662,664],{},[322,660,656],{}," is a strict superset of ",[322,663,324],{}," that adds three fields:",[621,666,667,673,689],{},[624,668,669,672],{},[322,670,671],{},"schema_snapshot"," — the slice of schema content (datachain type, categories, elements) frozen at resolve-time. Decouples rendering from the live schema store, so a deployed disclosure keeps rendering correctly even if the schema evolves or the live version index drops the pinned version.",[624,674,675,678,679,682,683,685,686,642],{},[322,676,677],{},"suggested_elements"," — AI-proposed elements that are not present in ",[322,680,681],{},"schema_snapshot.elements",". Defaults to ",[322,684,601],{},". A non-empty value implies ",[322,687,688],{},"authoring_provenance.kind === 'ai_generated'",[624,690,691,694,695,700],{},[322,692,693],{},"authoring_provenance"," — optional authoring telemetry describing who or what produced the disclosure (see ",[696,697,699],"a",{"href":698},"#authoring-provenance","Authoring provenance"," below).",[301,702,703],{},"The resolved form is what you persist when you want a disclosure that:",[621,705,706,709,712],{},[624,707,708],{},"renders offline against the snapshot, with no live schema-fetch,",[624,710,711],{},"carries AI-suggested elements that have not yet been promoted into the schema,",[624,713,714],{},"records that an AI agent (vs a human reviewer) authored the disclosure.",[301,716,717,718,642],{},"Schema definition lives in ",[322,719,720],{},"api/src/schema/datachain-instance-resolved.ts",[317,722,724],{"id":723},"resolve","Resolve",[301,726,727],{},"The thin form becomes the resolved form via a pure operation:",[621,729,730,735],{},[624,731,732,734],{},[322,733,113],{}," (REST) — see the REST resolve reference.",[624,736,737,740],{},[322,738,739],{},"resolve_datachain"," (MCP tool) — same operation, same wire shape, MCP soft-failure envelope.",[301,742,743,744,747,748,642],{},"The resolver loads the pinned schema version, intersects it with the elements actually placed (the ",[305,745,746],{},"lean subset"," rule — only categories and elements referenced by the instance are pinned), and returns a ",[322,749,656],{},[352,751,755],{"className":752,"code":753,"language":754,"meta":357,"style":357},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POST /api/v2/schemas/ai@2026-04-16-beta/resolve\nContent-Type: application/json\n\n{\n  \"schema_version\": \"ai@2026-04-16-beta\",\n  \"elements\": [\n    { \"element_id\": \"purpose.example\" },\n    { \"element_id\": \"data.camera\" }\n  ]\n}\n","http",[322,756,757,762,767,772,776,781,786,791,796,800],{"__ignoreMap":357},[361,758,759],{"class":363,"line":364},[361,760,761],{},"POST /api/v2/schemas/ai@2026-04-16-beta/resolve\n",[361,763,764],{"class":363,"line":371},[361,765,766],{},"Content-Type: application/json\n",[361,768,769],{"class":363,"line":397},[361,770,771],{"emptyLinePlaceholder":288},"\n",[361,773,774],{"class":363,"line":450},[361,775,368],{},[361,777,778],{"class":363,"line":496},[361,779,780],{},"  \"schema_version\": \"ai@2026-04-16-beta\",\n",[361,782,783],{"class":363,"line":516},[361,784,785],{},"  \"elements\": [\n",[361,787,788],{"class":363,"line":530},[361,789,790],{},"    { \"element_id\": \"purpose.example\" },\n",[361,792,793],{"class":363,"line":555},[361,794,795],{},"    { \"element_id\": \"data.camera\" }\n",[361,797,798],{"class":363,"line":578},[361,799,581],{},[361,801,802],{"class":363,"line":584},[361,803,587],{},[352,805,807],{"className":354,"code":806,"language":356,"meta":357,"style":357},"{\n  \"schema_version\": \"ai@2026-04-16-beta\",\n  \"elements\": [\n    { \"element_id\": \"purpose.example\" },\n    { \"element_id\": \"data.camera\" }\n  ],\n  \"schema_snapshot\": {\n    \"datachain_type\": { \"/* DatachainType */\": \"...\" },\n    \"categories\":     [ \"/* only categories referenced by the placements */\" ],\n    \"elements\":       [ \"/* only elements referenced by the placements */\" ]\n  },\n  \"suggested_elements\": []\n}\n",[322,808,809,813,831,843,863,883,888,901,935,959,982,988,1002],{"__ignoreMap":357},[361,810,811],{"class":363,"line":364},[361,812,368],{"class":367},[361,814,815,817,819,821,823,825,827,829],{"class":363,"line":371},[361,816,374],{"class":367},[361,818,345],{"class":377},[361,820,380],{"class":367},[361,822,350],{"class":367},[361,824,385],{"class":367},[361,826,509],{"class":388},[361,828,380],{"class":367},[361,830,394],{"class":367},[361,832,833,835,837,839,841],{"class":363,"line":397},[361,834,374],{"class":367},[361,836,349],{"class":377},[361,838,380],{"class":367},[361,840,350],{"class":367},[361,842,527],{"class":367},[361,844,845,847,849,851,853,855,857,859,861],{"class":363,"line":450},[361,846,533],{"class":367},[361,848,385],{"class":367},[361,850,538],{"class":413},[361,852,380],{"class":367},[361,854,350],{"class":367},[361,856,385],{"class":367},[361,858,547],{"class":388},[361,860,380],{"class":367},[361,862,552],{"class":367},[361,864,865,867,869,871,873,875,877,879,881],{"class":363,"line":496},[361,866,533],{"class":367},[361,868,385],{"class":367},[361,870,538],{"class":413},[361,872,380],{"class":367},[361,874,350],{"class":367},[361,876,385],{"class":367},[361,878,570],{"class":388},[361,880,380],{"class":367},[361,882,575],{"class":367},[361,884,885],{"class":363,"line":516},[361,886,887],{"class":367},"  ],\n",[361,889,890,892,894,896,898],{"class":363,"line":530},[361,891,374],{"class":367},[361,893,671],{"class":377},[361,895,380],{"class":367},[361,897,350],{"class":367},[361,899,900],{"class":367}," {\n",[361,902,903,906,909,911,913,916,918,922,924,926,928,931,933],{"class":363,"line":555},[361,904,905],{"class":367},"    \"",[361,907,908],{"class":413},"datachain_type",[361,910,380],{"class":367},[361,912,350],{"class":367},[361,914,915],{"class":367}," {",[361,917,385],{"class":367},[361,919,921],{"class":920},"sbssI","/* DatachainType */",[361,923,380],{"class":367},[361,925,350],{"class":367},[361,927,385],{"class":367},[361,929,930],{"class":388},"...",[361,932,380],{"class":367},[361,934,552],{"class":367},[361,936,937,939,942,944,946,949,951,954,956],{"class":363,"line":578},[361,938,905],{"class":367},[361,940,941],{"class":413},"categories",[361,943,380],{"class":367},[361,945,350],{"class":367},[361,947,948],{"class":367},"     [",[361,950,385],{"class":367},[361,952,953],{"class":388},"/* only categories referenced by the placements */",[361,955,380],{"class":367},[361,957,958],{"class":367}," ],\n",[361,960,961,963,965,967,969,972,974,977,979],{"class":363,"line":584},[361,962,905],{"class":367},[361,964,349],{"class":413},[361,966,380],{"class":367},[361,968,350],{"class":367},[361,970,971],{"class":367},"       [",[361,973,385],{"class":367},[361,975,976],{"class":388},"/* only elements referenced by the placements */",[361,978,380],{"class":367},[361,980,981],{"class":367}," ]\n",[361,983,985],{"class":363,"line":984},11,[361,986,987],{"class":367},"  },\n",[361,989,991,993,995,997,999],{"class":363,"line":990},12,[361,992,374],{"class":367},[361,994,677],{"class":377},[361,996,380],{"class":367},[361,998,350],{"class":367},[361,1000,1001],{"class":367}," []\n",[361,1003,1005],{"class":363,"line":1004},13,[361,1006,587],{"class":367},[1008,1009,1011,1014,1015,1018,1019,1022,1023,1026,1027,1030],"callout",{"type":1010},"info",[305,1012,1013],{},"Operational regime."," Resolve runs under a dedicated rate-limit bucket of ",[305,1016,1017],{},"15 requests per 60 seconds",", a per-route wall-clock budget of ",[305,1020,1021],{},"5000 ms",", and a ",[305,1024,1025],{},"512 KB"," response cap. Bundles that exceed the cap return a ",[322,1028,1029],{},"payload_too_large"," error envelope rather than being silently truncated. Lean-subset pinning (only referenced categories and elements) keeps real disclosures well under the cap.",[317,1032,1034],{"id":1033},"round-trip-rule","Round-trip rule",[1008,1036,1038,1041,1042,1044,1045,1047,1048,1050,1051,1053,1054,1057,1058,1060],{"type":1037},"warning",[305,1039,1040],{},"The resolved → thin round-trip is conditional."," A ",[322,1043,656],{}," whose ",[322,1046,677],{}," is empty is structurally equivalent to a ",[322,1049,324],{}," once the three resolved-only fields are stripped. A ",[322,1052,656],{}," with ",[305,1055,1056],{},"non-empty"," ",[322,1059,677],{}," cannot round-trip to a thin instance without losing the proposed elements — by design. Round-trip is post-parse equivalence, not byte-identity.",[301,1062,1063,1064,1066,1067,700],{},"In practice: rendering and offline persistence work against the resolved form. Re-validation against a live schema requires either (a) the empty-",[322,1065,677],{}," case, in which the resolved form strips trivially to a thin instance, or (b) promoting the suggested elements into the schema and re-resolving (see ",[696,1068,1070],{"href":1069},"#promoted-element-lifecycle-fork-forever","Promoted-element lifecycle",[317,1072,699],{"id":1073},"authoring-provenance",[301,1075,1076,1079,1080,1082,1083,350],{},[322,1077,1078],{},"AuthoringProvenance"," is an optional, instance-level field on ",[322,1081,656],{}," that records authoring telemetry. It is a discriminated union on ",[322,1084,1085],{},"kind",[352,1087,1089],{"className":354,"code":1088,"language":356,"meta":357,"style":357},"{ \"authoring_provenance\": { \"kind\": \"human\" } }\n",[322,1090,1091],{"__ignoreMap":357},[361,1092,1093,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1119,1121,1124],{"class":363,"line":364},[361,1094,1095],{"class":367},"{",[361,1097,385],{"class":367},[361,1099,693],{"class":377},[361,1101,380],{"class":367},[361,1103,350],{"class":367},[361,1105,915],{"class":367},[361,1107,385],{"class":367},[361,1109,1085],{"class":413},[361,1111,380],{"class":367},[361,1113,350],{"class":367},[361,1115,385],{"class":367},[361,1117,1118],{"class":388},"human",[361,1120,380],{"class":367},[361,1122,1123],{"class":367}," }",[361,1125,575],{"class":367},[352,1127,1129],{"className":354,"code":1128,"language":356,"meta":357,"style":357},"{\n  \"authoring_provenance\": {\n    \"kind\": \"ai_generated\",\n    \"model\": \"claude-sonnet-4-6\",\n    \"generated_at\": \"2026-05-07T18:42:00Z\",\n    \"element_provenance\": {\n      \"data.camera\": {\n        \"rationale\": \"Operator's privacy notice describes a roof-mounted camera per intersection.\",\n        \"confidence\": \"high\",\n        \"source_references\": [\n          {\n            \"quote\": \"Each enforcement vehicle carries an outward-facing license plate camera.\",\n            \"context\": \"Privacy notice §2 — Equipment\"\n          }\n        ],\n        \"variable_rationale\": {\n          \"retention_days\": \"Stated as 90 days in the same paragraph.\"\n        }\n      },\n      \"purpose.example\": {\n        \"rationale\": \"Inferred from the operator's stated parking-enforcement use case.\",\n        \"confidence\": \"medium\"\n      }\n    }\n  }\n}\n",[322,1130,1131,1135,1147,1166,1186,1206,1219,1232,1254,1274,1287,1292,1314,1333,1339,1345,1359,1379,1385,1391,1404,1424,1442,1448,1454,1460],{"__ignoreMap":357},[361,1132,1133],{"class":363,"line":364},[361,1134,368],{"class":367},[361,1136,1137,1139,1141,1143,1145],{"class":363,"line":371},[361,1138,374],{"class":367},[361,1140,693],{"class":377},[361,1142,380],{"class":367},[361,1144,350],{"class":367},[361,1146,900],{"class":367},[361,1148,1149,1151,1153,1155,1157,1159,1162,1164],{"class":363,"line":397},[361,1150,905],{"class":367},[361,1152,1085],{"class":413},[361,1154,380],{"class":367},[361,1156,350],{"class":367},[361,1158,385],{"class":367},[361,1160,1161],{"class":388},"ai_generated",[361,1163,380],{"class":367},[361,1165,394],{"class":367},[361,1167,1168,1170,1173,1175,1177,1179,1182,1184],{"class":363,"line":450},[361,1169,905],{"class":367},[361,1171,1172],{"class":413},"model",[361,1174,380],{"class":367},[361,1176,350],{"class":367},[361,1178,385],{"class":367},[361,1180,1181],{"class":388},"claude-sonnet-4-6",[361,1183,380],{"class":367},[361,1185,394],{"class":367},[361,1187,1188,1190,1193,1195,1197,1199,1202,1204],{"class":363,"line":496},[361,1189,905],{"class":367},[361,1191,1192],{"class":413},"generated_at",[361,1194,380],{"class":367},[361,1196,350],{"class":367},[361,1198,385],{"class":367},[361,1200,1201],{"class":388},"2026-05-07T18:42:00Z",[361,1203,380],{"class":367},[361,1205,394],{"class":367},[361,1207,1208,1210,1213,1215,1217],{"class":363,"line":516},[361,1209,905],{"class":367},[361,1211,1212],{"class":413},"element_provenance",[361,1214,380],{"class":367},[361,1216,350],{"class":367},[361,1218,900],{"class":367},[361,1220,1221,1224,1226,1228,1230],{"class":363,"line":530},[361,1222,1223],{"class":367},"      \"",[361,1225,570],{"class":920},[361,1227,380],{"class":367},[361,1229,350],{"class":367},[361,1231,900],{"class":367},[361,1233,1234,1237,1241,1243,1245,1247,1250,1252],{"class":363,"line":555},[361,1235,1236],{"class":367},"        \"",[361,1238,1240],{"class":1239},"swJcz","rationale",[361,1242,380],{"class":367},[361,1244,350],{"class":367},[361,1246,385],{"class":367},[361,1248,1249],{"class":388},"Operator's privacy notice describes a roof-mounted camera per intersection.",[361,1251,380],{"class":367},[361,1253,394],{"class":367},[361,1255,1256,1258,1261,1263,1265,1267,1270,1272],{"class":363,"line":578},[361,1257,1236],{"class":367},[361,1259,1260],{"class":1239},"confidence",[361,1262,380],{"class":367},[361,1264,350],{"class":367},[361,1266,385],{"class":367},[361,1268,1269],{"class":388},"high",[361,1271,380],{"class":367},[361,1273,394],{"class":367},[361,1275,1276,1278,1281,1283,1285],{"class":363,"line":584},[361,1277,1236],{"class":367},[361,1279,1280],{"class":1239},"source_references",[361,1282,380],{"class":367},[361,1284,350],{"class":367},[361,1286,527],{"class":367},[361,1288,1289],{"class":363,"line":984},[361,1290,1291],{"class":367},"          {\n",[361,1293,1294,1297,1301,1303,1305,1307,1310,1312],{"class":363,"line":990},[361,1295,1296],{"class":367},"            \"",[361,1298,1300],{"class":1299},"su27w","quote",[361,1302,380],{"class":367},[361,1304,350],{"class":367},[361,1306,385],{"class":367},[361,1308,1309],{"class":388},"Each enforcement vehicle carries an outward-facing license plate camera.",[361,1311,380],{"class":367},[361,1313,394],{"class":367},[361,1315,1316,1318,1321,1323,1325,1327,1330],{"class":363,"line":1004},[361,1317,1296],{"class":367},[361,1319,1320],{"class":1299},"context",[361,1322,380],{"class":367},[361,1324,350],{"class":367},[361,1326,385],{"class":367},[361,1328,1329],{"class":388},"Privacy notice §2 — Equipment",[361,1331,1332],{"class":367},"\"\n",[361,1334,1336],{"class":363,"line":1335},14,[361,1337,1338],{"class":367},"          }\n",[361,1340,1342],{"class":363,"line":1341},15,[361,1343,1344],{"class":367},"        ],\n",[361,1346,1348,1350,1353,1355,1357],{"class":363,"line":1347},16,[361,1349,1236],{"class":367},[361,1351,1352],{"class":1239},"variable_rationale",[361,1354,380],{"class":367},[361,1356,350],{"class":367},[361,1358,900],{"class":367},[361,1360,1362,1365,1368,1370,1372,1374,1377],{"class":363,"line":1361},17,[361,1363,1364],{"class":367},"          \"",[361,1366,1367],{"class":1299},"retention_days",[361,1369,380],{"class":367},[361,1371,350],{"class":367},[361,1373,385],{"class":367},[361,1375,1376],{"class":388},"Stated as 90 days in the same paragraph.",[361,1378,1332],{"class":367},[361,1380,1382],{"class":363,"line":1381},18,[361,1383,1384],{"class":367},"        }\n",[361,1386,1388],{"class":363,"line":1387},19,[361,1389,1390],{"class":367},"      },\n",[361,1392,1394,1396,1398,1400,1402],{"class":363,"line":1393},20,[361,1395,1223],{"class":367},[361,1397,547],{"class":920},[361,1399,380],{"class":367},[361,1401,350],{"class":367},[361,1403,900],{"class":367},[361,1405,1407,1409,1411,1413,1415,1417,1420,1422],{"class":363,"line":1406},21,[361,1408,1236],{"class":367},[361,1410,1240],{"class":1239},[361,1412,380],{"class":367},[361,1414,350],{"class":367},[361,1416,385],{"class":367},[361,1418,1419],{"class":388},"Inferred from the operator's stated parking-enforcement use case.",[361,1421,380],{"class":367},[361,1423,394],{"class":367},[361,1425,1427,1429,1431,1433,1435,1437,1440],{"class":363,"line":1426},22,[361,1428,1236],{"class":367},[361,1430,1260],{"class":1239},[361,1432,380],{"class":367},[361,1434,350],{"class":367},[361,1436,385],{"class":367},[361,1438,1439],{"class":388},"medium",[361,1441,1332],{"class":367},[361,1443,1445],{"class":363,"line":1444},23,[361,1446,1447],{"class":367},"      }\n",[361,1449,1451],{"class":363,"line":1450},24,[361,1452,1453],{"class":367},"    }\n",[361,1455,1457],{"class":363,"line":1456},25,[361,1458,1459],{"class":367},"  }\n",[361,1461,1463],{"class":363,"line":1462},26,[361,1464,587],{"class":367},[301,1466,1467],{},"Notes:",[621,1469,1470,1497,1517,1528,1543],{},[624,1471,1472,1057,1475,1477,1478,1477,1480,1482,1483,1485,1486,1489,1490,1477,1492,1482,1494,1496],{},[305,1473,1474],{},"Per-element rationale.",[322,1476,1240],{},", ",[322,1479,1260],{},[322,1481,1280],{},", and ",[322,1484,1352],{}," describe one element pick at a time and live under ",[322,1487,1488],{},"element_provenance[\u003Celement_id>]",". The whole-disclosure level only carries ",[322,1491,1085],{},[322,1493,1172],{},[322,1495,1192],{}," — single proposal, single model, single timestamp.",[624,1498,1499,1504,1505,1508,1509,1512,1513,700],{},[305,1500,1501,1503],{},[322,1502,1280],{}," are verbatim quotes."," Each entry is ",[322,1506,1507],{},"{ quote, context? }"," — the exact text the model lifted from a source document, plus an optional locator (section, page, row id). They are not URLs; link-style citations belong on per-element ",[322,1510,1511],{},"sources"," (see ",[696,1514,1516],{"href":1515},"#citation-vs-authoring-telemetry","Citation vs authoring telemetry",[624,1518,1519,1057,1524,1527],{},[305,1520,1521,1523],{},[322,1522,1260],{}," is qualitative.",[322,1525,1526],{},"'high' | 'medium' | 'low'"," — three buckets, no numeric form. Renderers display the value verbatim.",[624,1529,1530,1533,1534,1536,1537,1540,1541,642],{},[305,1531,1532],{},"R14 implication."," A non-empty ",[322,1535,677],{}," array requires ",[322,1538,1539],{},"kind: 'ai_generated'",". The reverse is not enforced — an AI-authored disclosure with no proposals may still mark itself ",[322,1542,1161],{},[624,1544,1545,1548,1549,1551,1552,1554,1555,1558],{},[305,1546,1547],{},"Orphan keys are rejected."," Every key in ",[322,1550,1212],{}," must reference a placement ",[322,1553,538],{}," on this datachain. The semantic validator emits ",[322,1556,1557],{},"element_provenance_unknown_element"," for any key that does not.",[1560,1561,1516],"h3",{"id":1562},"citation-vs-authoring-telemetry",[301,1564,1565,1567,1568,1571,1572,1574,1575,1578],{},[322,1566,693],{}," is ",[305,1569,1570],{},"distinct"," from the existing ",[322,1573,1511],{}," field on element placements (a ",[322,1576,1577],{},"ProvenanceRef","). They answer different questions and coexist on the same shape:",[1580,1581,1582,1595],"table",{},[1583,1584,1585],"thead",{},[1586,1587,1588,1592],"tr",{},[1589,1590,1591],"th",{},"Field",[1589,1593,1594],{},"What it documents",[1596,1597,1598,1617],"tbody",{},[1586,1599,1600,1606],{},[1601,1602,1603,1605],"td",{},[322,1604,1511],{}," (per placement)",[1601,1607,1608,1611,1612,1616],{},[305,1609,1610],{},"Citation provenance."," Where the ",[1613,1614,1615],"em",{},"claim"," about the system comes from — the operator's privacy notice, an AIA, a published spec. Authored by humans, asserts a fact about the disclosed system.",[1586,1618,1619,1624],{},[1601,1620,1621,1623],{},[322,1622,693],{}," (per instance, per-element entries)",[1601,1625,1626,1629,1630,1633],{},[305,1627,1628],{},"Authoring telemetry."," Who or what produced the ",[1613,1631,1632],{},"disclosure document"," — a human reviewer or an AI agent — and (when AI) per-element rationale, confidence, and the verbatim quotes the model leaned on.",[301,1635,1636,1637,1639,1640,1643,1644,1646],{},"A human-authored disclosure with ",[322,1638,1511],{}," is the common case: humans cite humans. An AI-generated disclosure typically carries both — ",[322,1641,1642],{},"authoring_provenance.kind: 'ai_generated'"," documents the authoring loop; per-placement ",[322,1645,1511],{}," document the underlying system claims (which the model may have copied from the operator's published material).",[1008,1648,1649,1652,1653,1656,1657,1477,1659,1661,1662,1664,1665,1667,1668,1670,1671,1674,1675,1678,1679,338,1681,1683],{"type":1037},[305,1650,1651],{},"Render-time HTML-escape policy."," Free-text fields under ",[322,1654,1655],{},"authoring_provenance.element_provenance[\u003Celement_id>]"," — ",[322,1658,1240],{},[322,1660,1352],{}," values, and the ",[322,1663,1300],{}," / ",[322,1666,1320],{}," strings inside ",[322,1669,1280],{}," — are LLM-authored and MUST be HTML-escaped at every rendering boundary. In Vue, ",[322,1672,1673],{},"{{ ... }}"," interpolation is safe; ",[322,1676,1677],{},"v-html"," MUST NOT be used on these fields. Inside ",[322,1680,185],{},[322,1682,189],{},", this is enforced at the component layer; downstream consumers that build their own templates are responsible for honoring it.",[317,1685,1687,1688],{"id":1686},"trust-boundary-on-schema_snapshot","Trust boundary on ",[322,1689,671],{},[1008,1691,1692,1697],{"type":1037},[305,1693,1694,1696],{},[322,1695,671],{}," is a convenience for offline rendering, not a forgery-resistant attestation."," Consumers MUST NOT treat it as a provenance guarantee that the embedded categories, elements, or datachain-type definitions came from the canonical schema store.",[301,1699,1700],{},"The snapshot is whatever the producer chose to embed at resolve-time. A consumer that re-fetches the live schema for the pinned version can compare and detect drift — but only when the pinned version is still served by the schema store. Once a version ages out of the live index, the snapshot is the only copy and there is no canonical comparison to perform.",[301,1702,1703,1704,1707,1708,1711],{},"DTPR does run a snapshot-consistency check during validation (the ",[322,1705,1706],{},"snapshot_drift"," semantic error) ",[305,1709,1710],{},"only when the pinned schema version is still served",". This is a soft drift detector, not a forgery defense — a producer who fabricates a snapshot for a never-published version cannot be detected by it.",[301,1713,1714,1715,1717,1718,1721,1722,1724],{},"A content-hash binding that ties a ",[322,1716,656],{}," to a verifiable schema digest is a ",[305,1719,1720],{},"deferred"," capability. Until it lands, treat ",[322,1723,671],{}," as authored data, evaluated under the same trust assumptions as the rest of the disclosure.",[317,1726,1728],{"id":1727},"promoted-element-lifecycle-fork-forever","Promoted-element lifecycle (fork-forever)",[301,1730,1731,1732,1735,1736,1739,1740,1743],{},"When a ",[322,1733,1734],{},"suggested_element"," graduates from a proposal to a first-class element in a new schema version, ",[305,1737,1738],{},"prior persisted resolved artifacts do not auto-rebase."," They stay pinned to the schema version they were resolved against, with the suggested element living on as ",[322,1741,1742],{},"suggested_elements[]"," content.",[301,1745,1746],{},"The path to adopt a promoted element on an existing artifact is:",[1748,1749,1750,1753,1756],"ol",{},[624,1751,1752],{},"Take the thin elements from the original disclosure.",[624,1754,1755],{},"Re-resolve against the new schema version (which now includes the promoted element as a first-class element).",[624,1757,1758,1759,642],{},"Persist the new ",[322,1760,656],{},[301,1762,1763,1764,1766],{},"There is no in-place rebase. Each authoring round produces a fresh ",[322,1765,656],{},"; the old one, if persisted, remains valid against its pinned snapshot indefinitely. The trade-off is deliberate: forking-forever keeps already-published disclosures stable and avoids the schema-evolution surprises that an auto-rebase would invite.",[317,1768,1770],{"id":1769},"rejection-and-discard-flow","Rejection and discard flow",[1008,1772,1773,1776,1777,1780],{"type":1010},[305,1774,1775],{},"Rejection is operational, not stateful."," When a reviewer rejects an LLM-authored draft, the documented path is: ",[305,1778,1779],{},"discard the artifact and re-invoke the skill"," (with feedback) to produce a new resolved form. The schema does not model an in-product \"edit out a single suggested element\" mutation.",[301,1782,1783],{},"A stateful per-element edit-and-revalidate loop would require shaping the schema for partial mutation, which v1 deliberately avoids. Each authoring round is a fresh artifact; the previous one is dropped or archived, but never patched in place.",[317,1785,1787],{"id":1786},"validation","Validation",[301,1789,1790],{},"Datachains are validated against a pinned schema version. Both wire forms have a validator:",[621,1792,1793,1801,1809,1814],{},[624,1794,1795,1800],{},[696,1796,1798],{"href":1797},"/rest/validate",[322,1799,137],{}," — REST, thin form.",[624,1802,1803,1808],{},[696,1804,1806],{"href":1805},"/mcp/tools/validate-datachain",[322,1807,87],{}," — MCP, thin form.",[624,1810,1811,1813],{},[322,1812,117],{}," — REST, resolved form.",[624,1815,1816,1819],{},[322,1817,1818],{},"validate_resolved"," — MCP, resolved form.",[301,1821,1822,1823,1826,1827,1829,1830,1832,1833,1835],{},"All four validate both shape (Zod) and semantics (cardinality, required categories, placement rules). Shape errors surface as ",[322,1824,1825],{},"parse_error","; semantic errors carry stable codes per rule. The resolved-form validators additionally enforce R14 (non-empty ",[322,1828,677],{}," ⟹ ",[322,1831,1161],{},"), R15a (no element-id collisions between snapshot and suggestions), and the soft ",[322,1834,1706],{}," check when the pinned version is still served.",[317,1837,1839],{"id":1838},"rendering","Rendering",[301,1841,1842],{},"Once valid, a datachain can be rendered to HTML:",[621,1844,1845,1856,1868],{},[624,1846,1847,1852,1853,642],{},[696,1848,1850],{"href":1849},"/mcp/tools/render-datachain",[322,1851,91],{}," (MCP Apps) — accepts either wire form; produces HTML consumed via ",[322,1854,1855],{},"resources/read",[624,1857,1858,1863,1864,1867],{},[696,1859,1861],{"href":1860},"/ui/vue",[322,1862,185],{}," + ",[322,1865,1866],{},"DtprDatachain"," — render inside a Vue app.",[624,1869,1870,1057,1875,1878],{},[696,1871,1873],{"href":1872},"/ui/html",[322,1874,189],{},[322,1876,1877],{},"renderDatachainDocument"," — SSR the same components to a standalone HTML document.",[301,1880,1881,1882,1884,1885,1888,1889,1891,1892,1891,1894,1897],{},"When rendering a resolved form, the renderer marks any element pulled from ",[322,1883,677],{}," with a \"proposed\" indicator (default-on). For every placement that has a matching entry in ",[322,1886,1887],{},"authoring_provenance.element_provenance",", an expandable \"AI proposal context\" section beneath the element surfaces the per-element rationale, source-reference quotes, qualitative ",[322,1890,1269],{},"/",[322,1893,1439],{},[322,1895,1896],{},"low"," confidence label, and per-variable rationales.",[317,1899,1901],{"id":1900},"see-also","See also",[621,1903,1904,1909,1914,1919,1926],{},[624,1905,1906],{},[696,1907,207],{"href":1908},"/concepts/elements-categories",[624,1910,1911],{},[696,1912,211],{"href":1913},"/concepts/versions-and-releases",[624,1915,1916],{},[696,1917,215],{"href":1918},"/concepts/content-hash",[624,1920,1921,1922,1925],{},"REST resolve reference (",[322,1923,1924],{},"/rest/resolve",")",[624,1927,1928,1929,1931,1932,1925],{},"MCP ",[322,1930,739],{}," reference (",[322,1933,1934],{},"/mcp/tools/resolve-datachain",[1936,1937,1938],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .su27w, html code.shiki .su27w{--shiki-light:#916B53;--shiki-default:#916B53;--shiki-dark:#916B53}",{"title":357,"searchDepth":371,"depth":371,"links":1940},[1941,1943,1945,1946,1947,1950,1952,1953,1954,1955,1956],{"id":319,"depth":371,"text":1942},"Thin form — DatachainInstance",{"id":652,"depth":371,"text":1944},"Resolved form — ResolvedDatachainInstance",{"id":723,"depth":371,"text":724},{"id":1033,"depth":371,"text":1034},{"id":1073,"depth":371,"text":699,"children":1948},[1949],{"id":1562,"depth":397,"text":1516},{"id":1686,"depth":371,"text":1951},"Trust boundary on schema_snapshot",{"id":1727,"depth":371,"text":1728},{"id":1769,"depth":371,"text":1770},{"id":1786,"depth":371,"text":1787},{"id":1838,"depth":371,"text":1839},{"id":1900,"depth":371,"text":1901},"The DTPR instance that describes a data-collecting technology — thin and resolved wire forms.","md",null,{},{"title":203,"description":1957},"0bgsDVDu7gMsX7-pG1cRUQ3Co0PdtHZ6JJvMbkNh2Ew",[1964,1966],{"title":197,"path":198,"stem":199,"description":1965,"children":-1},"DTPR vocabulary you will see across the MCP, REST, icon, and UI reference.",{"title":207,"path":208,"stem":209,"description":1967,"children":-1},"The two-level vocabulary DTPR uses to describe data-collecting technologies.",1779049689767]