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="..."/>