Memeroot · canonical model layer
XML blocks become apps through spine + model + ledger
The source XML files remain immutable, addressable blocks. The app is the <app-spine> header that binds blocks by address, role and view. The canonical model explains what each block means, what fields are required, what actions are legal, and how the UI should render a fallback if no specialised reader exists.
runtime contract
source XML block /source/... canonical model /models/*.xml app header/spine /spines/*.xml installed runtime /apps/*/index.html ledger declared → fetched → SHA → parsed → model → reader → rendered → bundled
model definitions
example binding
<block id="page-example" role="content" model="content-page.v1" root="page"
src="/source/memeroot-page-build/examples/page-example.xml"
sha256="..."/>