Files
logos-liblogos/.github
Dario LipicarandClaude Opus 5 2f4162a97f chore: pin logos-protocol 0f26ffd, and move CI off Nix 2.22 (#174)
liblogos pinned logos-protocol at 3a31c91 (Jul 31). Bring the root pin to
master, 0f26ffd (Aug 6) — the span is exactly two commits, protocol #40
(lp_invoke_async can report a failure) and #41 (report failures that happen
after acquire, without moving the ABI).

Why per-repo pins rather than `follows` overrides: logos-protocol is
statically linked (`nix path-info -r` on the tests output shows zero
protocol store paths), and liblogos_core.dylib alone carries 299 weak
external definitions. On macOS, when two images built against different
protocol revisions land in one process, dyld coalesces those weak
definitions and one image's protocol code silently binds to the other's —
across a real ABI change, since #41 moved
PlainLogosObject::awaitCompletion from (QString const&, int) to
(QString const&, int, QString const&, logos::CallError*). Every repo in
the chain pinning the same protocol is what makes that a non-issue; no
override is needed anywhere.

The CI installer bump is hygiene bundled in, not a requirement for the
pin: cachix/install-nix-action@v27 installs Nix 2.22.1, which mis-handles
several flake locking features. @v31 installs 2.35.1, matching what
logos-standalone-app's CI already uses (and its inline comment already
explains why v27 was not good enough there either).

Verified on aarch64-darwin: `.#logos-liblogos-tests` builds and
logos_core_tests reports 181 run / 176 passed / 5 skipped — byte-identical
to the pre-bump baseline at f63cda3, and the 5 skips are the pre-existing
"set TEST_PLUGIN" environment skips. A from-scratch re-lock (flake.lock
deleted) succeeds and lands back on 0f26ffd under Nix 2.22.1, 2.32.4 and
2.35.1, and all three evaluate the tests package to the same derivation.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 11:46:09 -03:00
..