Task · MDE-0019

Make endpoint-group success accounting explicit

Description

PR #733 P3.5 remains in core/collector.py:210-255 and scheduler group call sites. At the end of any successful collector cycle, every admitted-but-unmarked group is booked failed. That is correct for swallowed endpoint failures but wrong for benign empty or not-applicable early returns, such as an optional collector with no organizations. Replace inference from absence with an explicit attempted/succeeded/not-applicable/failed verdict that cannot silently turn empty scope into a failure.

Acceptance Criteria

Definition of Done

Implementation Plan

Wave 1 L8: implement explicit endpoint-group verdicts in the single-owned collector/manager seam alongside MDE-0001 diagnosis; root integrates and finalizes.

Ownership correction: clients.py is L5-owned. After the shared verdict API landed, add explicit CLIENTS_LIST not-applicable verdicts for zero organizations and for a completed cycle with no applicable networks while preserving retry behavior for real failures.

Final Summary

Implemented and verified in 7327153. Every admitted endpoint group now closes with an explicit fail-closed verdict; full gates passed.

References

View the source file on GitHub