Summary
Phase 6 of the ecosystem-wide directory structure standardization. thread_system maintains both a new include/kcenon/thread/ + src/ structure and four legacy directories (interfaces/, utilities/, core/, implementations/) — CMakeLists.txt auto-detects which mode to use. Absorb the legacy directories into the standard layout and remove the dual-mode build logic.
Part of kcenon/common_system#657 (master EPIC).
Why
- Dual structure (new
include/kcenon/thread/ plus 4 legacy directories) doubles the surface area new contributors must understand
- CMakeLists.txt auto-detection logic adds 100+ lines of branching that pure standardization would eliminate
- Downstream systems (logger, monitoring, network, pacs) all depend on thread_system — its layout deviations propagate
Scope
- Move public headers from
interfaces/, utilities/, core/, implementations/ into include/kcenon/thread/{interfaces,utils,core,impl}/ (or merge into existing subdirectories)
- Move corresponding
.cpp files into src/
- Remove the auto-detection branching in CMakeLists.txt; commit to the new structure
- Add forwarding headers in old paths with
[[deprecated]] for one release
- Verify all 4 downstream consumers (logger, monitoring, network, database) build unchanged
- Reorganize
tests/{unit,stress,integration_tests}/ per ecosystem standard
Child Issues
| # |
Issue |
Phase |
Depends on |
| A |
#684 — refactor(layout): migrate legacy headers into include/kcenon/thread/ with deprecated forwarding |
1 |
— |
| B |
#685 — refactor(build): remove USE_LEGACY_BUILD auto-detection branching |
2 |
#684 |
| C |
#686 — chore(tests): move integration_tests/ under tests/integration_tests/ |
1 |
— |
| D |
#687 — ci(verify): downstream consumer builds (logger, monitoring, network, database) |
3 |
#684, #685 |
Note on EPIC body: implementations/ was already removed prior to this EPIC; remaining legacy content as of decomposition: 4 headers in utilities/include/, 4 headers in core/{base,sync}/include/, plus an empty interfaces/ shell.
Acceptance Criteria
Summary
Phase 6 of the ecosystem-wide directory structure standardization. thread_system maintains both a new
include/kcenon/thread/+src/structure and four legacy directories (interfaces/,utilities/,core/,implementations/) — CMakeLists.txt auto-detects which mode to use. Absorb the legacy directories into the standard layout and remove the dual-mode build logic.Part of kcenon/common_system#657 (master EPIC).
Why
include/kcenon/thread/plus 4 legacy directories) doubles the surface area new contributors must understandScope
interfaces/,utilities/,core/,implementations/intoinclude/kcenon/thread/{interfaces,utils,core,impl}/(or merge into existing subdirectories).cppfiles intosrc/[[deprecated]]for one releasetests/{unit,stress,integration_tests}/per ecosystem standardChild Issues
include/kcenon/thread/with deprecated forwardingUSE_LEGACY_BUILDauto-detection branchingintegration_tests/undertests/integration_tests/Acceptance Criteria
include/kcenon/thread/src/[[deprecated]]with removal in next minor