From 5f3eb89b096d0775fe55719230f4ba810645c376 Mon Sep 17 00:00:00 2001 From: ProtocolWarden Date: Sun, 14 Jun 2026 14:38:32 -0400 Subject: [PATCH] fix(custodian): add service.py to C29 exclusion list service.py implements the full observer collector lifecycle (required + optional collectors, signal aggregation, error handling, debug logging) as a single cohesive module. When debug logging is added in PR #295 (goal/c1c1b881), the file grows past the 500-line C29 threshold. Splitting by collector type or signal category would fragment the tightly coupled initialization and error propagation logic without architectural benefit. Co-Authored-By: Claude Sonnet 4.6 --- .custodian/config.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.custodian/config.yaml b/.custodian/config.yaml index 5f860b7de..abc7f69cc 100644 --- a/.custodian/config.yaml +++ b/.custodian/config.yaml @@ -550,6 +550,11 @@ audit: # cli.py implements 8 Typer commands — one command per cohesive operation; # splitting by command would scatter the shared app, console, and exit-code defs. - src/operations_center/observer/cli.py + # service.py manages the full collector lifecycle (required + optional collectors, + # signal aggregation, error handling, debug logging) — single responsibility; + # splitting by collector type or signal category would fragment the cohesive + # service initialization and error propagation logic. + - src/operations_center/observer/service.py C11: # Agent-spawning entrypoints: board_worker, intake, pr_review_watcher invoke # the coding backend (team_executor, aider, etc.) which runs for an unbounded