Sprint 02 Release Notes
Table of Contents
October 2025
This sprint focused on establishing core project infrastructure, defining the foundational architecture, and implementing initial client-server communication using modern C++ and asio-based networking.
✅ Highlights
- Project foundation laid with a clean, modular structure:
risk,comms,accounts, and CLI/console layers. - Client-server communication implemented using Boost.Cobalt over ASIO with SSL support.
- PostgreSQL integration completed via
sqlgenfor domain persistence and schema management. - Data modeling modernized using
reflect-cppfor serialization, replacing manual XML parsing. - Authentication framework started with database schema and messaging for accounts and login.
🛠️ Key Improvements
Architecture & Structure
- Conducted white-boarding sessions to define a data-oriented architecture with clear subsystem boundaries.
- Created dedicated
commslibrary for all communication primitives (socket handling, message framing, dispatch). - Renamed
coretoriskto better reflect domain focus and avoid ambiguity. - Refactored CLI to align with new project structure and improve maintainability.
Networking & Communication
- Prototyped GRPC and ZeroMQ, then settled on Boost.Cobalt/ASIO for its modern coroutine support and simplicity.
- Implemented a basic but secure Cobalt-based server and client with SSL.
- Designed message structure with subsystem and message IDs for extensibility.
- Established a generic dispatcher pattern for handling incoming messages.
Data & Persistence
- Integrated
sqlgenfor PostgreSQL access, enabling type-safe database operations. - Added temporal support to currencies with
valid_from=/=valid_totimestamps. - Replaced hand-rolled XML parsing with
reflect-cppfor ORE domain types, improving maintainability. - Implemented commands to dump currencies:
latest,as_of, and full history.
Authentication
- Added initial support for accounts and logins:
- Database tables for
accountandloginwith fields for security (hash, salt, TOTP). - Messaging infrastructure for login/logout workflows.
- Began implementation of password management (hashing with HMAC-SHA512).
- Database tables for
Developer Experience
- Restored Qt UI support after abandoning ImGui due to cross-platform build issues.
- Added logging support to tests for better debugging.
- Fixed CI/CD build issues on Windows, macOS, and Linux (YAML, CMake, vcpkg).
- Updated vcpkg to latest version and addressed binary caching warnings.
- Added Valgrind suppressions for spurious leaks in test infrastructure.
⚠️ Known Issues & Postponed
- Qtbase build warnings remain due to system dependencies — workaround with
VCPKG_DISABLE_SYSTEM_PACKAGE_CHECK=1not yet applied. - Gemini CLI GitHub Action is failing — review automation temporarily disabled.
- Initial account creation workflow not implemented — system does not yet enforce bootstrap mode for first admin creation.
- GRPC and ZeroMQ experiments cancelled in favor of simpler ASIO/Cobalt approach.
📊 Time Summary
- Total effort: not tracked
- PRs merged: not tracked
- Sprint duration: 2025-02-02 → 2025-10-23
Next sprint: Sprint 03.