-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
The interface conformance tests at interfaces/flux/conformance/stream.spec.js all fail (8/8 tests) with "socket hang up" errors. The API tests at tests/flux/api/stream.test.js all pass (4 passed, 1 skipped).
Root Cause
Architectural mismatch between conformance spec and starter implementation:
| Aspect | Conformance Spec | Starter Implementation |
|---|---|---|
| Endpoint | /flux/stream |
/api/flux |
| Audio source | stream_url query param (external HTTP stream) |
Binary WebSocket frames from client (microphone) |
| Model | model query param |
Hardcoded flux-general-en |
| Error codes expected | INVALID_STREAM_URL, MODEL_NOT_FOUND, STREAM_UNREACHABLE |
None (proxy design) |
The conformance spec was written for a "stream URL proxy" design where the server fetches audio from an external URL. The actual node-flux starter implements a "microphone proxy" design where audio flows directly from the client WebSocket to Deepgram.
Test Results (local conformance run)
Passing:
tests/flux/api/metadata.test.js— 2 passedtests/flux/api/stream.test.js— 4 passed, 1 skippedtests/flux/ui/workflow.spec.js— 2 passed (Playwright)
Failing:
interfaces/flux/conformance/stream.spec.js— 8 failed- All connection tests:
socket hang up(server has no/flux/streamendpoint) - All error tests:
expected 0 to be greater than 0(no error messages received)
- All connection tests:
Recommendation
This is not a starter bug — the API tests confirm the implementation works correctly. The interface conformance spec needs to be updated to match the actual Flux API proxy design (/api/flux, microphone-based, no stream_url parameter). This may be a contracts issue rather than a starter issue.