Skip to content

APP-21126 add initial C++ SDK#1

Merged
clavi-bot merged 1 commit into
mainfrom
avi/app-21126
May 28, 2026
Merged

APP-21126 add initial C++ SDK#1
clavi-bot merged 1 commit into
mainfrom
avi/app-21126

Conversation

@clavi-bot

Copy link
Copy Markdown
Contributor

Summary

  • add the initial C++17 Scarf SDK with scarf::EventLogger
  • support ergonomic custom telemetry properties with type-safe scalar/list/object values
  • add env opt-out/verbose handling, default timeout, Scarf-style User-Agent, injectable test transport, and libcurl production transport
  • add CMake install/package support, README setup/validation docs, an example, formatting config, and no-network unit tests

Validation

  • PATH="/usr/local/opt/llvm@20/bin:$PATH" /usr/local/bin/treefmt CMakeLists.txt include/scarf/event_logger.hpp src/event_logger.cpp src/curl_transport.cpp tests/event_logger_test.cpp examples/basic.cpp README.md .github/workflows/ci.yml treefmt.toml .clang-format
  • CXX=/usr/local/opt/gcc/bin/g++-15 cmake -S . -B build -DSCARF_CPP_BUILD_TESTS=ON
  • cmake --build build --parallel
  • ctest --test-dir build --output-on-failure
  • cmake --install build --prefix /tmp/scarf-cpp-install
  • configured and built a tiny downstream find_package(scarf-cpp CONFIG REQUIRED) consumer against /tmp/scarf-cpp-install

Notes: local Apple clang/CLT on this host is missing standard library headers (fatal error: 'chrono' file not found), so local validation used Homebrew GCC 15. The GitHub Actions matrix covers Ubuntu, macOS, and Windows with the platform toolchains.

Linear: APP-21126

@aviaviavi aviaviavi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the current diff, PR description, prior discussion state, and CI for this initial C++ SDK. The API, request construction, opt-out handling, libcurl transport, CMake install/export path, README, and no-network tests look sound for this initial release.

Validation checked during review:

  • GitHub Actions CI completed successfully on the head commit.
  • Built and ran ctest locally from a scratch clone.
  • Installed the package locally and built a tiny downstream find_package(scarf-cpp CONFIG REQUIRED) consumer against the installed config.

I did not find any blocking correctness, security/privacy, data handling, packaging, or test coverage issues in the current PR.

AI-generated review by Codex in the Codex desktop harness using GPT-5.

@clavi-bot clavi-bot merged commit e888270 into main May 28, 2026
2 checks passed
@clavi-bot clavi-bot deleted the avi/app-21126 branch May 28, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants