[{"data":1,"prerenderedAt":1691},["ShallowReactive",2],{"navigation_docs":3,"-develop-pipeline-apps-collaborative-board":388,"-develop-pipeline-apps-collaborative-board-surround":1686},[4,82,147,173,202,259,298,355],{"title":5,"icon":6,"redirect":7,"path":8,"stem":9,"children":10,"page":73},"Start","i-lucide-compass","\u002Fintro\u002Fquickstart","\u002Fintro","1.intro",[11,14,18,22,74,78],{"title":12,"path":7,"stem":13},"Quickstart","1.intro\u002F0.quickstart",{"title":15,"path":16,"stem":17},"Pipeline Applications","\u002Fintro\u002Fpipeline-app-walkthrough","1.intro\u002F1.pipeline-app-walkthrough",{"title":19,"path":20,"stem":21},"How Redgold works","\u002Fintro\u002Foverview","1.intro\u002F2.overview",{"title":23,"icon":24,"visibility":25,"redirect":26,"path":27,"stem":28,"children":29,"page":73},"Comparison","i-lucide-scale","private","\u002Fintro\u002Fcomparison\u002Fpositioning","\u002Fintro\u002Fcomparison","1.intro\u002F3.comparison",[30,33,37,41,45,49,53,57,61,65,69],{"title":31,"path":26,"stem":32},"Positioning","1.intro\u002F3.comparison\u002F1.positioning",{"title":34,"path":35,"stem":36},"vs Lovable","\u002Fintro\u002Fcomparison\u002Fvs-lovable","1.intro\u002F3.comparison\u002F10.vs-lovable",{"title":38,"path":39,"stem":40},"vs Cloudflare OS","\u002Fintro\u002Fcomparison\u002Fvs-cloudflare-os","1.intro\u002F3.comparison\u002F11.vs-cloudflare-os",{"title":42,"path":43,"stem":44},"vs a backend-as-a-service","\u002Fintro\u002Fcomparison\u002Fvs-baas","1.intro\u002F3.comparison\u002F2.vs-baas",{"title":46,"path":47,"stem":48},"vs serverless compute","\u002Fintro\u002Fcomparison\u002Fvs-serverless-compute","1.intro\u002F3.comparison\u002F3.vs-serverless-compute",{"title":50,"path":51,"stem":52},"vs a do-it-yourself data stack","\u002Fintro\u002Fcomparison\u002Fvs-diy-data-stack","1.intro\u002F3.comparison\u002F4.vs-diy-data-stack",{"title":54,"path":55,"stem":56},"vs Rama","\u002Fintro\u002Fcomparison\u002Fvs-rama","1.intro\u002F3.comparison\u002F5.vs-rama",{"title":58,"path":59,"stem":60},"vs Apache Spark","\u002Fintro\u002Fcomparison\u002Fvs-spark","1.intro\u002F3.comparison\u002F6.vs-spark",{"title":62,"path":63,"stem":64},"vs Apache DataFusion","\u002Fintro\u002Fcomparison\u002Fvs-datafusion","1.intro\u002F3.comparison\u002F7.vs-datafusion",{"title":66,"path":67,"stem":68},"vs Heroku","\u002Fintro\u002Fcomparison\u002Fvs-heroku","1.intro\u002F3.comparison\u002F8.vs-heroku",{"title":70,"path":71,"stem":72},"vs AI model providers","\u002Fintro\u002Fcomparison\u002Fvs-ai-providers","1.intro\u002F3.comparison\u002F9.vs-ai-providers",false,{"title":75,"path":76,"stem":77},"Common tasks","\u002Fintro\u002Fstarting-points","1.intro\u002F4.starting-points",{"title":79,"path":80,"stem":81},"FAQ","\u002Fintro\u002Ffaq","1.intro\u002F5.faq",{"title":83,"icon":84,"redirect":85,"path":86,"stem":87,"children":88,"page":73},"Examples","i-lucide-chef-hat","\u002Fcookbook\u002Foverview","\u002Fcookbook","10.cookbook",[89,91,95,99,103,107,111,115,119,123,127,131,135,139,143],{"title":83,"path":85,"stem":90},"10.cookbook\u002F1.overview",{"title":92,"path":93,"stem":94},"One-shot task in CI","\u002Fcookbook\u002Fone-shot-ci","10.cookbook\u002F10.one-shot-ci",{"title":96,"path":97,"stem":98},"Rate-limit retries","\u002Fcookbook\u002Fretry-rate-limits","10.cookbook\u002F11.retry-rate-limits",{"title":100,"path":101,"stem":102},"Connect GitHub review automation","\u002Fcookbook\u002Fconnect-github-app","10.cookbook\u002F12.connect-github-app",{"title":104,"path":105,"stem":106},"Delegate a task to another agent","\u002Fcookbook\u002Fdelegate-agent-task","10.cookbook\u002F13.delegate-agent-task",{"title":108,"path":109,"stem":110},"Validate a pipeline application change","\u002Fcookbook\u002Fvalidate-pipeline-app","10.cookbook\u002F14.validate-pipeline-app",{"title":112,"path":113,"stem":114},"Verify a managed application deployment","\u002Fcookbook\u002Fverify-managed-deploy","10.cookbook\u002F15.verify-managed-deploy",{"title":116,"path":117,"stem":118},"First API call","\u002Fcookbook\u002Ffirst-api-call","10.cookbook\u002F2.first-api-call",{"title":120,"path":121,"stem":122},"Python client","\u002Fcookbook\u002Fmodel-api-python","10.cookbook\u002F3.model-api-python",{"title":124,"path":125,"stem":126},"Anthropic Messages","\u002Fcookbook\u002Fanthropic-messages","10.cookbook\u002F4.anthropic-messages",{"title":128,"path":129,"stem":130},"Check credits","\u002Fcookbook\u002Fcheck-credits","10.cookbook\u002F5.check-credits",{"title":132,"path":133,"stem":134},"Query data via MCP","\u002Fcookbook\u002Fmcp-query-data","10.cookbook\u002F6.mcp-query-data",{"title":136,"path":137,"stem":138},"Drive an agent via MCP","\u002Fcookbook\u002Fmcp-drive-agent","10.cookbook\u002F7.mcp-drive-agent",{"title":140,"path":141,"stem":142},"Install the client","\u002Fcookbook\u002Finstall-client","10.cookbook\u002F8.install-client",{"title":144,"path":145,"stem":146},"Use another API host","\u002Fcookbook\u002Fpoint-client-at-host","10.cookbook\u002F9.point-client-at-host",{"title":148,"icon":149,"redirect":150,"path":151,"stem":152,"children":153,"page":73},"Agent operations","i-lucide-network","\u002Ffleet\u002Foverview","\u002Ffleet","11.fleet",[154,157,161,165,169],{"title":155,"path":150,"stem":156},"Running agent work","11.fleet\u002F0.overview",{"title":158,"path":159,"stem":160},"Workstreams and issues","\u002Ffleet\u002Fworkstreams-and-issues","11.fleet\u002F1.workstreams-and-issues",{"title":162,"path":163,"stem":164},"Agent lifecycle","\u002Ffleet\u002Fagent-lifecycle","11.fleet\u002F2.agent-lifecycle",{"title":166,"path":167,"stem":168},"Supervision and recovery","\u002Ffleet\u002Fsupervision","11.fleet\u002F3.supervision",{"title":170,"path":171,"stem":172},"An application workstream from request to delivery","\u002Ffleet\u002Fapplication-workstream","11.fleet\u002F4.application-workstream",{"title":174,"icon":175,"redirect":176,"path":177,"stem":178,"children":179,"page":73},"Architecture","i-lucide-layers","\u002Finfrastructure\u002Foverview","\u002Finfrastructure","3.infrastructure",[180,182,186,190,194,198],{"title":174,"path":176,"stem":181},"3.infrastructure\u002F0.overview",{"title":183,"path":184,"stem":185},"A request through the platform","\u002Finfrastructure\u002Frequest-path","3.infrastructure\u002F11.request-path",{"title":187,"path":188,"stem":189},"Agent work and durable state","\u002Finfrastructure\u002Fagent-work","3.infrastructure\u002F12.agent-work",{"title":191,"path":192,"stem":193},"Data and pipelines","\u002Finfrastructure\u002Fdata","3.infrastructure\u002F3.data",{"title":195,"path":196,"stem":197},"AI and agents","\u002Finfrastructure\u002Fai","3.infrastructure\u002F4.ai",{"title":199,"path":200,"stem":201},"Managed deployment","\u002Finfrastructure\u002Fdeployment","3.infrastructure\u002F7.deployment",{"title":203,"icon":204,"redirect":205,"path":206,"stem":207,"children":208,"page":73},"API","i-lucide-book-marked","\u002Freference\u002Fauthentication","\u002Freference","4.reference",[209,212,216,220,224,228,232,236,240,244,248],{"title":210,"path":205,"stem":211},"Authentication","4.reference\u002F1.authentication",{"title":213,"path":214,"stem":215},"Security disclosure policy","\u002Freference\u002Fsecurity-disclosure","4.reference\u002F11.security-disclosure",{"title":217,"path":218,"stem":219},"Model API","\u002Freference\u002Fllm-api","4.reference\u002F2.llm-api",{"title":221,"path":222,"stem":223},"MCP server","\u002Freference\u002Fmcp","4.reference\u002F2.mcp",{"title":225,"path":226,"stem":227},"Data platform preview","\u002Freference\u002Fdata-platform-preview","4.reference\u002F3.data-platform-preview",{"title":229,"path":230,"stem":231},"Terminal client","\u002Freference\u002Fcli","4.reference\u002F6.cli",{"title":233,"path":234,"stem":235},"Pipeline manifest preview","\u002Freference\u002Fpipeline-preview","4.reference\u002F7.pipeline-preview",{"title":237,"path":238,"stem":239},"Limits and retries","\u002Freference\u002Flimits","4.reference\u002F8.limits",{"title":241,"path":242,"stem":243},"API contract details","\u002Freference\u002Fapi-contracts","4.reference\u002F9.api-contracts",{"title":245,"path":246,"stem":247},"Errors","\u002Freference\u002Ferrors","4.reference\u002F9.errors",{"title":249,"icon":250,"visibility":251,"path":252,"stem":253,"children":254,"page":73},"Public API","i-lucide-route","public","\u002Freference\u002Froutes","4.reference\u002Froutes",[255],{"title":256,"path":257,"stem":258},"V1 routes","\u002Freference\u002Froutes\u002Fv1","4.reference\u002Froutes\u002Fv1",{"title":260,"icon":261,"visibility":25,"redirect":262,"path":263,"stem":264,"children":265,"page":73},"Develop","i-lucide-code","\u002Fdevelop\u002Fpipeline-apps\u002Foverview","\u002Fdevelop","5.develop",[266,270,286,290,294],{"title":267,"path":268,"stem":269},"Author a batch transform","\u002Fdevelop\u002Fauthor-a-batch-transform","5.develop\u002F10.author-a-batch-transform",{"title":271,"visibility":251,"redirect":262,"path":272,"stem":273,"children":274,"page":73},"Pipeline Apps","\u002Fdevelop\u002Fpipeline-apps","5.develop\u002F11.pipeline-apps",[275,278,282],{"title":276,"path":262,"stem":277},"Pipeline apps","5.develop\u002F11.pipeline-apps\u002F1.overview",{"title":279,"path":280,"stem":281},"Collaborative board walkthrough","\u002Fdevelop\u002Fpipeline-apps\u002Fcollaborative-board","5.develop\u002F11.pipeline-apps\u002F2.collaborative-board",{"title":283,"path":284,"stem":285},"Release and security lifecycle","\u002Fdevelop\u002Fpipeline-apps\u002Frelease-lifecycle","5.develop\u002F11.pipeline-apps\u002F3.release-lifecycle",{"title":287,"path":288,"stem":289},"Build a vertical","\u002Fdevelop\u002Fbuild-a-vertical","5.develop\u002F5.build-a-vertical",{"title":291,"path":292,"stem":293},"Managed application artifacts","\u002Fdevelop\u002Fscaffold-a-narrow-app","5.develop\u002F7.scaffold-a-narrow-app",{"title":295,"path":296,"stem":297},"Import your data","\u002Fdevelop\u002Fimport-your-data","5.develop\u002F8.import-your-data",{"title":299,"icon":300,"redirect":301,"path":302,"stem":303,"children":304,"page":73},"Guides","i-lucide-layout-grid","\u002Fapplications\u002Fai-agents\u002Foverview","\u002Fapplications","7.applications",[305,309,329,341],{"title":306,"path":307,"stem":308},"Application maturity catalog","\u002Fapplications\u002Fcatalog","7.applications\u002F0.catalog",{"title":310,"visibility":251,"path":311,"stem":312,"children":313,"page":73},"AI Agents","\u002Fapplications\u002Fai-agents","7.applications\u002F1.ai-agents",[314,317,321,325],{"title":315,"path":301,"stem":316},"Coding agents","7.applications\u002F1.ai-agents\u002F01.overview",{"title":318,"path":319,"stem":320},"GitHub App automation","\u002Fapplications\u002Fai-agents\u002Fgithub-app-automation","7.applications\u002F1.ai-agents\u002F04.github-app-automation",{"title":322,"path":323,"stem":324},"agent-cli assistance","\u002Fapplications\u002Fai-agents\u002Fagent-cli-assistance","7.applications\u002F1.ai-agents\u002F05.agent-cli-assistance",{"title":326,"path":327,"stem":328},"Agent REST control","\u002Fapplications\u002Fai-agents\u002Frest-agent-control","7.applications\u002F1.ai-agents\u002F06.rest-agent-control",{"title":330,"visibility":251,"path":331,"stem":332,"children":333,"page":73},"Tickets","\u002Fapplications\u002Ftickets","7.applications\u002F2.tickets",[334,337],{"title":330,"path":335,"stem":336},"\u002Fapplications\u002Ftickets\u002Foverview","7.applications\u002F2.tickets\u002F01.overview",{"title":338,"path":339,"stem":340},"API walkthrough","\u002Fapplications\u002Ftickets\u002Fapi-walkthrough","7.applications\u002F2.tickets\u002F02.api-walkthrough",{"title":342,"icon":343,"visibility":251,"path":344,"stem":345,"children":346,"page":73},"Case studies","i-lucide-book-open-check","\u002Fapplications\u002Fcase-studies","7.applications\u002F6.case-studies",[347,351],{"title":348,"path":349,"stem":350},"Case study: owner-scoped tickets","\u002Fapplications\u002Fcase-studies\u002Ftickets","7.applications\u002F6.case-studies\u002F01.tickets",{"title":352,"path":353,"stem":354},"Case study: repository review and correction","\u002Fapplications\u002Fcase-studies\u002Frepository-review","7.applications\u002F6.case-studies\u002F02.repository-review",{"title":356,"icon":357,"redirect":358,"path":359,"stem":360,"children":361,"page":73},"Resources","i-lucide-library","\u002Fresources\u002Fglossary","\u002Fresources","9.resources",[362,365,369,373,377,380,384],{"title":363,"path":358,"stem":364},"Glossary","9.resources\u002F1.glossary",{"title":366,"path":367,"stem":368},"Terms of Service","\u002Fresources\u002Fterms","9.resources\u002F2.terms",{"title":370,"path":371,"stem":372},"Privacy Policy","\u002Fresources\u002Fprivacy","9.resources\u002F3.privacy",{"title":374,"path":375,"stem":376},"Acceptable Use Policy","\u002Fresources\u002Facceptable-use","9.resources\u002F4.acceptable-use",{"title":79,"path":378,"stem":379},"\u002Fresources\u002Ffaq","9.resources\u002F5.faq",{"title":381,"path":382,"stem":383},"Documentation feedback","\u002Fresources\u002Fdocs-feedback","9.resources\u002F6.docs-feedback",{"title":385,"path":386,"stem":387},"Refund and Cancellation Policy","\u002Fresources\u002Frefund-cancellation","9.resources\u002F7.refund-cancellation",{"id":389,"title":279,"access":390,"audience":391,"body":392,"description":1678,"extension":1679,"last_verified":1680,"links":1681,"maturity":1682,"meta":1683,"navigation":754,"path":280,"seo":1684,"stem":281,"__hash__":1685},"docs\u002F5.develop\u002F11.pipeline-apps\u002F2.collaborative-board.md","onboarding","developer",{"type":393,"value":394,"toc":1665},"minimark",[395,399,403,408,436,440,559,563,566,619,637,641,652,940,965,968,971,1050,1053,1057,1060,1099,1110,1121,1125,1131,1351,1361,1365,1368,1523,1526,1530,1533,1541,1544,1548,1551,1554,1580,1583,1587,1624,1628,1631,1651,1661],[396,397,398],"warning",{},"This is the golden developer-preview fixture for the portable Pipeline Apps\ncontract. It covers strict authoring, managed signed publication, tenant\ninstallation, verified remote loading, the shared Vue host, durable Rust\u002FWASM\nreplay, schema-descriptor-driven board mutations, and schema-descriptor-bound\ncausal entity merge, owner\u002Fgrantee sharing, and operator-reviewed catalog\npublication. Arbitrary schema-descriptor-generated subscriptions, custom client\ntransforms, and public self-service publication remain planned.",[400,401,402],"p",{},"The collaborative board is deliberately ordinary: columns contain cards,\ncards have labels and comments, several people can edit, and the application\nworks on web and mobile. That makes it a useful proof of the complete contract.\nIt exercises typed storage, reads, writes, subscriptions, page layout, local\nstate, conflict resolution, permissions, installation, and upgrades without\nrequiring a separate service architecture.",[404,405,407],"h2",{"id":406},"target-experience","Target experience",[409,410,411,415,418,421,424,427,430,433],"ol",{},[412,413,414],"li",{},"A user installs a pinned board release into a workspace.",[412,416,417],{},"The shared client renders the release's board and card-detail surfaces.",[412,419,420],{},"Queries and subscriptions resolve through named pipeline revisions.",[412,422,423],{},"Edits become typed operations and enter the durable device queue.",[412,425,426],{},"Offline operations replay after reconnect or app resume.",[412,428,429],{},"The server authorizes operations, merges them, and materializes cheap read\ndatasets.",[412,431,432],{},"Other clients can read the converged server materialization.",[412,434,435],{},"An upgrade displays schema, pipeline, surface, dependency, and permission\nchanges before moving the installation pin.",[404,437,439],{"id":438},"artifact-map","Artifact map",[441,442,443,459],"table",{},[444,445,446],"thead",{},[447,448,449,453,456],"tr",{},[450,451,452],"th",{},"Artifact",[450,454,455],{},"Board responsibility",[450,457,458],{},"Status",[460,461,462,489,504,515,526,537,548],"tbody",{},[447,463,464,468,486],{},[465,466,467],"td",{},"Rust serde schemas and runtime descriptors",[465,469,470,474,475,474,478,481,482,485],{},[471,472,473],"code",{},"Board",", ",[471,476,477],{},"Column",[471,479,480],{},"Card",", and ",[471,483,484],{},"Comment"," records",[465,487,488],{},"Exact schema-descriptor and dataset pins are validated and registered with installed releases",[447,490,491,494,497],{},[465,492,493],{},"Pipeline manifests",[465,495,496],{},"Strict row-shape list\u002Fwrite\u002Fmove\u002Fcomment\u002Fevent fixtures",[465,498,499,500,503],{},"Resolved to exact ",[471,501,502],{},"PipelineSpec"," hashes with declared capability checks",[447,505,506,509,512],{},[465,507,508],{},"Custom transform",[465,510,511],{},"Domain-specific move validation or derived activity rows",[465,513,514],{},"Trusted native server transforms current; portable client UDF planned",[447,516,517,520,523],{},[465,518,519],{},"Entity operation policy",[465,521,522],{},"Field clocks, sets, ordered references, and tombstones",[465,524,525],{},"Descriptor-checked causal reducer with durable dots\u002Fversion vectors and server materialization",[447,527,528,531,534],{},[465,529,530],{},"Surface tree",[465,532,533],{},"Board and card-detail pages with bindings and actions",[465,535,536],{},"Verified installed-package source and shared Vue\u002FCapacitor host with create\u002Fedit\u002Fmove\u002Fcomment\u002Flabel adapters",[447,538,539,542,545],{},[465,540,541],{},"Application release",[465,543,544],{},"Exact membership, hashes, capabilities, and provenance",[465,546,547],{},"Local unsigned candidates plus managed signing, strict verification, receipt, and immutable registry storage",[447,549,550,553,556],{},[465,551,552],{},"Installation",[465,554,555],{},"Tenant pin, accepted permissions, and upgrade history",[465,557,558],{},"Tenant-scoped install, consent, upgrade, rollback, revocation projection, and write enforcement",[404,560,562],{"id":561},"try-the-local-release-path","Try the local release path",[400,564,565],{},"From the repository root:",[567,568,573],"pre",{"className":569,"code":570,"language":571,"meta":572,"style":572},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","rac app validate apps\u002Fcollaborative-board\u002Fapp.toml\nrac app build apps\u002Fcollaborative-board\u002Fapp.toml\nrac app inspect apps\u002Fcollaborative-board\u002Fbuild\u002Fapp-release.pb\n","bash","",[471,574,575,594,606],{"__ignoreMap":572},[576,577,580,584,588,591],"span",{"class":578,"line":579},"line",1,[576,581,583],{"class":582},"sBMFI","rac",[576,585,587],{"class":586},"sfazB"," app",[576,589,590],{"class":586}," validate",[576,592,593],{"class":586}," apps\u002Fcollaborative-board\u002Fapp.toml\n",[576,595,597,599,601,604],{"class":578,"line":596},2,[576,598,583],{"class":582},[576,600,587],{"class":586},[576,602,603],{"class":586}," build",[576,605,593],{"class":586},[576,607,609,611,613,616],{"class":578,"line":608},3,[576,610,583],{"class":582},[576,612,587],{"class":586},[576,614,615],{"class":586}," inspect",[576,617,618],{"class":586}," apps\u002Fcollaborative-board\u002Fbuild\u002Fapp-release.pb\n",[400,620,621,622,625,626,628,629,632,633,636],{},"Validation reports ",[471,623,624],{},"valid=true"," for the local application graph. Building\nstrictly parses all five referenced pipeline files, resolves their canonical\n",[471,627,502],{}," hashes, and writes deterministic CBOR and JSON artifacts.\nThe CLI retains the ",[471,630,631],{},"app-release.pb"," filename for compatibility; the local\ncandidate payload is deterministic CBOR, with a JSON companion. Inspection\nreports ",[471,634,635],{},"publish-eligible=false"," because the local fixture has no\nregistry-resolved schema-descriptor\u002Fdataset proofs or publisher signature. Those\nwarnings are part of the publication boundary rather than skipped checks.",[404,638,640],{"id":639},"_1-define-records","1. Define records",[400,642,643,644,647,648,651],{},"The ",[471,645,646],{},"card"," entity in ",[471,649,650],{},"apps\u002Fcollaborative-board\u002Fapp.toml"," declares its fields\ndirectly, each with the merge policy that governs it:",[567,653,657],{"className":654,"code":655,"language":656,"meta":572,"style":572},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[[entities]]\nid = \"card\"\ntype_url = \"app_example.collaborative_board.Card\"\ndataset = \"app_example.collaborative_board.Card\"\nidentity_fields = [1]\ndisplay_fields = [3]\n\n[[entities.fields]]\ntag = 1\nname = \"id\"\nkind = \"string\"\ncardinality = \"required\"\nmerge = \"immutable\"\n\n[[entities.fields]]\ntag = 2\nname = \"column_id\"\nkind = \"entity_reference\"\ncardinality = \"required\"\nreferences = \"column\"\nmerge = \"last_writer_wins\"\n","toml",[471,658,659,671,688,702,716,734,749,756,771,782,797,812,827,842,847,860,870,884,898,911,926],{"__ignoreMap":572},[576,660,661,665,668],{"class":578,"line":579},[576,662,664],{"class":663},"sMK4o","[[",[576,666,667],{"class":582},"entities",[576,669,670],{"class":663},"]]\n",[576,672,673,677,680,683,685],{"class":578,"line":596},[576,674,676],{"class":675},"sTEyZ","id ",[576,678,679],{"class":663},"=",[576,681,682],{"class":663}," \"",[576,684,646],{"class":586},[576,686,687],{"class":663},"\"\n",[576,689,690,693,695,697,700],{"class":578,"line":608},[576,691,692],{"class":675},"type_url ",[576,694,679],{"class":663},[576,696,682],{"class":663},[576,698,699],{"class":586},"app_example.collaborative_board.Card",[576,701,687],{"class":663},[576,703,705,708,710,712,714],{"class":578,"line":704},4,[576,706,707],{"class":675},"dataset ",[576,709,679],{"class":663},[576,711,682],{"class":663},[576,713,699],{"class":586},[576,715,687],{"class":663},[576,717,719,722,724,727,731],{"class":578,"line":718},5,[576,720,721],{"class":675},"identity_fields ",[576,723,679],{"class":663},[576,725,726],{"class":663}," [",[576,728,730],{"class":729},"sbssI","1",[576,732,733],{"class":663},"]\n",[576,735,737,740,742,744,747],{"class":578,"line":736},6,[576,738,739],{"class":675},"display_fields ",[576,741,679],{"class":663},[576,743,726],{"class":663},[576,745,746],{"class":729},"3",[576,748,733],{"class":663},[576,750,752],{"class":578,"line":751},7,[576,753,755],{"emptyLinePlaceholder":754},true,"\n",[576,757,759,761,763,766,769],{"class":578,"line":758},8,[576,760,664],{"class":663},[576,762,667],{"class":582},[576,764,765],{"class":675},".",[576,767,768],{"class":582},"fields",[576,770,670],{"class":663},[576,772,774,777,779],{"class":578,"line":773},9,[576,775,776],{"class":675},"tag ",[576,778,679],{"class":663},[576,780,781],{"class":729}," 1\n",[576,783,785,788,790,792,795],{"class":578,"line":784},10,[576,786,787],{"class":675},"name ",[576,789,679],{"class":663},[576,791,682],{"class":663},[576,793,794],{"class":586},"id",[576,796,687],{"class":663},[576,798,800,803,805,807,810],{"class":578,"line":799},11,[576,801,802],{"class":675},"kind ",[576,804,679],{"class":663},[576,806,682],{"class":663},[576,808,809],{"class":586},"string",[576,811,687],{"class":663},[576,813,815,818,820,822,825],{"class":578,"line":814},12,[576,816,817],{"class":675},"cardinality ",[576,819,679],{"class":663},[576,821,682],{"class":663},[576,823,824],{"class":586},"required",[576,826,687],{"class":663},[576,828,830,833,835,837,840],{"class":578,"line":829},13,[576,831,832],{"class":675},"merge ",[576,834,679],{"class":663},[576,836,682],{"class":663},[576,838,839],{"class":586},"immutable",[576,841,687],{"class":663},[576,843,845],{"class":578,"line":844},14,[576,846,755],{"emptyLinePlaceholder":754},[576,848,850,852,854,856,858],{"class":578,"line":849},15,[576,851,664],{"class":663},[576,853,667],{"class":582},[576,855,765],{"class":675},[576,857,768],{"class":582},[576,859,670],{"class":663},[576,861,863,865,867],{"class":578,"line":862},16,[576,864,776],{"class":675},[576,866,679],{"class":663},[576,868,869],{"class":729}," 2\n",[576,871,873,875,877,879,882],{"class":578,"line":872},17,[576,874,787],{"class":675},[576,876,679],{"class":663},[576,878,682],{"class":663},[576,880,881],{"class":586},"column_id",[576,883,687],{"class":663},[576,885,887,889,891,893,896],{"class":578,"line":886},18,[576,888,802],{"class":675},[576,890,679],{"class":663},[576,892,682],{"class":663},[576,894,895],{"class":586},"entity_reference",[576,897,687],{"class":663},[576,899,901,903,905,907,909],{"class":578,"line":900},19,[576,902,817],{"class":675},[576,904,679],{"class":663},[576,906,682],{"class":663},[576,908,824],{"class":586},[576,910,687],{"class":663},[576,912,914,917,919,921,924],{"class":578,"line":913},20,[576,915,916],{"class":675},"references ",[576,918,679],{"class":663},[576,920,682],{"class":663},[576,922,923],{"class":586},"column",[576,925,687],{"class":663},[576,927,929,931,933,935,938],{"class":578,"line":928},21,[576,930,832],{"class":675},[576,932,679],{"class":663},[576,934,682],{"class":663},[576,936,937],{"class":586},"last_writer_wins",[576,939,687],{"class":663},[400,941,942,943,946,947,474,950,953,954,957,958,481,961,964],{},"The remaining fields follow the same shape: ",[471,944,945],{},"title"," (searchable, max length\n200), ",[471,948,949],{},"description",[471,951,952],{},"labels"," (repeated, ",[471,955,956],{},"add_wins_set",", tombstone-retaining),\n",[471,959,960],{},"assignee_id",[471,962,963],{},"archived"," (bool, defaulting to false). Field tags are\nstable identity for the merge reducer, so a field keeps its tag across\nrevisions.",[400,966,967],{},"The final stored records also follow the platform's owner scope and primary\nkey conventions. Schema registration gives each type URL an exact schema hash.\nIn this walkthrough, a descriptor is the runtime metadata derived from that\nchecked-in Rust serde schema: field tags, kinds, identity fields, and merge\npolicy. It is runtime schema metadata, rather than a code-generation artifact.\nSurface fields and transforms refer to this registered schema metadata rather\nthan recreating a TypeScript-only model.",[400,969,970],{},"The merge policy belongs beside the schema contract:",[441,972,973,986],{},[444,974,975],{},[447,976,977,980,983],{},[450,978,979],{},"Field",[450,981,982],{},"Policy",[450,984,985],{},"Reason",[460,987,988,1004,1016,1027,1038],{},[447,989,990,998,1001],{},[465,991,992,474,994,474,996],{},[471,993,945],{},[471,995,881],{},[471,997,960],{},[465,999,1000],{},"HLC-ordered LWW register",[465,1002,1003],{},"One current scalar value",[447,1005,1006,1010,1013],{},[465,1007,1008],{},[471,1009,952],{},[465,1011,1012],{},"Causal add-wins set",[465,1014,1015],{},"Concurrent add\u002Fremove events retain their causal frontiers before policy resolution",[447,1017,1018,1021,1024],{},[465,1019,1020],{},"comments",[465,1022,1023],{},"Independent immutable records",[465,1025,1026],{},"Child operations participate in durable ordered replay",[447,1028,1029,1032,1035],{},[465,1030,1031],{},"deleted state",[465,1033,1034],{},"Clocked tombstone",[465,1036,1037],{},"Old updates cannot revive a deleted card",[447,1039,1040,1044,1047],{},[465,1041,1042],{},[471,1043,949],{},[465,1045,1046],{},"LWW initially; text CRDT opt-in",[465,1048,1049],{},"Character-level merging adds cost and should be explicit",[400,1051,1052],{},"The entity merge crate validates manifest field declarations against an exact\npinned schema-descriptor set. Its preview reducer applies immutable and LWW registers,\ncausal add\u002Fremove sets, ordered references, and delete\u002Fupdate frontiers to\ndynamic messages. Installation-qualified client sites allocate durable dots;\nthe DES oplog validates dot collisions against the exact tenant, entity\nreference, and canonical payload before materializing the result.",[404,1054,1056],{"id":1055},"_2-declare-server-pipelines","2. Declare server pipelines",[400,1058,1059],{},"The current manifest path can express the board's backend routes as small\ngraphs:",[1061,1062,1063,1075,1081,1087,1093],"ul",{},[412,1064,1065,1068,1069,1071,1072,1074],{},[471,1066,1067],{},"board-list"," filters archived rows, sorts by ",[471,1070,881],{}," and ",[471,1073,945],{},", and\nprojects the card columns;",[412,1076,1077,1080],{},[471,1078,1079],{},"board-upsert-card"," trims titles, rejects empty ids\u002Ftitles, and projects a\ncomplete row into the card dataset;",[412,1082,1083,1086],{},[471,1084,1085],{},"board-move-card"," rejects empty card\u002Fcolumn ids and projects a complete card\nrow;",[412,1088,1089,1092],{},[471,1090,1091],{},"board-add-comment"," trims bodies, rejects empty ids\u002Fcard ids\u002Fbodies, and\nprojects a comment row;",[412,1094,1095,1098],{},[471,1096,1097],{},"board-events"," subscribes to non-archived card rows with a bounded projection.",[400,1100,1101,1102,1105,1106,1109],{},"These are executable row-shape manifests. Portable entity writes use the\ninstallation-bound CBOR ",[471,1103,1104],{},"EntityOp"," transport and require an active,\nverified ",[471,1107,1108],{},"DATASET_WRITE"," grant for the release-pinned dataset. The\nschema-descriptor-driven action adapter covers card creation and editing, moves,\nlabel-set membership, and comment creation. A future custom transform could\nhandle a rule such as “a closed card cannot move into an active sprint without\nreopening,” with pinned input\u002Foutput schemas and an exact artifact hash.",[400,1111,643,1112,1116,1117,1120],{},[1113,1114,1115],"a",{"href":234},"public pipeline manifest preview"," covers the\nreferenced execution graphs. The application compiler separately parses the\nouter manifest and resolves every ",[471,1118,1119],{},"source"," path through that strict pipeline\nparser.",[404,1122,1124],{"id":1123},"_3-group-a-release","3. Group a release",[400,1126,1127,1128,1130],{},"The checked-in fixture uses accepted application TOML. This is a shortened\nexcerpt from ",[471,1129,650],{},":",[567,1132,1134],{"className":654,"code":1133,"language":656,"meta":572,"style":572},"[app]\nid = \"collaborative-board\"\nname = \"Collaborative Board\"\nversion = \"0.1.0\"\nminimum_runtime_version = \"1.0.0\"\ndefault_view = \"board\"\n\n[[entities]]\nid = \"card\"\ntype_url = \"app_example.collaborative_board.Card\"\ndataset = \"app_example.collaborative_board.Card\"\n\n[[pipelines]]\nname = \"board-list\"\nsource = \"pipelines\u002Fboard-list.toml\"\n\n[[views]]\nid = \"board\"\nname = \"Board\"\ninitial_page = \"board\"\n",[471,1135,1136,1146,1159,1172,1186,1200,1214,1218,1226,1238,1250,1262,1266,1275,1287,1301,1305,1314,1326,1338],{"__ignoreMap":572},[576,1137,1138,1141,1144],{"class":578,"line":579},[576,1139,1140],{"class":663},"[",[576,1142,1143],{"class":582},"app",[576,1145,733],{"class":663},[576,1147,1148,1150,1152,1154,1157],{"class":578,"line":596},[576,1149,676],{"class":675},[576,1151,679],{"class":663},[576,1153,682],{"class":663},[576,1155,1156],{"class":586},"collaborative-board",[576,1158,687],{"class":663},[576,1160,1161,1163,1165,1167,1170],{"class":578,"line":608},[576,1162,787],{"class":675},[576,1164,679],{"class":663},[576,1166,682],{"class":663},[576,1168,1169],{"class":586},"Collaborative Board",[576,1171,687],{"class":663},[576,1173,1174,1177,1179,1181,1184],{"class":578,"line":704},[576,1175,1176],{"class":675},"version ",[576,1178,679],{"class":663},[576,1180,682],{"class":663},[576,1182,1183],{"class":586},"0.1.0",[576,1185,687],{"class":663},[576,1187,1188,1191,1193,1195,1198],{"class":578,"line":718},[576,1189,1190],{"class":675},"minimum_runtime_version ",[576,1192,679],{"class":663},[576,1194,682],{"class":663},[576,1196,1197],{"class":586},"1.0.0",[576,1199,687],{"class":663},[576,1201,1202,1205,1207,1209,1212],{"class":578,"line":736},[576,1203,1204],{"class":675},"default_view ",[576,1206,679],{"class":663},[576,1208,682],{"class":663},[576,1210,1211],{"class":586},"board",[576,1213,687],{"class":663},[576,1215,1216],{"class":578,"line":751},[576,1217,755],{"emptyLinePlaceholder":754},[576,1219,1220,1222,1224],{"class":578,"line":758},[576,1221,664],{"class":663},[576,1223,667],{"class":582},[576,1225,670],{"class":663},[576,1227,1228,1230,1232,1234,1236],{"class":578,"line":773},[576,1229,676],{"class":675},[576,1231,679],{"class":663},[576,1233,682],{"class":663},[576,1235,646],{"class":586},[576,1237,687],{"class":663},[576,1239,1240,1242,1244,1246,1248],{"class":578,"line":784},[576,1241,692],{"class":675},[576,1243,679],{"class":663},[576,1245,682],{"class":663},[576,1247,699],{"class":586},[576,1249,687],{"class":663},[576,1251,1252,1254,1256,1258,1260],{"class":578,"line":799},[576,1253,707],{"class":675},[576,1255,679],{"class":663},[576,1257,682],{"class":663},[576,1259,699],{"class":586},[576,1261,687],{"class":663},[576,1263,1264],{"class":578,"line":814},[576,1265,755],{"emptyLinePlaceholder":754},[576,1267,1268,1270,1273],{"class":578,"line":829},[576,1269,664],{"class":663},[576,1271,1272],{"class":582},"pipelines",[576,1274,670],{"class":663},[576,1276,1277,1279,1281,1283,1285],{"class":578,"line":844},[576,1278,787],{"class":675},[576,1280,679],{"class":663},[576,1282,682],{"class":663},[576,1284,1067],{"class":586},[576,1286,687],{"class":663},[576,1288,1289,1292,1294,1296,1299],{"class":578,"line":849},[576,1290,1291],{"class":675},"source ",[576,1293,679],{"class":663},[576,1295,682],{"class":663},[576,1297,1298],{"class":586},"pipelines\u002Fboard-list.toml",[576,1300,687],{"class":663},[576,1302,1303],{"class":578,"line":862},[576,1304,755],{"emptyLinePlaceholder":754},[576,1306,1307,1309,1312],{"class":578,"line":872},[576,1308,664],{"class":663},[576,1310,1311],{"class":582},"views",[576,1313,670],{"class":663},[576,1315,1316,1318,1320,1322,1324],{"class":578,"line":886},[576,1317,676],{"class":675},[576,1319,679],{"class":663},[576,1321,682],{"class":663},[576,1323,1211],{"class":586},[576,1325,687],{"class":663},[576,1327,1328,1330,1332,1334,1336],{"class":578,"line":900},[576,1329,787],{"class":675},[576,1331,679],{"class":663},[576,1333,682],{"class":663},[576,1335,473],{"class":586},[576,1337,687],{"class":663},[576,1339,1340,1343,1345,1347,1349],{"class":578,"line":913},[576,1341,1342],{"class":675},"initial_page ",[576,1344,679],{"class":663},[576,1346,682],{"class":663},[576,1348,1211],{"class":586},[576,1350,687],{"class":663},[400,1352,1353,1356,1357,1360],{},[471,1354,1355],{},"rac app build apps\u002Fcollaborative-board\u002Fapp.toml"," resolves every pipeline,\ncomputes the publisher-independent canonical package hash, and writes\ndeterministic CBOR and JSON candidates under the fixture's ignored\n",[471,1358,1359],{},"build\u002F"," directory. The local candidate is deliberately unsigned. Managed\npublication binds the exact authored source and normalized manifest to that\ndigest, rejects unknown field tags, verifies the separate publisher\nattestation, stores the immutable release, and returns a signed verification\nreceipt.",[404,1362,1364],{"id":1363},"_4-describe-the-board-surface","4. Describe the board surface",[400,1366,1367],{},"Surface declarations live in the same accepted manifest:",[567,1369,1371],{"className":654,"code":1370,"language":656,"meta":572,"style":572},"[[views.pages]]\nid = \"board\"\nroute = \"\u002F\"\ntitle = \"Collaborative Board\"\n\n[views.pages.root]\nid = \"board-shell\"\ntype = \"stack\"\n\n[[views.pages.root.children]]\nid = \"board-columns\"\ntype = \"board\"\n",[471,1372,1373,1386,1398,1412,1425,1429,1446,1459,1473,1477,1498,1511],{"__ignoreMap":572},[576,1374,1375,1377,1379,1381,1384],{"class":578,"line":579},[576,1376,664],{"class":663},[576,1378,1311],{"class":582},[576,1380,765],{"class":675},[576,1382,1383],{"class":582},"pages",[576,1385,670],{"class":663},[576,1387,1388,1390,1392,1394,1396],{"class":578,"line":596},[576,1389,676],{"class":675},[576,1391,679],{"class":663},[576,1393,682],{"class":663},[576,1395,1211],{"class":586},[576,1397,687],{"class":663},[576,1399,1400,1403,1405,1407,1410],{"class":578,"line":608},[576,1401,1402],{"class":675},"route ",[576,1404,679],{"class":663},[576,1406,682],{"class":663},[576,1408,1409],{"class":586},"\u002F",[576,1411,687],{"class":663},[576,1413,1414,1417,1419,1421,1423],{"class":578,"line":704},[576,1415,1416],{"class":675},"title ",[576,1418,679],{"class":663},[576,1420,682],{"class":663},[576,1422,1169],{"class":586},[576,1424,687],{"class":663},[576,1426,1427],{"class":578,"line":718},[576,1428,755],{"emptyLinePlaceholder":754},[576,1430,1431,1433,1435,1437,1439,1441,1444],{"class":578,"line":736},[576,1432,1140],{"class":663},[576,1434,1311],{"class":582},[576,1436,765],{"class":675},[576,1438,1383],{"class":582},[576,1440,765],{"class":675},[576,1442,1443],{"class":582},"root",[576,1445,733],{"class":663},[576,1447,1448,1450,1452,1454,1457],{"class":578,"line":751},[576,1449,676],{"class":675},[576,1451,679],{"class":663},[576,1453,682],{"class":663},[576,1455,1456],{"class":586},"board-shell",[576,1458,687],{"class":663},[576,1460,1461,1464,1466,1468,1471],{"class":578,"line":758},[576,1462,1463],{"class":675},"type ",[576,1465,679],{"class":663},[576,1467,682],{"class":663},[576,1469,1470],{"class":586},"stack",[576,1472,687],{"class":663},[576,1474,1475],{"class":578,"line":773},[576,1476,755],{"emptyLinePlaceholder":754},[576,1478,1479,1481,1483,1485,1487,1489,1491,1493,1496],{"class":578,"line":784},[576,1480,664],{"class":663},[576,1482,1311],{"class":582},[576,1484,765],{"class":675},[576,1486,1383],{"class":582},[576,1488,765],{"class":675},[576,1490,1443],{"class":582},[576,1492,765],{"class":675},[576,1494,1495],{"class":582},"children",[576,1497,670],{"class":663},[576,1499,1500,1502,1504,1506,1509],{"class":578,"line":799},[576,1501,676],{"class":675},[576,1503,679],{"class":663},[576,1505,682],{"class":663},[576,1507,1508],{"class":586},"board-columns",[576,1510,687],{"class":663},[576,1512,1513,1515,1517,1519,1521],{"class":578,"line":814},[576,1514,1463],{"class":675},[576,1516,679],{"class":663},[576,1518,682],{"class":663},[576,1520,1211],{"class":586},[576,1522,687],{"class":663},[400,1524,1525],{},"The component and action names come from an allowlisted registry. The shared\nvalidator checks v1 route, component, action-target, binding-shape, execution\nsite, capability, and schema-descriptor rules. The current adapter derives safe\ncreate, edit, move, label, and comment operations from signed entity\nschema descriptors; arbitrary schema-descriptor-generated live subscriptions remain planned.",[404,1527,1529],{"id":1528},"_5-execute-on-web-and-mobile","5. Execute on web and mobile",[400,1531,1532],{},"The canonical Vue application already builds into the Capacitor Android and iOS\nshells. The local fixture and remote installed-package source run through that\nshared Vue code. Remote loading resolves the authenticated tenant installation,\nverifies the immutable receipt and signed mutable installation projection,\nchecks the authenticated response sequence, requires an active installation,\nand then projects the release:",[567,1534,1539],{"className":1535,"code":1537,"language":1538,"meta":572},[1536],"language-text","AppRelease\n  -> verify hashes and signature\n  -> register schema descriptors and components\n  -> resolve installed capabilities\n  -> build routes and surfaces\n  -> open query\u002Fsubscription bindings\n  -> render with the shared Vue host\n","text",[471,1540,1537],{"__ignoreMap":572},[400,1542,1543],{},"Native actions such as notifications, camera input, file selection, or location\nwill use separately declared host capabilities. Arbitrary schema-descriptor-generated\nsubscriptions and native effect adapters are still planned.",[404,1545,1547],{"id":1546},"_6-work-offline-and-converge","6. Work offline and converge",[400,1549,1550],{},"The portable Rust\u002FWASM runtime binds state to the installation, tenant, user,\nand an installation-qualified device site. It persists one bounded canonical\nCBOR envelope containing HLC state, entity cache, causal context, queue\nsequence, retry metadata, acknowledgements, dead letters, and verified package\ntrust state through Capacitor Preferences. Mutations reload the latest durable\nsnapshot under a cross-tab lock, and reconnect\u002Fresume hooks replay the ordered\nqueue through the installation-bound CBOR entity endpoint.",[400,1552,1553],{},"An offline move follows this path:",[409,1555,1556,1562,1565,1568,1571,1574,1577],{},[412,1557,1558,1559,1561],{},"Validate the proposed ",[471,1560,480],{}," change against the pinned Rust schema descriptor.",[412,1563,1564],{},"Create a typed operation with an id, site id, and HLC stamp.",[412,1566,1567],{},"Persist the operation before exposing the queued result.",[412,1569,1570],{},"Replay after reconnect in deterministic order.",[412,1572,1573],{},"Record an applied, duplicate, retry, or permanent-rejection disposition.",[412,1575,1576],{},"Merge accepted operations and any concurrent remote operations using the\nfield's declared policy.",[412,1578,1579],{},"Refresh the rendered board through the same query\u002Fsubscription interface.",[400,1581,1582],{},"Authentication and dataset grants remain server-authoritative. Optimistic\nstate can be rejected, in which case the client records the error and\nre-materializes from acknowledged operations.",[404,1584,1586],{"id":1585},"_7-share-upgrade-and-fork","7. Share, upgrade, and fork",[1061,1588,1589,1600,1606,1612,1618],{},[412,1590,1591,1595,1596,1599],{},[1592,1593,1594],"strong",{},"Share the application:"," grant a principal access to the private catalog\nentry; the grantee sees it under ",[1592,1597,1598],{},"Shared with me"," and can install the pinned\nrelease into an authorized workspace.",[412,1601,1602,1605],{},[1592,1603,1604],{},"Share board data:"," create a separate dataset grant, potentially read-only.",[412,1607,1608,1611],{},[1592,1609,1610],{},"Upgrade:"," inspect changes to schemas, pipelines, surfaces, dependencies,\nmigrations, and capabilities, then move the installation pin.",[412,1613,1614,1617],{},[1592,1615,1616],{},"Rollback:"," return to a compatible prior release while preserving the\nappend-only operation history.",[412,1619,1620,1623],{},[1592,1621,1622],{},"Fork:"," create a new app identity and release lineage. Source data stays in\nplace unless the user explicitly copies or grants it.",[404,1625,1627],{"id":1626},"preview-verification-checklist","Preview verification checklist",[400,1629,1630],{},"The developer-preview implementation exposes each lifecycle boundary for\ntargeted verification. A deployment or device-conformance result should be\nclaimed only after its corresponding check has run:",[1061,1632,1633,1636,1639,1642,1645,1648],{},[412,1634,1635],{},"publish and install a signed release, then load it without a hard-coded app\nroute;",[412,1637,1638],{},"render the same installed surface through the shared web and Capacitor host;",[412,1640,1641],{},"inspect every exact schema, pipeline, artifact, surface, and dependency pin;",[412,1643,1644],{},"replay concurrent offline edits from installation-qualified sites and inspect\nthe converged materialization;",[412,1646,1647],{},"reject an undeclared capability, inactive installation, and tampered bundle;",[412,1649,1650],{},"inspect an upgrade diff, preserve pending operations across the rebind, and\nexercise rollback.",[400,1652,1653,1654,1657,1658,765],{},"Continue with ",[1113,1655,1656],{"href":284},"release and security lifecycle","\nor return to the ",[1113,1659,1660],{"href":262},"Pipeline Apps mental model",[1662,1663,1664],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":572,"searchDepth":596,"depth":596,"links":1666},[1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677],{"id":406,"depth":596,"text":407},{"id":438,"depth":596,"text":439},{"id":561,"depth":596,"text":562},{"id":639,"depth":596,"text":640},{"id":1055,"depth":596,"text":1056},{"id":1123,"depth":596,"text":1124},{"id":1363,"depth":596,"text":1364},{"id":1528,"depth":596,"text":1529},{"id":1546,"depth":596,"text":1547},{"id":1585,"depth":596,"text":1586},{"id":1626,"depth":596,"text":1627},"A developer-preview portable pipeline app spanning release distribution, rendering, durable replay, and causal entity merge.","md","2026-08-14",null,"preview",{"toc":754,"visibility":251},{"title":279,"description":1678},"9fG6nCMwNZPm1n1Ri7FOu0EvLwffos_ZOHZFYu-TBvc",[1687,1689],{"title":276,"path":262,"stem":277,"description":1688,"children":-1},"Portable application contracts, strict TOML compilation, and a shared declarative host built on the pipeline backend.",{"title":283,"path":284,"stem":285,"description":1690,"children":-1},"How portable pipeline apps are hashed, signed, validated, installed, permissioned, upgraded, shared, forked, and revoked.",1789873213247]