What
Move all .cpp source files from feature directories into src/{core,internal,integration,messaging}/, leaving the root-level feature directories empty so they can be removed.
Current scattered sources:
core/ — 9 sources
internal/ — 3 sources
integration/ — 1 source
messaging/ — 1 source
Target: src/{core,internal,integration,messaging}/.
Why
After the header consolidation (depends on #), feature directories still hold ~14 .cpp files. Sources mixed with headers in feature directories block clean install(DIRECTORY ...) rules and prevent removal of the four root-level directories. Centralising sources in src/ matches the canonical template used by sibling repos in the EPIC.
Where
- Source:
core/, internal/, integration/, messaging/ (.cpp only)
- Target:
src/{core,internal,integration,messaging}/
- Affected: target source lists in CMakeLists.txt
How
Technical Approach
- Wait for header consolidation (#) to merge so
#include paths are stable.
- Move
.cpp files preserving subdirectory structure.
- Update every
target_sources(... PRIVATE ...) entry in CMakeLists.txt and any cmake module that lists sources by absolute or repo-relative path.
- Verify
core/, internal/, integration/, messaging/ are now empty and remove them.
- Run full build + tests.
Dependencies
- Blocked by: header consolidation sub-issue (must merge first to keep
#include resolution stable while sources move)
Acceptance Criteria
Estimated Size
M (~14 cpp moves + CMake source list updates).
Part of #531
What
Move all
.cppsource files from feature directories intosrc/{core,internal,integration,messaging}/, leaving the root-level feature directories empty so they can be removed.Current scattered sources:
core/— 9 sourcesinternal/— 3 sourcesintegration/— 1 sourcemessaging/— 1 sourceTarget:
src/{core,internal,integration,messaging}/.Why
After the header consolidation (depends on #), feature directories still hold ~14
.cppfiles. Sources mixed with headers in feature directories block cleaninstall(DIRECTORY ...)rules and prevent removal of the four root-level directories. Centralising sources insrc/matches the canonical template used by sibling repos in the EPIC.Where
core/,internal/,integration/,messaging/(.cpponly)src/{core,internal,integration,messaging}/How
Technical Approach
#includepaths are stable..cppfiles preserving subdirectory structure.target_sources(... PRIVATE ...)entry in CMakeLists.txt and any cmake module that lists sources by absolute or repo-relative path.core/,internal/,integration/,messaging/are now empty and remove them.Dependencies
#includeresolution stable while sources move)Acceptance Criteria
core/,internal/,integration/,messaging/no longer exist)src/Estimated Size
M (~14 cpp moves + CMake source list updates).
Part of #531