# YouTube Thumbnail Alt/Caption QA

Status: `youtube_thumbnail_alt_caption_qa_manual_review_only_closed_until_human_yes`

This is a review-only QA card for the Sonic-Forage faceless-video thumbnail and caption lane. It helps an awake operator verify the thumbnail can be described accessibly before any manual YouTube/X upload, caption upload, post, stream, paid promotion, revenue claim, affiliation claim, GPU/training job, dataset release, or cron mutation.

## Canonical namespace

- Canonical org: `Sonic-Forage`
- Proof hub: `https://sonic-forage.github.io/afterparty-forge-explainer-site/`
- Source repo: `https://github.com/Sonic-Forage/afterparty-forge-explainer-site`
- Private dataset namespace: `Sonic-Forage/jimsky-afterparty-logo-seed`

## Human approval question

Do you approve manually using this Sonic-Forage thumbnail alt/caption QA checklist for a reviewed YouTube/X upload, with the exact copy and media selected by an awake operator?

## Operator QA path

1. Run `PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py` from the repo root.
2. Open `docs/assets/thumbnails/afterparty_forge_youtube_thumbnail_clean.png` locally and confirm the large title remains readable on a phone-sized preview.
3. Use the alt text below only as descriptive accessibility copy; do not treat it as final marketing copy.
4. Compare the caption/transcript pack and Shorts script pack so the thumbnail claim matches the actual video/caption lane.
5. Confirm no upload, scheduled post, paid promotion, stream, recording, payment link, outreach, revenue claim, OpenAI affiliation claim, public dataset release, GPU/training job, model download, secret exposure, or cron mutation is being performed.
6. Stop at the human approval question before any external platform action.

## Suggested alt text

"Neon Afterparty Forge 2045 thumbnail with a proof-hub/rebound-engine theme, Sonic-Forage branding, and cyberpunk pink/cyan colors; review-only artwork for a manual faceless-video upload."

## Suggested caption stub

"Afterparty Forge 2045 is a Sonic-Forage proof-over-hype launch hub: static site, video lanes, captions, launch art, verifier receipts, and closed approval gates. Manual upload/release only after an awake operator approves the exact media and copy."

## Safe wording

- "Review-only thumbnail and caption QA is prepared."
- "The proof hub, captions, Shorts scripts, and verifier paths are repo-local and inspectable."
- "Manual upload/release remains closed until a human approves exact copy and media."
- "No revenue, affiliation, platform result, live-stream, dataset-release, or training claim is being made here."

## Do not say

- Do not say the video has been uploaded or published.
- Do not claim YouTube/X revenue, customers, sponsors, OpenAI affiliation, or platform endorsement.
- Do not claim the private HF dataset is public.
- Do not imply a livestream, Space, recording, or outreach happened.
- Do not expose secrets, tokens, private URLs, or `.env` values.

## Closed gates

- manual_review_required=true
- manual_upload_required=true
- requires_human_approval=true
- auto_upload_enabled=false
- auto_post_enabled=false
- public_posting=false
- youtube_upload=false
- caption_upload=false
- outreach=false
- paid_promotion=false
- claim_revenue=false
- claim_openai_affiliation=false
- publishes_stream=false
- records_audio=false
- uploads_private_media=false
- public_dataset_release=false
- starts_gpu=false
- starts_paid_api=false
- downloads_models=false
- starts_training=false
- secret_exposure=false
- mutates_cron=false

## Proof paths

- `docs/assets/thumbnails/afterparty_forge_youtube_thumbnail_clean.png`
- `docs/youtube/FACELESS_YOUTUBE_TRAINING_RELEASE_PACK.md`
- `docs/youtube/CAPTIONS_TRANSCRIPTS_PACK.md`
- `docs/youtube/SHORTS_SCRIPT_PACK.md`
- `docs/data/youtube-training-pack.json`
- `docs/data/youtube-captions-pack.json`
- `docs/data/youtube-shorts-script-pack.json`
- `docs/data/thumbnail-alt-caption-qa.json`
- `docs/index.html`

## Verifier commands

```bash
PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py
git diff --check
git status --short --branch
```
