Documentation / Engine architecture
Engine architecture
Separate libraries, real compilation boundaries, and a front end that owns nothing.
Layers
| Library | Responsibility |
|---|---|
xbase | Table runtime, work-area objects, records, cursor state, field metadata, table flavors |
xindex | Index containers, tag and order behavior, backend index work |
memo | Memo references, managers, objects, stores, verification |
xexpr | Expression evaluation |
value | The shell's value system |
tui | Full-screen text interface |
These are not conceptual layers. Each is a separate link target, and the boundaries between them are checkable in a single build log. Source-evidenced
The execution chain
main → shell → command registry → one translation unit per command → libraries
The front end owns nothing
Ordering, cursor state, relations, validation, and command execution live in the engine and the shell. Terminal, text-mode, and desktop surfaces are consumers of that truth, never duplicators of it. A front end can be added or removed without the database behaving differently. Source-evidenced
The working rule
Conventions suggest. Registration declares. Metadata records. Runtime proves. Validators enforce.