Summary
Phase 3 of the ecosystem-wide directory structure standardization. container_system distributes public headers across 5+ locations (include/kcenon/container/, include/container/, core/, internal/, integration/, messaging/). Consolidate to a single include/kcenon/container/, move implementations to src/, and decompose the 750-line CMakeLists.txt.
Part of kcenon/common_system#657 (master EPIC).
Why
- 5+ header locations make
#include choice ambiguous — the same type can be reached via multiple paths
- Source files mixed with headers in feature directories block clean install rules
- Legacy
include/container/ forwarding adds duplication that can never be removed without a deliberate migration
Scope
- Move all
.h from core/, internal/, integration/, messaging/ into include/kcenon/container/{core,internal,integration,messaging}/
- Move all
.cpp into src/{core,internal,integration,messaging}/
- Mark
include/container/ forwarding headers [[deprecated]]; schedule removal for next minor release
- Decompose CMakeLists.txt into cmake modules per canonical template
- Update Doxygen input paths to point at the new locations
Child Issues
Execution order: #532 → #533 → #534 → #535 → #536 (sequential, dependency-ordered).
Acceptance Criteria
Summary
Phase 3 of the ecosystem-wide directory structure standardization. container_system distributes public headers across 5+ locations (
include/kcenon/container/,include/container/,core/,internal/,integration/,messaging/). Consolidate to a singleinclude/kcenon/container/, move implementations tosrc/, and decompose the 750-line CMakeLists.txt.Part of kcenon/common_system#657 (master EPIC).
Why
#includechoice ambiguous — the same type can be reached via multiple pathsinclude/container/forwarding adds duplication that can never be removed without a deliberate migrationScope
.hfromcore/,internal/,integration/,messaging/intoinclude/kcenon/container/{core,internal,integration,messaging}/.cppintosrc/{core,internal,integration,messaging}/include/container/forwarding headers[[deprecated]]; schedule removal for next minor releaseChild Issues
include/kcenon/container/src/Execution order: #532 → #533 → #534 → #535 → #536 (sequential, dependency-ordered).
Acceptance Criteria
core/,internal/,integration/,messaging/no longer at repo root[[deprecated]]with removal note in CHANGELOG