Summary
Phase 4 of the ecosystem-wide directory structure standardization. network_system has a 1031-line root CMakeLists.txt, a single monolithic tests/unit_tests.cpp, and an ambiguous relationship between libs/network-*/ modular protocol libraries and the src/ source tree. Decompose the CMake configuration, split the test file, and document the libs/ vs src/ boundary.
Part of kcenon/common_system#657 (master EPIC).
Status
EPIC complete. All four sub-issues merged on 2026-05-01.
Child Issues
Acceptance Criteria
Outcome
- Root
CMakeLists.txt: 1031 → ~118 lines (orchestrator only)
tests/unit_tests.cpp: 962 lines removed, replaced by 6 per-concern files + shared TCP fixture
samples/ directory removed, examples/ is now the single canonical examples tree
BUILD_SAMPLES flag retired, BUILD_EXAMPLES is the single switch
docs/PROJECT_STRUCTURE.md documents the libs/ vs src/ boundary and resolves the src/protocol/ vs src/protocols/ ambiguity (both current, distinct roles)
Summary
Phase 4 of the ecosystem-wide directory structure standardization. network_system has a 1031-line root CMakeLists.txt, a single monolithic
tests/unit_tests.cpp, and an ambiguous relationship betweenlibs/network-*/modular protocol libraries and thesrc/source tree. Decompose the CMake configuration, split the test file, and document thelibs/vssrc/boundary.Part of kcenon/common_system#657 (master EPIC).
Status
EPIC complete. All four sub-issues merged on 2026-05-01.
Child Issues
b3d8bd28)33313aec)4ac841f0)Acceptance Criteria
network_system_*.cmakenaming (build: decompose root CMakeLists.txt into cmake/*.cmake modules #1090)BUILD_EXAMPLESflag (samples: merge samples/ into examples/ canonical directory #1091)Outcome
CMakeLists.txt: 1031 → ~118 lines (orchestrator only)tests/unit_tests.cpp: 962 lines removed, replaced by 6 per-concern files + shared TCP fixturesamples/directory removed,examples/is now the single canonical examples treeBUILD_SAMPLESflag retired,BUILD_EXAMPLESis the single switchdocs/PROJECT_STRUCTURE.mddocuments thelibs/vssrc/boundary and resolves thesrc/protocol/vssrc/protocols/ambiguity (both current, distinct roles)