fix(open-notebook): size the TTS clock outside frank-tts's own ceiling
The env file first landed with ESPERANTO_TTS_TIMEOUT equal to SHIM_TIMEOUT=600. Equality is a race: both budgets expire at the same instant, so the case the number existed to prevent — the worker abandoning a synthesis frank-tts is still finishing — is exactly what happens on the tail of a long line. Nested budgets go inside-out, which is the rule scripts/frank-tts.env states for its own LLAMA_TIMEOUT; the client waits one round-trip longer than the server, so a frank-tts give-up arrives labelled as frank-tts's error. 660. The seam's assertion moves from equality to `>` for the same reason, and now also holds ESPERANTO_LLM_TIMEOUT under upstream's 600 s web-UI patience — above it the failure surfaces as a UI timeout with no name on it. The scriptwriting number itself stays at the app's 180 s default: frank-zealot answers an outline or a transcript well inside it, which corrects the earlier commit message's claim that both timeouts were raised past upstream's 300 s.
This commit is contained in:
@@ -130,15 +130,23 @@ DB_PIN="sha256:e5d7387e3727bbe2f7cd6d869e48cd34777272258572ead37c9656b25f745723"
|
||||
# request on a box that also serves two LLM endpoints.
|
||||
grep -qxF 'TTS_BATCH_SIZE=1' "$ENVF"
|
||||
grep -qxF 'OPEN_NOTEBOOK_WORKER_MAX_TASKS=1' "$ENVF"
|
||||
# Per dialogue line, matched to frank-tts's own per-request ceiling so the
|
||||
# worker never abandons a synthesis the shim is still finishing.
|
||||
# Per dialogue line, and strictly beyond frank-tts's own per-request
|
||||
# ceiling: nested budgets go inside-out (the rule scripts/frank-tts.env
|
||||
# states for LLAMA_TIMEOUT), so a shim give-up surfaces as frank-tts's
|
||||
# error instead of the worker's own timeout. The seam reads the ceiling
|
||||
# rather than restating it, so re-measuring frank-tts cannot leave this
|
||||
# file silently behind.
|
||||
tts="$(sed -n 's/^ESPERANTO_TTS_TIMEOUT=//p' "$ENVF")"
|
||||
shim="$(sed -n 's/^SHIM_TIMEOUT=//p' "$REPO_ROOT/scripts/frank-tts.env")"
|
||||
[ -n "$tts" ] || { echo "no ESPERANTO_TTS_TIMEOUT in the env file"; false; }
|
||||
[ -n "$shim" ] || { echo "no SHIM_TIMEOUT in scripts/frank-tts.env"; false; }
|
||||
[ "$tts" = "$shim" ] || {
|
||||
echo "ESPERANTO_TTS_TIMEOUT=$tts does not match frank-tts SHIM_TIMEOUT=$shim"; false; }
|
||||
grep -qE '^ESPERANTO_LLM_TIMEOUT=[0-9]+$' "$ENVF"
|
||||
[ "$tts" -gt "$shim" ] || {
|
||||
echo "ESPERANTO_TTS_TIMEOUT=$tts is not beyond frank-tts SHIM_TIMEOUT=$shim"; false; }
|
||||
# Upstream: keep the scriptwriting call under the web UI's ~600 s patience,
|
||||
# or the failure arrives as a UI timeout with no name on it.
|
||||
llm="$(sed -n 's/^ESPERANTO_LLM_TIMEOUT=//p' "$ENVF")"
|
||||
[[ "$llm" =~ ^[0-9]+$ ]] && [ "$llm" -lt 600 ] || {
|
||||
echo "ESPERANTO_LLM_TIMEOUT=$llm is not a number under 600"; false; }
|
||||
}
|
||||
|
||||
@test "secrets stay declared-but-empty in the tracked env file" {
|
||||
|
||||
Reference in New Issue
Block a user