# TrueTraceShorts ERF first-frame hook and caption QA

Use this for future Everyday Red Flags / TrueTraceShorts renders.

## Dramatic tone policy

Use **consequence drama**, not panic/clickbait.

Good:
- Show the concrete loss or risk: money loss, exposed card details, account takeover, identity misuse.
- Keep the narration calm and credible.
- Use short, decisive rules: "If you must pay to get paid, stop."

Avoid:
- Horror styling, fake emergency countdowns, excessive alarm language.
- Over-explaining the threat on screen while captions are also speaking.

## First-frame standard

The first frame must be readable in the YouTube gallery / swipe overview before audio is understood. Current user preference for premium AI-keyframe ERF videos:

```text
[high-quality fictional scam screen]
[SCAM NAME shown inside that screen in red text]
```

Examples of the red in-screen scam name:
- `REMOTE JOB SCAM`
- `FAKE CAPTCHA TRAP`
- `FAKE SHOP SCAM`

The red scam name is normally required **only on the first visible keyframe**. Do not repeat it across every later AI image; later frames should advance the story naturally.

Implementation note: avoid an external title-card/banner that makes the image look like a PowerPoint/mockup render. The scam name should feel embedded in the on-screen UI/device scene. If AI-generated text is used, visually inspect it; if it is garbled, regenerate or add a subtle renderer-owned in-screen text layer that still looks embedded in the screen rather than like an overlay.

## One visual claim per scene

For scam-warning shorts, each keyframe should carry one main visual claim:

- Hook: identify the scam situation.
- Why it feels real: show legitimacy cue.
- Red flag: isolate one warning sign.
- Stakes: show consequence.
- Safer move: show one safer action.
- Rule: memorable final rule.

Do not stack multiple bottom labels, static rule text, and active captions in the same safe area. It turns into typography soup.

## Caption/scene-text pitfall

During ERF-023, lower scene labels collided with active subtitles. Fix pattern:

1. Render contact sheet.
2. Inspect at least first, mid, and final frames with subtitles burned in.
3. If captions overlap scene text, remove or move the scene text — do not shrink captions first.
4. Prefer leaving the lower third for subtitles.
5. Keep scene text high/central and minimal.

The caption layer is mandatory for retention; scene labels are optional.

## End-frame / CTA timing QA

For Chatterbox/faster-whisper ERF renders, the final spoken CTA may start late after a pause. Do not judge the ending from a single nominal `qa_frame_35.png` if the word timestamps show the final question starts later.

Add this check before delivery:

1. Read the last ~15 word timestamps from the forced-alignment JSON.
2. Extract at least one frame at the first word of the final CTA and one frame around the last word/end hold.
3. Confirm the final question/rule is readable and not clipped after the last spoken word.
4. If the final word disappears too quickly, add/verify a short end hold and regenerate hashes/package; do not reuse the old approval command.

A frame that only shows the previous phrase (for example `BAIT.`) is not a blocker by itself if timestamp-driven frames confirm the final CTA appears cleanly.

## QA checklist before delivery

- First frame: scam title readable, stakes/screen clear, no caption collision.
- Contact sheet: no cropped text, no off-frame headlines.
- Mid-frame: captions do not compete with a large static claim.
- Final frame: rule/CTA remains visible and captions are readable, verified against actual word timestamps near the ending.
- Safety: no real logos, brands, domains, phone numbers, bank/card data, QR codes, or private details; generic username/password fields are acceptable only if they contain no real credentials or platform branding.
- Package: verify video SHA and posting-pack SHA match review package.
