2. Codebase Architecture
High-level layout
include/dtl/: primary public C++ API and implementation headerssrc/: compiled components, including C ABI implementation unitsbindings/python/: pybind11 extension and high-level Python wrapperbindings/fortran/: ISO C binding module and testsruntime/: runtime registry and shared runtime support librarytests/: C++ and integration testsdocs/: user docs, specs, ADRs, API references
Layers
Core types, status/result, policy model
Containers/views/algorithms
Communication and remote/RMA paths
Bindings and language adapters
Tooling/docs/release surfaces
Change impact map
When changing a core contract, check all of:
C++ public headers in
include/dtl/C ABI mirrors in
include/dtl/bindings/c/andsrc/bindings/c/Python wrappers in
bindings/python/src/dtl/Fortran signatures in
bindings/fortran/dtl.f90runtime and handle lifecycle behavior in
runtime/and binding wrappersrelease notes
Compatibility expectations
Keep C++ API behavior stable unless explicitly versioned
Keep C ABI status-code behavior deterministic
Preserve Python and Fortran semantic parity where feasible
Document any intentional incompatibilities before merge
Runtime/handle references
Runtime and handle development standards:
docs/developer_guide/12-runtime-and-handle-development.md