/**
* @mainpage Relational NT
*
* @image html logo.png
*
* Relational NT is an experimental database kernel inspired by the
* object-management model of the Windows NT kernel. The project applies the
* same style of explicit object management to database state: relations,
* tuples, transactions, namespaces, permissions, cursors, and handles are
* treated as runtime-managed objects rather than isolated subsystems.
*
* The current codebase is intentionally early-stage. Most classes define the
* boundaries of the runtime and document the design constraints that should
* guide future implementation.
*
* @section architecture Architecture Direction
*
* - ObjectManager registers, locates, and references database objects.
* - PermissionsManager keeps security checks separate from object lookup.
* - IdentityManager decides whether an object supports lifecycle operations
* such as open and close.
* - LifecycleManager models monitoring, pinning, cleanup, and contention.
* - HandlerManager represents authorized access through explicit handles.
* - CursorManager bridges durable snapshots and pull-based query execution.
* - VM separates terminating relational retrieval from higher-order logic
* execution.
*
* @section design Design Notes
*
* The following documents record architectural decisions and comparisons with
* the ReactOS NT kernel, which this project draws from:
*
* - **docs/reactos-ob-comparison.md** — Object manager comparison: dual
* reference counting, type callbacks, hash directory, per-handle access
* masks, capability security, branch HEAD contention, and the namespace
* reparse layer.
*
* - **docs/nt-architecture-mapping.md** — Holistic mapping of the full NT
* kernel to a database kernel: wire protocols as environment subsystems,
* the I/O driver stack as the query operator pipeline, drivers as storage
* backends, MM as the buffer pool, CC as the WAL flusher, PS as the
* session manager, SE as the authorization engine, and LPC as the wire
* protocol connection layer.
*
* @section building Building
*
* From a Visual Studio/NMake environment:
*
* @code{.sh}
* nmake /f Makefile windows
* @endcode
*
* From a Unix-like environment with Make and a C++17 compiler:
*
* @code{.sh}
* make unix
* @endcode
*
* @section docs Generating Documentation
*
* Install Doxygen and run:
*
* @code{.sh}
* doxygen Doxyfile
* @endcode
*
* The generated HTML documentation is written to docs/generated/html.
*/
/**
* @namespace nt
* @brief Contains the Relational NT runtime managers and API facade.
*/