Task · OPN-0063

Preserve fractional flow-correlation window boundaries

Description

The flow correlator accepts any positive duration, but its key calculation truncates the configured window to whole seconds. A sub-second window maps every record for a Community ID into one bucket, and a non-integral duration uses different boundaries for grouping and expiry. Distinct connection windows can therefore merge and produce wrong bytes, fragment counts, pairing and partial-window status.

Acceptance Criteria

Definition of Done

Implementation Plan

Write failing sub-second and non-integral-duration correlator tests, then compute the bucket from the full duration without a whole-second truncation and run the focused flow suite.

Final Summary

Fixed by 2a8e9c98. Correlation buckets now divide Unix nanoseconds by the exact configured duration, preserving sub-second and non-integral-second boundaries. Both regressions failed before the fix and passed after it; the integrated race suite and just check passed. Reviewed in the combined flow slice, whose final pass completed with zero findings.

View the source file on GitHub