Layered, then sealed Four plates stacked on one resource: declared by the owner, contributed by alters, narrowed by refinement, and access for this account; the sealed data surface on top; the form, HTTP and OpenAPI, and the tool read it, and the React page, MCP and ECA walk through them.
One resource
id
plugin
theme
region
settings
Declared: the owner
module_b.key_d
module_b.key_e
Contributed: alters at their mounts
key_d: fewer
max 100
theme's regions
Narrowed: static stated, live marked
key_e: locked
a key left out
Access: for this account
the data surface
Sealed: the data surface
After the seal it is only read, and nothing widens.
Made before the seal,
each contribution under
its own module's name.
Every door reads the top
Form
HTTP and OpenAPI
React page
Tool
MCP
ECA
Indented: through the door above.
Layered, then sealed The doors read the sealed data surface on top; below it, access for this account, narrowed by refinement, contributed by alters and declared by the owner, on one resource. Every door reads the top
Through the tool: MCP and ECA. Through HTTP: the
React page.
Form
HTTP and OpenAPI
Tool
the data surface
Sealed: the data surface
After the seal it is only read, and nothing
widens.
Access: for this account
key_e: locked
a key left out
Narrowed: static stated, live marked
key_d: fewer
max 100
theme's regions
Contributed: alters at their mounts
module_b.key_d
module_b.key_e
Declared: the owner
id
plugin
theme
region
settings
One resource
Each layer is made before the seal, every
contribution under its own module's name.
The owner declares its keys and rules; other modules contribute at their own mounts and may narrow the owner's keys but never widen them; refinement narrows , stating static answers and marking live ones; and access locks keys or leaves them out for the account. The build seals the result, and every door reads that one sealed data surface and nothing else. They agree because every contribution is made under its own name before the seal, and after the seal nothing widens.
Read more Surface API , The pattern , Refinement and contributions . Decisions An alter attaches at its own mount , Static by default, runtime by declaration , Access is static or runtime, read from its cacheability .