INFO:aiosendspin.server.server:Starting Sendspin server on port 18959 INFO:aiosendspin.server.server:Sendspin server started successfully on 127.0.0.1:18959 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. { "client": { "active_roles": [ "player@v1" ], "client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg", "name": "aiosendspin-client", "supported_roles": [ "player@v1" ] }, "discovery_method": "registry_fallback", "implementation": "aiosendspin", "initiator_role": "server", "peer_hello": { "payload": { "name": "aiosendspin-client", "player@v1_support": { "buffer_capacity": 2000000, "supported_commands": [ "volume", "mute" ], "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": [ { "method": "pairing_psk" } ], "supported_roles": [ "player@v1" ], "trust_level": "user", "unpaired_access": { "enabled": false } }, "type": "client/hello" }, "preferred_codec": "pcm", "protocol": { "assertions": { "CORE-001": { "detail": "Noise handshake completed; driver enforces strict frame ordering", "events": [ { "end_ts": 1788591077.203028, "event": "handshake_completed", "handshake_hash": "8b2ff1d60fad32ce29d113ae8e672e1d9f10dcef9e8646505d0822f5f50c5d9a", "peer_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg", "psk_category": "long_term", "start_ts": 1788591076.168662, "timestamp": 1788591077.2030551 } ], "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": 1788591077.2030652 } ], "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": 1788591077.2030668 } ], "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": 1788591077.203068 } ], "status": "passed" }, "PLAYER-001": { "detail": "Selected an advertised format and streamed 200 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": 1788591083.4713862 }, { "chunk_count": 200, "event": "audio_chunks_observed", "first_timestamp_us": 476707361, "last_timestamp_us": 481682361, "timestamp": 1788591083.4714198 } ], "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" }