Make WhisperX uploads replayable
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Implementation Plan: Speaker Checkpoints and Replayable Uploads
|
||||
|
||||
Status: Implementation in progress; Stages 1-4 complete.
|
||||
Status: Implementation in progress; Stages 1-5 complete.
|
||||
|
||||
## Scope and Instructions
|
||||
|
||||
@@ -291,7 +291,18 @@ expose incomplete transcripts downstream.
|
||||
|
||||
## Stage 5: Implement Replayable Streaming Multipart Bodies
|
||||
|
||||
Status: Pending.
|
||||
Status: Complete.
|
||||
|
||||
Completion marker (2026-09-22): Replaced the producer-goroutine/pipe upload
|
||||
with bounded standard-library multipart framing and independently opened,
|
||||
pull-based streaming bodies shared by the initial request and `GetBody`.
|
||||
Bodies are tracked, idempotently closed, canceled with their attempt context,
|
||||
and retain genuine read/close failures without treating an intentionally
|
||||
abandoned original as a replay failure. Added focused coverage for identical
|
||||
framing, partial-read restart, simultaneous handles, source failures, and
|
||||
blocked-reader release. Verified with `go test ./internal/adapters/whisperx`,
|
||||
`go test -race ./internal/adapters/whisperx` (including ten repeated runs), and
|
||||
`git diff --check`.
|
||||
|
||||
Preparation: `internal/adapters/whisperx/http.go`, `http_test.go`,
|
||||
`docs/integrations/whisperx.md`, and the installed Go net/http Request/GetBody
|
||||
|
||||
Reference in New Issue
Block a user