Skip to content

Add a burst-cadence scenario to verify client/time send pattern #58

Description

@balloob

This test scenario was identified by a cross-SDK conformance audit comparing every Sendspin client/server implementation. See the audit docs on branch claude/stream-sync-correction-sdks-AWoNC.

What it tests

The harness counts client/time messages over a 30 s window and
asserts the distribution matches the recommended cadence (bursts of
8, 10 s apart) within tolerance. See
spec issue: clock synchronization for the proposed normative
text.

Why we need it

Only sendspin-cpp, sendspin-jvm, and sendspin-js actually
implement bursts inside the SDK. The other six leave cadence to the
embedder, which means real-world cadence depends entirely on what
the embedder does. sendspin-cli, for example, runs aiosendspin
at a fixed 10 s single-message cadence — no burst denoising at
all. Without a test, this regresses silently.

Implementation sketch

  • Server adapter logs receive timestamps for all client/time
    messages over a fixed observation window.
  • Harness asserts: (a) ≥ 4 bursts of ≥ 4 messages within 500 ms;
    (b) gap between bursts is 8–12 s.
  • Tolerance loose enough that median-of-3 (sendspin-js variant) also
    passes.

Source: docs/clock-synchronization.md §recommendations

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions