Summary
Phase 5 of the ecosystem-wide directory structure standardization. monitoring_system has a 997-line root CMakeLists.txt that maintains a legacy/new dual structure with 13 hardcoded .cpp paths as fallback. Remove the legacy fallback, regularize the src/{context,core,impl,platform,plugins}/ layout, and decompose the CMake configuration per the canonical template.
Part of kcenon/common_system#657 (master EPIC).
Why
- The 997-line root CMakeLists.txt is bloated primarily because it supports two structural layouts simultaneously (legacy fallback path)
- 13 hardcoded
.cpp file paths in build config drift silently as files move
- The flat 37 test files under
tests/ do not mirror src/, making test-to-source navigation harder than it needs to be
Scope
- Identify and remove the legacy/fallback branch in CMakeLists.txt
- Reorganize
src/{context,core,impl,platform,plugins}/ to match the standard (consolidate impl/ into feature directories)
- Replace 13 hardcoded
.cpp paths with glob or feature-grouped target sources
- Decompose 997-line root CMakeLists.txt into
cmake/*.cmake modules per canonical template
- Reorganize
tests/ to mirror src/ (or document deliberate flat layout)
Child Issues
Execution order: #675 → #676 → #677 → #678 → #679 (sequential, dependency-ordered).
Acceptance Criteria
Summary
Phase 5 of the ecosystem-wide directory structure standardization. monitoring_system has a 997-line root CMakeLists.txt that maintains a legacy/new dual structure with 13 hardcoded
.cpppaths as fallback. Remove the legacy fallback, regularize thesrc/{context,core,impl,platform,plugins}/layout, and decompose the CMake configuration per the canonical template.Part of kcenon/common_system#657 (master EPIC).
Why
.cppfile paths in build config drift silently as files movetests/do not mirror src/, making test-to-source navigation harder than it needs to beScope
src/{context,core,impl,platform,plugins}/to match the standard (consolidateimpl/into feature directories).cpppaths with glob or feature-grouped target sourcescmake/*.cmakemodules per canonical templatetests/to mirrorsrc/(or document deliberate flat layout)Child Issues
src/impl/into feature directories.cpplists with structured globbingCMakeLists.txtintocmake/modulestests/to mirrorsrc/(or document deliberate flat layout)Execution order: #675 → #676 → #677 → #678 → #679 (sequential, dependency-ordered).
Acceptance Criteria
.cppfile lists in build config