Story: Hotfix: default wire codec flip to msgpack breaks ores.qt.headless.tests

Table of Contents

This page documents a story in Sprint 24. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Restore a green CI. Continuous Linux/MacOS/Windows and Nightly Build have all been red on main, from two separate, unrelated regressions found by checking each platform's failure logs individually:

  1. Linux: PR #1793 (commit b34181e6a, "flip the default to msgpack") broke ores.qt.headless.tests – 41 of its parse_trade_instrument_dispatches_*=/=returns_nullopt_for_* cases fail, because instrument_parse_dispatch_tests.cpp builds its fixtures with rfl::json::write() while parse_trade_instrument() always decodes via the process-wide default_wire_codec(), which that commit flipped from JSON to MessagePack.
  2. macOS and Windows: the systemd sd_notify work (merged as part of PR #1793/#1802) added ores.service/src/service/systemd_notify.cpp with an unconditional #include <sys/socket.h>=/=<sys/un.h> and sockaddr_un usage – these headers/types don't exist on macOS/Windows, so the whole build fails to compile on those platforms before a single test can run.

Status

Field Value
State DONE
Parent sprint Sprint 24
Now Merged as PR #1807; CI green across Linux/macOS/Windows Continuous and Nightly.
Waiting on Nothing.
Next Nothing.
Last touched 2026-08-03

Acceptance

  • ores.qt.headless.tests passes locally (all 41 cases in instrument_parse_dispatch_tests.cpp).
  • ores.service (and everything depending on it) compiles on macOS/Windows again – notify_systemd_ready() becomes a no-op outside __linux__ rather than referencing POSIX-only types.
  • No behavioural change on Linux for either fix: the msgpack default flip itself is correct and intentional (PR #1793), and notify_systemd_ready()'s Linux implementation is untouched inside the #if defined(__linux__) guard.
  • CI (Continuous Linux, MacOS, and Windows) goes green on the hotfix PR.

Tasks

Task State Start End Description
Scaffold story: Hotfix: default wire codec flip to msgpack breaks ores.qt.headless.tests DONE 2026-08-02 2026-08-02 Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR.
Implement Hotfix: default wire codec flip to msgpack breaks ores.qt.headless.tests DONE 2026-08-02 2026-08-03 Initial task for: Hotfix: default wire codec flip to msgpack breaks ores.qt.headless.tests

Decisions

Out of scope

Emacs 29.3 (Org mode 9.6.15)