FAILURE MAP
← Case archive

FA-42098 / Listener lifecycle / Member archive

Throttle renewal reuses the old window origin · case 03

Throttle renewal reuses the old window origin; the returned lifecycle plan violates the stated transition contract.

Member previewVariant 3 · 3 implementations · 8 checks per implementation

Case contract

Plan a fixed-window throttled observer: a window is [start,start+width); first event may emit on leading policy, latest suppressed event may emit on trailing policy at expiry. A new window starts at the arriving event time, not at the previous window start. Leading emission consumes the leading slot; a trailing-only window must keep its first event. A completed trailing flush resets its marker. A pending trailing payload is new only when its sequence is strictly later than the sequence already delivered on the leading edge. Inputs are finite state snapshots, including transitional and stale states; output fields are the exact independent actions/metadata defined by the corrected expression table. Numeric fixture capacities and counts vary with N. Field definitions, each independently computed from the input snapshot: expired = s['now']>=s['start']+s['width']; start = s['now'] if not s['open'] or s['now']>=s['start']+s['width'] else s['start']; leading_emit = s['leading'] and not s['used'] and s['incoming'] is not None; trailing_payload = s['incoming'] if s['trailing'] and s['incoming'] is not None else s['pending']; flush = s['trailing'] and s['pending'] is not None and s['open'] and s['now']>=s['start']+s['width']; used = s['used'] or (s['leading'] and s['incoming'] is not None); first_trailing = s['trailing'] and not s['leading'] and not s['open'] and s['incoming'] is not None; remaining = max(0,s['start']+s['width']-s['now']); reset_pending = s['pending'] if s['pending_sequence']>s['leading_sequence'] else None; drop = s['incoming'] is not None and s['used'] and not s['trailing']

Why this case matters

Observer implementations need to preserve this state while subscriptions enter, execute, and leave their lifecycle.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
transition 0{"drop": false, "expired": true, "first_trailing": true, "flush": false, "leading_emit": false, "remaining": 0, "reset_pending": null, "start": 0, "trailing_payload": "new", "used": true}{"drop": false, "expired": true, "first_trailing": true, "flush": false, "leading_emit": false, "remaining": 0, "reset_pending": null, "start": 18, "trailing_payload": "new", "used": true}Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗