Repository navigation
Conversation
📊 cpp-sdk doc-test reportThe real accounts module, run through a logoscore daemon with the whole stack built against this commit of the C++ SDK — rendered alongside the commands actually run and their output (updated each run, commit Pages can take a minute to update after the run finishes. |
…ss hosts A native module built against logos-protocol 0.13 now exports the optional logos_module_set_runtime_delegate, which installs the runtime delegate a host passes before initialization. From then on the image's client calls run in the host's runtime as the identity the host admitted; a module without the export is only ever hosted in a subprocess. It is not declared in logos_module_impl.h, so backends without it stay green in the module-impl ABI check, and its guard is MAJOR-aware like the others so unifdef resolves it. Relocks logos-protocol onto 0.13 (logos-co/logos-protocol#97) so the tests and the ABI check see it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dlipicar
force-pushed
the
feat/runtime-delegate-export
branch
from
October 3, 2026 12:46
4e5f8c8 to
cb91ad8
Compare
dlipicar
added a commit
to logos-co/logos-rust-sdk
that referenced
this pull request
Oct 3, 2026
…0.13 A provider scaffold generated for logos-protocol 0.13 or later now defines the optional logos_module_set_runtime_delegate, which installs the runtime delegate an in-process host passes before initialization, so the module's client calls run in the host's runtime as the identity it was admitted as. The C++ backend emits the same export (logos-co/logos-cpp-sdk#168). The lp_runtime_install_delegate binding is declared inside the gated block, as accept_inbound_token's is, so nothing references it below 0.13. At the current pin the scaffold is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The cdylib backend emits the optional
logos_module_set_runtime_delegateexport that protocol 0.13's in-process hosting uses, and the repo relocks onto that protocol.Why
A runtime host (liblogos, in a later PR) loads trusted native modules in its own process. Before initialization it hands the module image a runtime delegate (
logos_runtime_delegate.h, logos-co/logos-protocol#97). From then on the image'slp_client_*/lp_invoke*/lp_subscribecalls run in the host's runtime as the identity the host admitted. The export is how the host passes it:Details
logos_module_impl.h. Backends without it (rust-sdk until its own PR, older modules) stay green in the module-impl ABI check and are hosted in a subprocess only.MAJOR > 0 || MINOR >= 13), like the other guards, so the ABI check'sunifdefresolves it. A feature-macro or_WIN32guard would leave a conditional it can't resolve and fail the check.feat/plain-local-inproc(b7518ba, protocol 0.13, stacked on the qt_remote_plain chain in feat: add Qt-free qt_remote_plain transport logos-protocol#96). The flake input goes back to master when those merge.Tests
nix build .#tests: 385/385 on macOS, including the newLidlGenCdylib.TheRuntimeDelegateExportIsGuardedOnProtocol013.checks.aarch64-darwin.module-impl-abi: 12 declared, 13 defined at MINOR=13 in all four configurations; the extra is this export.🤖 Generated with Claude Code