Case
aiosendspin -> aiosendspin
Start the server first, then the client. The client advertises a listener and PCM player support. The server connects, and both adapters record the handshake, role activation, initial state, stream negotiation, and timestamped player chunks for checks against the pinned spec revision. This test does not check audio decoding or playback.
Server
aiosendspin
Client
aiosendspin
Status
Passed
Passed 5 protocol assertions
Server activation
Initial server/activate
What the aiosendspin server's own adapter recorded for its first server/activate on this connection, reported as sent. The case fails when none was sent, when its activities are not unique values from playback and pairing, or when it omits active_roles. Nothing else in it is checked against the specification: which activities and roles the matched PSK allows is not judged. A recording that cannot be read as that message is shown whole and not judged either.
Server group state
Every group/update after activation
What the aiosendspin server's own adapter recorded for each group/update it sent after its first server/activate on this connection, in order and reported as sent. The case fails when none followed, or when in any of them playback_state is not playing or stopped, or group_id or group_name is missing or not a string. How soon the first followed is not judged, because the specification says promptly and gives no bound, so one sent at any point in the case counts. Whether a change to a field produced a further message is not judged either. A recording of anything other than that message is shown whole and fails the case as a harness gap.
1 of 3
2 of 3
3 of 3
Inspection
Summaries, logs, and builds
Matrix result
RAW{
"case_dir": "artifacts/results/data/macos__server-initiated-protocol-baseline-v1__aiosendspin__to__aiosendspin",
"client_exit_code": 0,
"client_impl": "aiosendspin",
"reason": "Passed 5 protocol assertions",
"scenario_id": "server-initiated-protocol-baseline-v1",
"scenario_revision": 5,
"server_exit_code": 0,
"server_impl": "aiosendspin",
"status": "passed",
"unsupported": false
}Server summary (JSON)
RAW{
"activation": {
"payload": {
"active_roles": [
"player@v1"
],
"activities": [
"playback"
]
},
"type": "server/activate"
},
"availability_trace": [
{
"available": false,
"type": "client/state"
},
{
"available": true,
"type": "client/state"
},
{
"phase": "sending",
"roles": [
"player"
],
"type": "stream/start"
},
{
"phase": "sent",
"roles": [
"player"
],
"type": "stream/start"
}
],
"client": {
"active_roles": [
"player@v1"
],
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"name": "aiosendspin-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_fallback",
"group_updates": [
{
"payload": {
"group_id": "5cdb2d9c-652d-49c7-a344-83cc5b292be3",
"group_name": "aiosendspin-client",
"playback_state": "stopped"
},
"type": "group/update"
},
{
"payload": {
"group_id": "5cdb2d9c-652d-49c7-a344-83cc5b292be3",
"group_name": "aiosendspin-client",
"playback_state": "playing"
},
"type": "group/update"
},
{
"payload": {
"group_id": "5cdb2d9c-652d-49c7-a344-83cc5b292be3",
"group_name": "aiosendspin-client",
"playback_state": "stopped"
},
"type": "group/update"
}
],
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"name": "aiosendspin-client",
"player@v1_support": {
"buffer_capacity": 2000000,
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
}
]
},
"supported_pair_methods": {
"pairing_psk": {}
},
"supported_roles": [
"player@v1"
],
"unpaired_access": {
"enabled": true
}
},
"type": "client/hello"
},
"preferred_codec": "pcm",
"protocol": {
"assertions": {
"CORE-001": {
"detail": "Noise handshake completed; driver enforces strict frame ordering",
"events": [
{
"end_ts": 1792567210.122375,
"event": "handshake_completed",
"handshake_hash": "43f208af2d14eb6f5b297748eecba4f078d6ceffcca3bd5fdc3f3377f2ab0214",
"peer_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"psk_category": "long_term",
"start_ts": 1792567208.577489,
"timestamp": 1792567210.12242
}
],
"status": "passed"
},
"CORE-002": {
"detail": "Server ran with allow_noncompliant_clients=False; no early-message compliance error was raised before activation",
"events": [
{
"active_roles": [
"player@v1"
],
"event": "connection_established_without_compliance_error",
"timestamp": 1792567210.122433
}
],
"status": "passed"
},
"CORE-003": {
"detail": "Active roles are a subset of the negotiated role set",
"events": [
{
"active_role_ids": [
"player@v1"
],
"event": "server_activate_scoped_to_negotiated_roles",
"negotiated_role_ids": [
"player@v1"
],
"requested_roles": [
"player@v1"
],
"timestamp": 1792567210.122435
}
],
"status": "passed"
},
"CORE-004": {
"detail": "Connection reached the active state, which requires the initial client/state to have already been accepted",
"events": [
{
"detail": "SendspinConnection gates role binary data behind the initial client/state and flags noncompliance otherwise",
"event": "initial_client_state_gate_satisfied",
"timestamp": 1792567210.1224372
}
],
"status": "passed"
},
"PLAYER-001": {
"detail": "Selected an advertised format and streamed 194 timestamped chunks in order",
"events": [
{
"advertised_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
}
],
"event": "stream_start_observed",
"negotiated_format": {
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
"timestamp": 1792567216.419008
},
{
"chunk_count": 194,
"event": "audio_chunks_observed",
"first_timestamp_us": 693820458,
"last_timestamp_us": 698645458,
"timestamp": 1792567216.4190521
}
],
"status": "passed"
}
},
"spec_revision": "8c9577ea8719ad082d051ec13cc73ef15ed68948"
},
"role": "server",
"scenario_id": "server-initiated-protocol-baseline-v1",
"server_id": "dsIlKLOY1OqUfE4ig1m3id0r6yr2D5_3R-FJLQZI30I",
"server_name": "aiosendspin server",
"status": "ok",
"time_exchange": [
{
"payload": {
"client_transmitted": 693335753
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693335753,
"server_received": 693338143,
"server_transmitted": 693338710
},
"type": "server/time"
},
{
"type": "other-sent"
},
{
"payload": {
"client_transmitted": 693536708
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693536708,
"server_received": 693537215,
"server_transmitted": 693537690
},
"type": "server/time"
},
{
"type": "other-sent"
},
{
"payload": {
"client_transmitted": 693581526
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693581526,
"server_received": 693588185,
"server_transmitted": 693588689
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 693739012
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693739012,
"server_received": 693739299,
"server_transmitted": 693739437
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 696741293
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 696741293,
"server_received": 696741632,
"server_transmitted": 696741828
},
"type": "server/time"
},
{
"type": "other-sent"
}
]
}Server log
RAWINFO:aiosendspin.server.server:Starting Sendspin server on port 18951
INFO:aiosendspin.server.server:Sendspin server started successfully on 127.0.0.1:18951
WARNING:aiosendspin.server.server:No IP addresses available for mDNS advertising. Clients may not be able to discover this server. Consider specifying addresses manually via advertise_addresses.
{
"activation": {
"payload": {
"active_roles": [
"player@v1"
],
"activities": [
"playback"
]
},
"type": "server/activate"
},
"availability_trace": [
{
"available": false,
"type": "client/state"
},
{
"available": true,
"type": "client/state"
},
{
"phase": "sending",
"roles": [
"player"
],
"type": "stream/start"
},
{
"phase": "sent",
"roles": [
"player"
],
"type": "stream/start"
}
],
"client": {
"active_roles": [
"player@v1"
],
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"name": "aiosendspin-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_fallback",
"group_updates": [
{
"payload": {
"group_id": "5cdb2d9c-652d-49c7-a344-83cc5b292be3",
"group_name": "aiosendspin-client",
"playback_state": "stopped"
},
"type": "group/update"
},
{
"payload": {
"group_id": "5cdb2d9c-652d-49c7-a344-83cc5b292be3",
"group_name": "aiosendspin-client",
"playback_state": "playing"
},
"type": "group/update"
},
{
"payload": {
"group_id": "5cdb2d9c-652d-49c7-a344-83cc5b292be3",
"group_name": "aiosendspin-client",
"playback_state": "stopped"
},
"type": "group/update"
}
],
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"name": "aiosendspin-client",
"player@v1_support": {
"buffer_capacity": 2000000,
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
}
]
},
"supported_pair_methods": {
"pairing_psk": {}
},
"supported_roles": [
"player@v1"
],
"unpaired_access": {
"enabled": true
}
},
"type": "client/hello"
},
"preferred_codec": "pcm",
"protocol": {
"assertions": {
"CORE-001": {
"detail": "Noise handshake completed; driver enforces strict frame ordering",
"events": [
{
"end_ts": 1792567210.122375,
"event": "handshake_completed",
"handshake_hash": "43f208af2d14eb6f5b297748eecba4f078d6ceffcca3bd5fdc3f3377f2ab0214",
"peer_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"psk_category": "long_term",
"start_ts": 1792567208.577489,
"timestamp": 1792567210.12242
}
],
"status": "passed"
},
"CORE-002": {
"detail": "Server ran with allow_noncompliant_clients=False; no early-message compliance error was raised before activation",
"events": [
{
"active_roles": [
"player@v1"
],
"event": "connection_established_without_compliance_error",
"timestamp": 1792567210.122433
}
],
"status": "passed"
},
"CORE-003": {
"detail": "Active roles are a subset of the negotiated role set",
"events": [
{
"active_role_ids": [
"player@v1"
],
"event": "server_activate_scoped_to_negotiated_roles",
"negotiated_role_ids": [
"player@v1"
],
"requested_roles": [
"player@v1"
],
"timestamp": 1792567210.122435
}
],
"status": "passed"
},
"CORE-004": {
"detail": "Connection reached the active state, which requires the initial client/state to have already been accepted",
"events": [
{
"detail": "SendspinConnection gates role binary data behind the initial client/state and flags noncompliance otherwise",
"event": "initial_client_state_gate_satisfied",
"timestamp": 1792567210.1224372
}
],
"status": "passed"
},
"PLAYER-001": {
"detail": "Selected an advertised format and streamed 194 timestamped chunks in order",
"events": [
{
"advertised_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
}
],
"event": "stream_start_observed",
"negotiated_format": {
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
"timestamp": 1792567216.419008
},
{
"chunk_count": 194,
"event": "audio_chunks_observed",
"first_timestamp_us": 693820458,
"last_timestamp_us": 698645458,
"timestamp": 1792567216.4190521
}
],
"status": "passed"
}
},
"spec_revision": "8c9577ea8719ad082d051ec13cc73ef15ed68948"
},
"role": "server",
"scenario_id": "server-initiated-protocol-baseline-v1",
"server_id": "dsIlKLOY1OqUfE4ig1m3id0r6yr2D5_3R-FJLQZI30I",
"server_name": "aiosendspin server",
"status": "ok",
"time_exchange": [
{
"payload": {
"client_transmitted": 693335753
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693335753,
"server_received": 693338143,
"server_transmitted": 693338710
},
"type": "server/time"
},
{
"type": "other-sent"
},
{
"payload": {
"client_transmitted": 693536708
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693536708,
"server_received": 693537215,
"server_transmitted": 693537690
},
"type": "server/time"
},
{
"type": "other-sent"
},
{
"payload": {
"client_transmitted": 693581526
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693581526,
"server_received": 693588185,
"server_transmitted": 693588689
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 693739012
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 693739012,
"server_received": 693739299,
"server_transmitted": 693739437
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 696741293
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 696741293,
"server_received": 696741632,
"server_transmitted": 696741828
},
"type": "server/time"
},
{
"type": "other-sent"
}
]
}
Client summary (JSON)
RAW{
"audio": {
"audio_chunk_count": 194,
"received_pcm_sha256": "019a605befbd116b0ac404433d3f24af6490ff86df4f525c31cbbcddee2e4d06",
"received_sample_count": 38800
},
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"client_name": "aiosendspin-client",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": null,
"preferred_codec": "pcm",
"protocol": {
"assertions": {
"CORE-001": {
"detail": "Noise handshake completed; driver enforces strict frame ordering",
"events": [
{
"end_ts": 1792567210.05089,
"event": "handshake_completed",
"handshake_hash": "43f208af2d14eb6f5b297748eecba4f078d6ceffcca3bd5fdc3f3377f2ab0214",
"peer_id": null,
"psk_category": null,
"start_ts": 1792567210.0195122,
"timestamp": 1792567216.419801
}
],
"status": "passed"
},
"CORE-002": {
"detail": "Client only began sending application messages once activated",
"events": [
{
"event": "client_connected_without_early_messages",
"server_id": null,
"timestamp": 1792567216.419806
}
],
"status": "passed"
},
"CORE-003": {
"detail": "Client accepted the server/activate role/version set it received",
"events": [
{
"event": "server_activate_accepted",
"roles": [
"player@v1"
],
"timestamp": 1792567216.419811
}
],
"status": "passed"
},
"CORE-004": {
"detail": "Client sent the initial client/state before any role binary data",
"events": [
{
"detail": "SendspinConnection sends the initial client/state immediately after activation",
"event": "initial_client_state_sent",
"timestamp": 1792567216.4198122
}
],
"status": "passed"
},
"PLAYER-001": {
"detail": "Selected an advertised format and streamed 194 timestamped chunks in order",
"events": [
{
"advertised_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
}
],
"event": "stream_start_observed",
"negotiated_format": {
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
"timestamp": 1792567216.419821
},
{
"chunk_count": 194,
"event": "audio_chunks_observed",
"first_timestamp_us": 693820458,
"last_timestamp_us": 698645458,
"timestamp": 1792567216.419837
}
],
"status": "passed"
}
},
"spec_revision": "8c9577ea8719ad082d051ec13cc73ef15ed68948"
},
"role": "client",
"scenario_id": "server-initiated-protocol-baseline-v1",
"server": null,
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"codec_header": null,
"sample_rate": 8000
}
}Client log
RAWINFO:aiosendspin.client.listener:ClientListener started on port 19951, path /sendspin
INFO:aiosendspin.client.connection:Stream started with codec pcm
INFO:aiohttp.access:127.0.0.1 [21/Oct/2026:07:20:10 +0000] "GET /sendspin HTTP/1.1" 101 0 "-" "Python/3.12 aiohttp/3.14.5"
INFO:aiosendspin.client.listener:ClientListener stopped
{
"audio": {
"audio_chunk_count": 194,
"received_pcm_sha256": "019a605befbd116b0ac404433d3f24af6490ff86df4f525c31cbbcddee2e4d06",
"received_sample_count": 38800
},
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"client_name": "aiosendspin-client",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": null,
"preferred_codec": "pcm",
"protocol": {
"assertions": {
"CORE-001": {
"detail": "Noise handshake completed; driver enforces strict frame ordering",
"events": [
{
"end_ts": 1792567210.05089,
"event": "handshake_completed",
"handshake_hash": "43f208af2d14eb6f5b297748eecba4f078d6ceffcca3bd5fdc3f3377f2ab0214",
"peer_id": null,
"psk_category": null,
"start_ts": 1792567210.0195122,
"timestamp": 1792567216.419801
}
],
"status": "passed"
},
"CORE-002": {
"detail": "Client only began sending application messages once activated",
"events": [
{
"event": "client_connected_without_early_messages",
"server_id": null,
"timestamp": 1792567216.419806
}
],
"status": "passed"
},
"CORE-003": {
"detail": "Client accepted the server/activate role/version set it received",
"events": [
{
"event": "server_activate_accepted",
"roles": [
"player@v1"
],
"timestamp": 1792567216.419811
}
],
"status": "passed"
},
"CORE-004": {
"detail": "Client sent the initial client/state before any role binary data",
"events": [
{
"detail": "SendspinConnection sends the initial client/state immediately after activation",
"event": "initial_client_state_sent",
"timestamp": 1792567216.4198122
}
],
"status": "passed"
},
"PLAYER-001": {
"detail": "Selected an advertised format and streamed 194 timestamped chunks in order",
"events": [
{
"advertised_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
}
],
"event": "stream_start_observed",
"negotiated_format": {
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"sample_rate": 8000
},
"timestamp": 1792567216.419821
},
{
"chunk_count": 194,
"event": "audio_chunks_observed",
"first_timestamp_us": 693820458,
"last_timestamp_us": 698645458,
"timestamp": 1792567216.419837
}
],
"status": "passed"
}
},
"spec_revision": "8c9577ea8719ad082d051ec13cc73ef15ed68948"
},
"role": "client",
"scenario_id": "server-initiated-protocol-baseline-v1",
"server": null,
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "pcm",
"codec_header": null,
"sample_rate": 8000
}
}
Shared build log · python-adapters · built · 0.24s
RAW.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/audio_transformers.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/capabilities.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/events.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/group.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/types.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/v1.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/registry.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/scheduled_state.py'... Listing 'src/conformance/_vendor/aiosendspin/server/roles/source'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/__init__.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/events.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/stream.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/v1.py'... Listing 'src/conformance/_vendor/aiosendspin/server/roles/visualizer'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/__init__.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/features.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/group.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/packing.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/types.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/v1.py'... Listing 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/__init__.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/features.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/packing.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/role.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/server.py'... Compiling 'src/conformance/_vendor/aiosendspin/util.py'... Listing 'src/conformance/adapters'... Compiling 'src/conformance/adapters/__init__.py'... Compiling 'src/conformance/adapters/_aiosendspin_pairing.py'... Compiling 'src/conformance/adapters/_aiosendspin_protocol_evidence.py'... Compiling 'src/conformance/adapters/aiosendspin_client.py'... Compiling 'src/conformance/adapters/aiosendspin_server.py'... Compiling 'src/conformance/adapters/placeholder.py'... Compiling 'src/conformance/cli.py'... Compiling 'src/conformance/flac.py'... Compiling 'src/conformance/merge.py'... Compiling 'src/conformance/pcm.py'... Compiling 'src/conformance/registry.py'... Listing 'src/conformance/validator'... Compiling 'src/conformance/validator/__init__.py'... Compiling 'src/conformance/validator/checks.py'... Compiling 'src/conformance/validator/cli.py'... Compiling 'src/conformance/validator/code_pairing.py'... Compiling 'src/conformance/validator/code_pairing_checks.py'... Compiling 'src/conformance/validator/discovery.py'... Compiling 'src/conformance/validator/findings.py'... Compiling 'src/conformance/validator/noncompliance_refs.py'... Compiling 'src/conformance/validator/prompter.py'... Compiling 'src/conformance/validator/recorder.py'... Compiling 'src/conformance/validator/report.py'... Compiling 'src/conformance/validator/session.py'... Compiling 'src/conformance/validator/storage.py'... Compiling 'src/conformance/validator/suite_checks.py'... Compiling 'src/conformance/validator/suites.py'... Listing 'src/sendspin_conformance.egg-info'... Listing 'scripts'... Compiling 'scripts/detect_regressions.py'... Compiling 'scripts/merge_results.py'... Compiling 'scripts/run_all.py'... Compiling 'scripts/setup_repositories.py'... Compiling 'scripts/setup_workspace.py'... Compiling 'scripts/vendor_aiosendspin.py'...