Story: Unblock the unity build by hoisting the small-kappa threshold

Table of Contents

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

1. Goal

The analytics quant component compiles with unity builds enabled, and the value has one definition.

2. Status

Field Value
State DONE
Parent sprint Sprint 28
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-10-14

3. Acceptance

  • One definition of small_kappa_threshold exists, in a public header.
  • The component builds with CMAKE_UNITY_BUILD both on and off.
  • All six call sites keep the value they had.

4. Tasks

Task State Start End Description
Scaffold story: Unblock the unity build by hoisting the small-kappa threshold DONE 2026-10-14 2026-10-14 Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR.
Hoist small_kappa_threshold into one public constant DONE 2026-10-14 2026-10-14 Initial task for: Unblock the unity build by hoisting the small-kappa threshold

5. Decisions

  • The six copies became one public constant instead of six uniquely named ones. The copies were the same tolerance, and renaming them would have hidden that.
  • The constant is inline const rather than the house-style inline constexpr, because std::sqrt is not constexpr in this toolchain.
  • The header lives in the component's public include tree, beside the process layer it serves, so any consumer can use the same value.

6. Out of scope

  • Any further unity-build blockers. This clears the first collision only. A whole-tree unity build has to run again to find the next one.

Emacs 29.3 (Org mode 9.6.15)