Story: Hotfix: rate_tree fails to compile on Windows

Table of Contents

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

Goal

The Windows (MSVC) CI build fails on projects/ores.analytics.quant/src/math/rate_tree.cpp:70 with error C2039 — 'to_string' is not a member of 'std'. The file calls std::to_string but does not include the string header; GCC/Clang happen to pull it in transitively, MSVC does not. The fix restores a green Windows build by making the include explicit.

Status

Field Value
State DONE
Parent sprint Sprint 25
Now Fix shipped in PR #1967; Windows CI verifies on merge.
Waiting on Nothing.
Next Merge PR #1967.
Last touched 2026-08-11

Acceptance

  • The Windows (MSVC) build compiles rate_tree.cpp.
  • The Linux build still compiles rate_tree.cpp.

Tasks

Task State Start End Description
Scaffold story: Hotfix: rate_tree fails to compile on Windows DONE 2026-08-11 2026-08-11 Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR.
Implement Hotfix: rate_tree fails to compile on Windows DONE 2026-08-11 2026-08-11 Initial task for: Hotfix: rate_tree fails to compile on Windows

Decisions

  • Every symbol used must be declared by a header the file includes directly. Transitive availability is not guaranteed — MSVC proved it with std::to_string — so the fix is an explicit string include, and the same discipline applies repo-wide.
  • Include hygiene is enforced mechanically: a nightly clang-tidy misc-include-cleaner sweep (build/scripts/check_includes.sh + .github/workflows/nightly-includes.yml) runs like the clang-format check and opens a bot PR with fixes. Suggested fixes to generated files must land in the codegen templates, not in generated output — the codegen-drift check guards that boundary.

Out of scope

Emacs 29.3 (Org mode 9.6.15)