Carve out synthetic TTS fixtures from the no-committed-audio rule (#433) #485
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/433-synthetic-audio-carve-out"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
First acceptance criterion of #433, written before any audio is committed rather than alongside it — which is the point of it being a criterion.
What changes
Recorded audio stays absolutely banned. The bullet is reworded to say audio of real people, which is what it always meant, and a new CLAUDE.md section states the one exception explicitly: invented TTS speech under
webapp/backend/evals/fixtures/, committed as.opus.Why it has to be committed rather than generated
Recorded in the file so nobody re-derives it from the spike comment on #433:
--seed— a re-render is not the fixture the scorers were calibrated against, so the clip is the artifact and the manifest alone cannot reproduce it.The
.gitignorehalf*.mp3,*.wav,*.pcmand*.oggare ignored;*.opuswas not — by omission rather than by decision. That is the kind of accident that quietly becomes load-bearing, so it now says so, with an explicit un-ignore under the fixtures path to document the intent for whoever next adds*.opusto that list.Keeping Opus as the only permitted format is deliberate beyond the codec argument: the extension itself becomes a signal that a file was authored rather than captured.
Constraints written into the rule
Path-scoped to the fixtures tree, Opus only, ~10 MB budget, and the manifest is the source of truth for content while the clips are committed build output — so a diff to a clip without a matching manifest change should be treated as suspicious.
Docs and
.gitignoreonly; no code.