Skip to content

docs(layout): publish kcenon-system-layout.md v1.0 #658

Description

@kcenon

Summary

Publish v1.0 of docs/kcenon-system-layout.md, the canonical directory-structure standard for the 8-system kcenon ecosystem (common, thread, logger, container, monitoring, database, network, pacs).

Part of #656. Foundation step — sibling sub-EPICs in #657 (Phases 1-6) reference this document to verify conformance.

Why

  • Each of the 8 systems currently uses a different layout (4 patterns for public header location; 2 systems lack include/; CMakeLists.txt sizes range 150-1032 lines)
  • A single source-of-truth prevents each migration phase from re-deciding conventions
  • Downstream consumers and contributors need one document, not eight

Scope

The document MUST specify:

  1. Public header path: include/kcenon/<name>/... with kcenon:: namespace
  2. Implementation path: src/
  3. Test directory rules: tests/ for unit tests (GTest), integration_tests/ for cross-system
  4. CMake module decomposition (extracted from pacs_system, see chore(cmake): extract kcenon-cmake-template from pacs_system #659):
    cmake/options.cmake, compiler.cmake, dependencies.cmake, targets.cmake,
    install.cmake, testing.cmake, examples.cmake, warnings.cmake
  5. Forwarding-header policy for breaking moves: [[deprecated]] for one minor release
  6. Documented exceptions (e.g., pacs_system retaining Catch2 — see [EPIC] Ecosystem-wide directory structure standardization #657 Non-Goals)

Acceptance Criteria

Out of Scope

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions