mirror of
https://github.com/logos-co/logos-basecamp.git
synced 2026-08-27 06:41:14 +00:00
The app and every in-process plugin now take TokenManager, StoreRegistry, LogosAPI and LogosAPIClient from the shared libraries that own them (liblogos_protocol, liblogos_qt_host) instead of each linking a static copy. A second copy is a second TokenManager: the host writes a capability token into one store, another image reads an empty one, and every cross-module call is refused at runtime with no build diagnostic. The static archives are emptied on every platform, so the shared library is the only provider and the LOGOS_SHARED_USE_DLL shim is gone. nix/symbol-gate.nix enforces the invariant -- across the images sharing one process, each runtime type is defined by EXACTLY ONE -- with a negative control that plants a real duplicate and asserts the gate rejects it. Two measurement traps it had to survive: nm reads zero symbols from nix's shell wrappers and must be pointed at the real binary, and `find` without -L skips a symlinked plugin entirely, so the gate silently measured nothing.
14 MiB
14 MiB
The file is too large to be shown.
View Raw