Skip to content

feat: default to 20 s windows with 10 s stride and 2048 packets - #89

Merged
TheMeinerLP merged 3 commits into
mainfrom
feat/window-20s
Oct 16, 2026
Merged

TheMeinerLP merged 3 commits into
mainfrom
feat/window-20s

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Summary

  • WindowConfig defaults: window_seconds 10 -> 20, stride_seconds 5 -> 10 (half-window overlap kept), max_packets 1024 -> 2048.
  • Raw build and evaluate/train job parameters take their defaults from WindowConfig instead of repeating literals.
  • max_packets = 2048 is added to the tuning search space so the new default is searchable.
  • Docs explain the defaults with the pilot measurement 2026-10-16 (single player, 2 h 10 min, 269,566 packets): packets per 20 s window p50 524, p90 1,386, p99 1,969, max 8,180 (serverbound p99 888, clientbound p99 1,084); 10 s windows had p99 1,084, so 1024 already truncated.

Compatibility

Specs are stored and hashed with the model and written with every window field, so existing models keep their 10 s / 5 s / 1024 window; only new builds change. Tests cover loading and re-saving an old spec unchanged.

Not changed

  • Aggregate feature window (FeatureSpec.window = 256 events) is event-count based, not time based.
  • Explicit windows in eval configs and tests (small and fast on purpose).
  • Latency budget lines (handled in a separate PR). The latency estimate already extrapolates the last measured slope to 2048 packets; a test pins it as finite and monotonic.

Tests

ml: new test_raw_window_defaults.py, raw jobs/windows/streaming/eval suites; services: scoring suite. ruff clean for both.

New raw-byte builds cut 20 s windows every 10 s with up to 2048 packets.
Specs stored with a model keep their own window. Based on the pilot
measurement 2026-10-16 (single player): p99 of 1969 packets per 20 s window.
@TheMeinerLP
TheMeinerLP merged commit 5eb1017 into main Oct 16, 2026
13 checks passed
@TheMeinerLP
TheMeinerLP deleted the feat/window-20s branch October 16, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant