$ the-wire · showcase
Promptfoo fixes video cache mismatches and premature preview playback
By RepoJournal · Filed · About AI Red Teaming · Composed from the cited sources · methodology
Nothing in today's wire changes a flag, a config key, or a permission, but promptfoo shipped three video-path correctness fixes that settle real misbehavior operators may have seen on cached media and media card previews.
refactor(providers): share Veo image input construction promptfoo/promptfoo
Veo request construction now goes through one shared path for both transports: the first image, the last-frame alias, and up to three reference images are attached using the existing media-specific source directories. Parameter rules, source-video formats, auth and polling stay separate, and file reads and missing-file errors still happen before submission in the same order, so existing Veo cal...
fix(providers): replay video cache hits from one verified mapping promptfoo/promptfoo
Cached video replays now come from the mapping whose primary video was actually verified, so OpenAI builds the video, thumbnail and spritesheet from the same snapshot and Azure and xAI use that video key. Previously, a mapping swapped between reads could hand you video A alongside B's assets, and a removed mapping could discard A's existing variants; eligibility rules, persisted JSON and legacy...
fix(webui): cancel overlapping video preview timers promptfoo/promptfoo
The media card now lets a single timer own the earliest pending deadline instead of racing the 300 ms pointer delay against the 150 ms keyboard delay. That overlap could lose a timer and load or play a video after both pointer and focus had left; the touch control, reduced-motion gate, keyboard timing and SSR behavior still apply.
refactor(cli): render the resource selected by show promptfoo/promptfoo
promptfoo show now renders the resource it already selected rather than looking it up again, so a concurrent deletion shows you the selected snapshot instead of failing. No-ID eval commands reuse Eval.latest(), generic prompt and dataset lookup keeps its original precedence, and explicit-ID diagnostics are untouched.
MAINT: Adopt noUncheckedIndexedAccess in frontend (#3729) microsoft/PyRIT
PyRIT enables noUncheckedIndexedAccess in frontend/tsconfig.json and resolves all 113 resulting diagnostics across 35 frontend source files, plus a GCG compatibility matrix covering Qwen, Phi, Gemma, Llama, Mistral/Mixtral/Nemo, SmolLM and the DeepSeek R1 distills, and newest-first merge ordering for scenario executions while relationships load or fail.