Skip to content

[3/3] server: preserve dialogue speaker tags across long-form requests - #7

Draft
krunkosaurus wants to merge 4 commits into
plotarmordev:drama-nvfp4from
krunkosaurus:drama-nvfp4/dialogue-speakers
Draft

krunkosaurus wants to merge 4 commits into
plotarmordev:drama-nvfp4from
krunkosaurus:drama-nvfp4/dialogue-speakers

Conversation

@krunkosaurus

@krunkosaurus krunkosaurus commented Oct 25, 2026 •

Copy link
Copy Markdown

What this changes

Part 3 of the legacy CUDA stack; merge chunking #5, then sampling #6. Incremental source diff.

Accept canonical speaker tags 0..15 in requests, references, catalogs and the native writer, and carry the active role across long-form continuations, history, paragraph shifts and redraws. Original segment slices remain intact; added role text is counted at prompt admission. Existing malformed-tag, body/file/prompt and codebook limits remain enforced. The legacy formats have no new fixed reference-count cap or MLX-style three-speaker chunk cap.

The final cleanup removes the unused Redraws.salt helper requested in recipe #27. The recipe appends this as patch 0004, preserving the already merged sampling patch.

The public MLX prompt tests are a behavior reference. Modern source companion #1278 extends the corresponding current route. Native changes are independently implemented.

Validation

  • Final source e06a0cda: zig build test-server-cpu -j2 --summary all passes 379 tests with four skipped on macOS arm64, Zig 0.17.0.
  • Linux CUDA build and test on GB10: 106/106 steps succeeded; 870 tests passed, nine skipped. The first source archive lacked Git metadata needed by a version-generation step. Restoring metadata for the exact published commit made the unchanged code pass; the initial failure receipt is retained.
  • GB10 NVFP4 stopping diagnostic: two synthetic references, five tagged catalog requests and five untagged controls all stopped normally. Mono 44.1 kHz, signed 16-bit PCM; diagnostic seeds 1–5, temperature 1.0, top-p 0.9, top-k 30, default CFG gamma 1.5 batched. Tagged output was 3.02–4.78 seconds of audio and rendered in 2.30–3.43 seconds. Settings and individual results.
  • The composed HTTP regression exercises protected hard cuts, carried speaker/CFG text, explicit sampling and an exact seed above 2^53 for whole and streamed replies. Reference, continuation, history and malformed-tag cases retain their coverage.
  • All four exported recipe patches reproduce this source exactly across 3,503 files; checksums and manifest coverage pass.

Speaker-role preservation does not establish distinct or faithfully cloned acoustic voices. No listening or performance qualification is claimed. The separate full-model stopping limitation is documented and tracked in recipe issue #32.

Pinned-engine packaging and user documentation: recipe PR #28.

Keep complete special tokens, bracketed cues and nested paired tags intact across sentence, clause, space and code-point splitting. Protect topic-shift preprocessing and recognize CJK boundaries without changing prompt or frame ceilings.

Exercise exact whole and streamed prompt segments, oversized spans, malformed controls and redraws. Drain inherited socket fixtures before joining so CPU validation completes on macOS.

Refs: plotarmordev/drama-tensorfold#25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant