Skip to content

SendspinKit: add the minimal public seams needed for conformance #5

@balloob

Description

@balloob

Problem

SendspinKit still needs library-side seams to let conformance use the real SendspinClient instead of a bespoke protocol client.

The conformance rule should be strict here: if the library cannot exercise a scenario, the test should expose that gap. The adapter should not fill in missing behavior by manually constructing/parsing protocol messages.

Why this matters

For server-initiated and binary-verification scenarios, conformance needs a minimal way to:

  • hand an already-accepted connection into the real client implementation
  • observe the library's actual handshake / stream / disconnect behavior
  • verify artwork/audio delivery without reimplementing the protocol in the adapter

Local exploration also showed that once conformance is routed through the real client, actual library issues become visible instead of being hidden by bespoke adapter code. That is exactly what we want.

Scope

Keep this limited to the minimum surface needed to make testing possible. Do not use this as a reason to add unrelated new features.

Tracking

  • Agree the minimum public seams needed for conformance (for example transport injection and observer hooks)
  • Add those minimal public seams in SendspinKit
  • Update the conformance adapter to use the real SendspinClient
  • Let remaining unsupported or incorrect behavior fail as library bugs rather than adapter workarounds
  • Re-run the aiosendspin -> SendspinKit conformance slice and record the remaining failures/passes

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