Wire comparator CLI, marionette threading model, and final load order.

Initialize SmoThreadingModelDesc from marionette before body startup, load
comparator libs before stimbuff via -c/--comparator-lib, and drop the hardcoded
libcomparatorCore.so load path.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-10 21:17:52 -04:00
parent 560e5364a0
commit 8836ab470b
10 changed files with 88 additions and 29 deletions
@@ -39,6 +39,8 @@ public:
void unloadAllComparatorLibs(void);
void loadAllComparatorApiLibsFromOptions(void);
std::optional<std::shared_ptr<ComparatorLib>> getComparatorLib(
const std::string& libraryPath);
+7
View File
@@ -11,6 +11,7 @@
#include <spinscale/component.h>
#include <spinscale/co/nonViralTaskNursery.h>
#include <marionette/marionetteThread.h>
#include <user/smoHooks.h>
namespace sscl {
@@ -66,6 +67,12 @@ private:
extern std::shared_ptr<sscl::PuppeteerThread> thread;
extern MarionetteComponent mrntt;
extern stim_buff::SmoThreadingModelDesc smoThreadingModelDesc;
void initializeSmoThreadingModelDesc(
const std::shared_ptr<sscl::ComponentThread>& componentThread);
const stim_buff::SmoThreadingModelDesc& getSmoThreadingModelDesc();
void marionetteInitializeReqCb(bool success);
void marionetteFinalizeReqCb(bool success);
+1
View File
@@ -41,6 +41,7 @@ public:
std::string argv0;
std::vector<std::string> senseApiLibPath;
std::vector<std::string> senseApiLibs;
std::vector<std::string> comparatorLibs;
std::string dapSpecs;
std::vector<std::string> dapSpecFiles;
bool verbose, printUsage, traceCallables;
@@ -35,9 +35,7 @@ public:
void finalize(void)
{};
StimBuffApiLib& loadStimBuffApiLib(
const std::string& libraryPath,
const std::shared_ptr<sscl::ComponentThread>& componentThread);
StimBuffApiLib& loadStimBuffApiLib(const std::string& libraryPath);
std::optional<std::shared_ptr<StimBuffApiLib>> findStimBuffApiLibByLibraryPath(
const std::string& libraryPath);
@@ -46,8 +44,7 @@ public:
StimBuffApiLib &getStimBuffApiLibByApiName(const std::string& apiName);
void unloadStimBuffApiLib(const std::string& libraryPath);
void loadAllStimBuffApiLibsFromOptions(
const std::shared_ptr<sscl::ComponentThread>& componentThread);
void loadAllStimBuffApiLibsFromOptions(void);
void unloadAllStimBuffApiLibs(void);
body::BodyViralPostingInvoker<void> initializeStimBuffApiLibCReq(