mirror of
https://github.com/logos-co/logos-liblogos.git
synced 2026-08-27 12:51:10 +00:00
fix(doctests): unpin logoscore-cli, and retire the archived accounts module
The macOS doc-test job has been red since 2026-08-21: every module call came
back {"__logos_rpc_status__":"unauthorized"}, preceded in the daemon log by
capability_module rejecting the CLI's own requestModule handshake. Linux was
green throughout.
NOT MODULE ROT. A freshly-built test_basic_module failed identically to
accounts_module. Bisected on one macOS box, one variable, same CLI, same module:
liblogos 3893c833 (parent) -> "result":42
liblogos b2a9a0ba (#182) -> unauthorized
MECHANISM, from `nm -mu` on the logoscore binary:
pre-#182: TokenManager::instance() (from liblogos_core)
at-#182: TokenManager::instance() (from liblogos_module_client)
#182 made liblogos_core export ZERO TokenManager symbols -- they moved to
liblogos_protocol. macOS two-level namespace then rebound the CLI's imports to
the next image still statically absorbing a copy, so the CLI wrote its token
into one singleton while the runtime authorized against another. ELF cannot
show this: flat namespace collapses every definition onto the first-loaded
image, so Linux held the invariant by accident.
THE PIN IS THE BUG, not the linkage. The shared-runtime split landed as one pin
SET -- logos-protocol 2e3344a, logos-plugin-qt 1aa3e31, logos-liblogos b2a9a0b
(#182), logoscore-cli 2312a3a. This spec pinned the CLI at b92ade06
(2026-06-10) and overrode only logos-liblogos, manufacturing exactly the
half-migrated pairing the set exists to prevent. That pin's own commit (050f2d3)
called it "Temporary -- drop when the chain PRs merge"; nobody did. Dropping the
rev is the fix. logoscore master had already shed the deprecated
logos-module-client in its #48, so nothing there needs changing.
WHY THIS READ AS ONE FLAKY STEP rather than a total auth outage: "Call a method"
asserted on the bare string '"result"', which the unauthorized envelope also
contains. Both calls now assert values -- '"result":"hello"' and '"result":42'.
ALSO RETIRED: logos-accounts-module was archived on 2026-07-22. Both specs now
drive test_basic_module from logos-test-modules, via the
`#modules.$SYSTEM.<name>.lgx` attribute path the logoscore-cli doc-tests already
use. The module-runtime spec no longer clones a repo at all, so it loses its git
prerequisite and one step.
VERIFIED on aarch64-darwin against 959d11d9 -- the exact commit CI failed on:
34 passed, 0 failed (was 34 passed, 1 failed of 35), and zero "rejecting
unauthorized call" lines in the daemon log.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
committed by
Dario Lipicar
co-authored by
Claude Opus 5
parent
2ac002b410
commit
f05ed5a899
@@ -3,11 +3,11 @@ name: liblogos Doc-Tests
|
||||
# Runs the executable liblogos doc-tests end-to-end via the shared doctest CLI,
|
||||
# both pinned to the commit of logos-liblogos under test (via --release-for):
|
||||
# - doctests/liblogos-module-runtime.test.yaml — drives liblogos through the
|
||||
# logoscore CLI frontend (build logoscore against this commit, install the
|
||||
# accounts module, start the daemon, load + call methods).
|
||||
# logoscore CLI frontend (build logoscore against this commit, install
|
||||
# test_basic_module, start the daemon, load + call methods).
|
||||
# - doctests/liblogos-as-a-library.test.yaml — embeds liblogos directly:
|
||||
# builds liblogos_core from this commit, compiles a C++ program that links
|
||||
# it, installs modules with lgpm, and loads the accounts module via the C API.
|
||||
# it, installs modules with lgpm, and loads test_basic_module via the C API.
|
||||
# Both specs run in one invocation, producing a single combined report.
|
||||
#
|
||||
# ──────────────────────────────────────────────────────────────────────────────
|
||||
@@ -230,7 +230,7 @@ jobs:
|
||||
const body =
|
||||
`${marker}\n` +
|
||||
`### 📊 liblogos doc-test report\n\n` +
|
||||
`The real accounts module, run through a logoscore daemon built against ` +
|
||||
`A real module, run through a logoscore daemon built against ` +
|
||||
`this commit of liblogos — rendered alongside the commands actually run ` +
|
||||
`and their output (updated each run, commit \`${context.sha.slice(0,7)}\`):\n\n` +
|
||||
`${links}\n\n` +
|
||||
|
||||
Reference in New Issue
Block a user