From 1633658fa5a55248bd4bc89a0b4e128a0fe69c09 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Thu, 24 Sep 2026 12:57:14 +0000 Subject: [PATCH] test(#6717): assert the non-consecutive repeat condition The production guard now ends the burst only on a non-consecutive repeat (A -> B -> A), so a window needing a second re-measure is not mistaken for oscillation. Update the structural assertion to that condition. --- tests/test_issue734_message_windowing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test_issue734_message_windowing.py b/tests/test_issue734_message_windowing.py index b7434db2..7d8fef54 100644 --- a/tests/test_issue734_message_windowing.py +++ b/tests/test_issue734_message_windowing.py @@ -93,8 +93,10 @@ def test_measurement_burst_not_reset_by_cycle_key_change(): "the seen-key reset must be guarded by the burst-active check " "(per-burst lifecycle, issue #6717)" ) - # Repeated keys terminate the burst; unseen keys proceed. - assert "if(_messageVirtualMeasurementSeenKeys.includes(cycleKey)){" in body + # A NON-consecutive repeat (A -> B -> A) is oscillation and terminates the + # burst. A consecutive repeat (same window needing a second re-measure, e.g. + # a row shrinking 1500 -> 1400 -> 100 px) proceeds; unseen keys proceed. + assert "if(cycleKey !== lastKey && _messageVirtualMeasurementSeenKeys.includes(cycleKey)){" in body assert "_messageVirtualMeasurementSeenKeys.push(cycleKey);" in body # The internal-measurement origin travels WITH the scheduled render request # (threaded through both rAF layers), never as a global consumable flag that