Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
### Changed

- The full-model engine pins TensorFold v1.1.9 with an empty patch series: every behaviour of the
old patches 0001–0015 is upstream (per upstream source; GPU A/B pending). Two differences remain: with the mid-silence rule on,
old patches 0001–0015 is upstream. A CUDA GPU A/B against the previous pin passed: corpus captures
byte-identical, request sampling and speaker tags pass. Two differences remain: with the mid-silence rule on,
`X-Silence-Mid-Trips` reports only whether the returned take tripped (0 or 1), and a temperature
of `-0` or `-1e-400` reaches the sampler as `+0`. `scripts/build-engine.sh` accepts an empty
full-model series only through an empty `SHA256SUMS`; an empty NVFP4 manifest or a missing
Expand Down Expand Up @@ -37,7 +38,7 @@
including native/Python catalog writers. Legacy CUDA long-form continuations
retain the active speaker across splits and redraws; reference-count and malformed-tag
validation remain enforced. No voice-quality claim is made. Tagged full-model requests
could run to the frame cap when measured on the previous pin; see the
can run to the frame cap, with the same outcome on the previous pin and on v1.1.9; see the
[known stopping limitation](recipe/README-dialogue.md#known-full-model-stopping-limitation)
and [issue #32](https://github.com/plotarmordev/drama-tensorfold/issues/32).
- Per-request HTTP speech `temperature`, `top_p`, `top_k` and exact unsigned 64-bit
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ Guidance-enabled replies carry the configured γ in `X-Cfg-Gamma`; builtin voice
Request text and reference transcripts accept canonical speaker tags 0 through 15.
See [speaker-tagged dialogue](recipe/README-dialogue.md) for catalog examples,
profile-specific reference limits and legacy long-form speaker continuation, and its
[known full-model stopping limitation](recipe/README-dialogue.md#known-full-model-stopping-limitation)
([issue #32](https://github.com/plotarmordev/drama-tensorfold/issues/32)).
[known full-model stopping limitation](recipe/README-dialogue.md#known-full-model-stopping-limitation),
unchanged on v1.1.9 ([issue #32](https://github.com/plotarmordev/drama-tensorfold/issues/32)).

- **Whole reply:** `Content-Length` framing and an `X-Finish-Reason` header: `stop`, `length` or, with the silence
guard on, `silence`.
Expand Down Expand Up @@ -190,7 +190,7 @@ feature. Each feature's notes are in the engine tree's `CHANGELOG.md` or `docs/`
| Request-local speech sampling and exact integer seeds, with parsed-JSON boundary docs | HTTP `temperature`, `top_p`, `top_k`, `seed` | [#1277](https://github.com/ashhart/TensorFold/pull/1277) |
| Canonical speaker tags 0..15 in speech and catalog transcripts | speaker tags in text | [#1278](https://github.com/ashhart/TensorFold/pull/1278) |

Every old patch's behaviour is in v1.1.9 (per upstream source; GPU A/B pending) with two differences. With the mid-silence rule on, `X-Silence-Mid-Trips`
Every old patch's behaviour is in v1.1.9, and a CUDA GPU A/B against the previous pin passed (corpus captures byte-identical; request sampling and speaker tags pass), with two differences. With the mid-silence rule on, `X-Silence-Mid-Trips`
reports only whether the returned take tripped (0 or 1); takes discarded by silence/short/register redraws are no
longer counted. A temperature of `-0` or `-1e-400` reaches the sampler as `+0` rather than `-0`; both were already
greedy. `drama3-voice`, the upstream tool that writes attested voice files for `--voices`, is in TensorFold; the
Expand Down
13 changes: 8 additions & 5 deletions recipe/README-dialogue.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,23 +45,26 @@ full-model and Metal profiles do not gain a long-form splitter from this feature

## Known full-model stopping limitation

These results were measured on the previous full-model pin, TensorFold `d1018b31`
plus patches 0001–0015, not on v1.1.9. On one GB10 with that CUDA full-model build, this page's two-speaker
These results were first measured on the previous full-model pin, TensorFold `d1018b31`
plus patches 0001–0015. On one GB10 with that CUDA full-model build, this page's two-speaker
example reached the 1024-frame cap (47.55 seconds, `X-Finish-Reason: length`)
in three of five seeds with a matching reference catalog. The same text without
speaker tags stopped normally in all five. Relabeling both references and input
to speakers 0/1 still reached the cap in two of five seeds; using the tagged
input without a reference catalog did so in one of five. Neither variation is a
reliable workaround.
reliable workaround; both were measured on the previous pin only.

The CUDA NVFP4 profile, with its default guidance, stopped normally on all five
tagged and all five untagged requests in this small check. The engine pins,
weights and guidance differ, so these observations do not establish the cause
or a guarantee for NVFP4. Metal was not tested in this follow-up. See the
[settings and per-seed results](../results/dialogue-stopping-20261030.json).

The current full-model pin, TensorFold v1.1.9, has not been tested for this
behaviour; that check and the investigation are tracked in
The current full-model pin, TensorFold v1.1.9, gave the same outcome on the same
GPU: with seeds 1–5, the tagged dialogue reached the frame cap in three of five
and the untagged text in none, with per-reply bytes, durations and RMS identical
to the previous pin. The limitation is unchanged on v1.1.9, not fixed; the
investigation is tracked in
[issue #32](https://github.com/plotarmordev/drama-tensorfold/issues/32).
Treat `X-Finish-Reason: length` as an incomplete generation. The cause remains
unresolved; accepting a speaker tag does not guarantee natural termination.
Expand Down