Skip to content

fix(monitoring): remove stale include of thread_system monitorable_interface.h #625

Description

@kcenon

Why

Static audit performed during thread_system EPIC kcenon/thread_system#683 (sub-issue #687, downstream consumer verification) found a stale include in logger_system that is unrelated to the include-layout standardization but should be addressed.

thread_system removed interfaces/monitorable_interface.h in PR #312 / #323 (Dec 19, 2025) as part of the migration to common::interfaces::IMonitor. logger_system still references this header behind a #ifdef USE_THREAD_SYSTEM gate, so it is dormant in the default build but will fail to compile if LOGGER_USE_THREAD_SYSTEM=ON and USE_THREAD_SYSTEM is defined.

What

The following include refers to a header that no longer exists in thread_system:

File Stale include Status
src/impl/monitoring/thread_system_monitor_adapter.h:21 #include <kcenon/thread/interfaces/monitorable_interface.h> Removed upstream — replace with <kcenon/common/interfaces/monitoring_interface.h> and migrate the adapter to common::interfaces::IMonitor

Recommended action: either

  1. Migrate thread_system_monitor_adapter.h to the common_system IMonitor interface (matches the upstream migration), or
  2. Remove the adapter entirely if it is no longer used (the #ifdef USE_THREAD_SYSTEM gate suggests it was already deprecated for default builds).

Where

  • src/impl/monitoring/thread_system_monitor_adapter.h

Acceptance Criteria

  • No source files in logger_system reference the removed <kcenon/thread/interfaces/monitorable_interface.h>
  • Building logger_system with LOGGER_USE_THREAD_SYSTEM=ON and a thread_system install that defines USE_THREAD_SYSTEM succeeds without missing-header errors
  • If the adapter is kept, it consumes common::interfaces::IMonitor instead of the removed thread_system interface

Notes

  • This issue is informational from the perspective of thread_system EPIC #683: the EPIC neither introduced nor caused this stale include. The forwarding-header strategy in PR #688 only affects the <utilities/...> and <core/{base,sync}/...> legacy paths, not deleted headers.
  • All other thread_system include sites in logger_system already use canonical <kcenon/thread/...> paths and are unaffected by EPIC #683.
  • Upstream change reference: thread_system PR feat(structured): Phase 3.1 Structured Logging API Design #312 (commit 22ce1a61).

Metadata

Metadata

Assignees

Labels

priority:mediumMedium priority issuerefactoringCode refactoring and improvements

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions