docs: update AI and redesign integration notes
All checks were successful
Source release / source-package (push) Successful in 1m2s

This commit is contained in:
OpenAI
2026-06-05 16:03:54 +00:00
committed by Mario Fetka
parent 8420f90e67
commit 4c19b28dfd
2 changed files with 159 additions and 0 deletions

View File

@@ -1557,6 +1557,63 @@ mars-tinyldap/
later wired to libdirectory/libflaim instead of tinyldap's original flat files
```
### Current superbuild integration status
The current implementation work has moved several items from planning into an
initial mars-nwe superbuild shape. Keep this status separate from the older
endpoint-audit patch-number notes: these are functional/build integration facts,
not a promise that every compatibility layer is complete.
Current source layout decisions:
- `third_party/yyjson` and `third_party/zlog` remain external upstream snapshots
pinned by release tag in `update-submodules.sh`.
- `third_party/yyjson` is being compiled into `libnwcore`; consumers should use
the `nwcore` include namespace and link the core target instead of exposing a
standalone yyjson API as a mars-nwe public dependency.
- `third_party/libsodium/libsodium` remains a nested external upstream snapshot
pinned to `1.0.20-FINAL` inside the mars-libsodium wrapper submodule.
- `third_party/matrixssl` is now the mars-maintained MatrixSSL fork producing
the renamed backend library `libnwmatrixssl`. It should not contain the
temporary OpenSSL-compat shim.
- `libnwssl` in the mars-nwe root owns the SSL/crypto facade plus FLAIM
compatibility headers. Its compatibility header layout should stay under the
`nwssl` include subtree, for example `include/nwssl/openssl/*.h` and
`include/nwssl/private/nici/...`.
- `third_party/flaim` is the current FLAIM import path used by the working tree.
It provides renamed mars-nwe libraries and tools; future prose may still refer
to `libflaim` as the logical storage engine, but the concrete submodule path
is `third_party/flaim` unless the user explicitly renames it.
- `third_party/flaim` is currently gated by `ENABLE_DIRECTORY`. The normal build
should not configure or build FLAIM when the directory service is disabled.
Current FLAIM CMake import decisions:
- Build `libnwflaimtk`, `libnwflaim`, `libnwflaimsql`, and `libnwxflaim` with
mars-nwe names so they do not collide with any system FLAIM installation.
- Build and install the FLAIM/XFLAIM utilities with `nw`-prefixed executable
names such as `nwflmcheckdb` and `nwxflmcheckdb` when tools are enabled.
- Use the ABI-facing version values from the public headers when they disagree
with `configure.ac`: `libnwflaimtk.so.1.2`, `libnwflaim.so.4.62`,
`libnwflaimsql.so.6.00`, and `libnwxflaim.so.5.12`.
- Install all FLAIM public headers under one namespace directory,
`include/nwflaim/`, including `xflaim.h`. Do not install a separate
`include/nwxflaim/` tree.
- Keep CMake messages explicit about curses/ncurses detection so it is obvious
whether curses-backed FLAIM tools will be built.
- Continue to prefer build glue and include-path fixes over invasive FLAIM source
edits. Small modern-compiler fixes are acceptable when necessary to compile,
but keep them as small, reviewable patches.
Current local dependency-test policy:
- GDBM and ncurses may be built locally from the uploaded release tarballs for
verification and passed to CMake through an isolated prefix.
- PAM may use headers from the uploaded Linux-PAM tarball for compilation checks,
but mars-nwe should link to the system PAM library rather than vendoring PAM.
- These local builds are test dependencies, not new third-party submodules.
### libowfat dependency rule
`libowfat` should be a hard bundled dependency, initially for the