# Caption readability screen path — manual review only

Status: `caption_readability_screen_path_manual_review_only_closed_until_human_yes`

This is a local, operator-executable screen path for reviewing the Sonic-Forage faceless-video captions and transcript pack before any YouTube upload, caption upload, public post, stream, or paid promotion. It adds a small final QA lane after the Shorts script pack and thumbnail alt/caption QA without rendering or publishing anything.

## Exact human approval question

Do you approve using this Sonic-Forage caption readability screen path for a manual local review only, with no upload, post, schedule, stream, recording, paid promotion, revenue claim, or affiliation claim?

## Clean setup commands

```bash
cd /opt/data/workspace/projects/afterparty-forge-explainer-site
PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py
python3 -m http.server 4178 --directory docs
```

Open `http://127.0.0.1:4178/` in a local browser and keep it on localhost. Do not sign in to YouTube, X, OBS, Kick, Twitch, Hugging Face, payment processors, or any ad/promotion tool during this screen path.

## 45-second screen path

1. Start at the proof hub home page and find the `Captions/transcript` card.
2. Open `data/youtube-captions-pack.json` and confirm `manual_upload_required=true`, `auto_upload_enabled=false`, and `requires_human_approval=true`.
3. Open `youtube/CAPTIONS_TRANSCRIPTS_PACK.md` and read the first chapter/title block out loud.
4. Open `youtube/captions/afterparty_forge_unicode_future_ui_en.vtt` and confirm cue text is short enough for mobile captions.
5. Open `youtube/captions/afterparty_forge_unicode_future_ui_en.srt` and confirm the same cue sequence exists for manual upload fallback.
6. Open `youtube/THUMBNAIL_ALT_CAPTION_QA.md` and compare the caption/title stub against the transcript wording.
7. Stop after one decision: approve more local copy polish, approve a future manual upload package, or keep building proof. Do not upload anything in this run.

## Terminal proof commands

```bash
PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py
python3 - <<'PY'
from pathlib import Path
for path in [
    'docs/youtube/captions/afterparty_forge_unicode_future_ui_en.vtt',
    'docs/youtube/captions/afterparty_forge_unicode_future_ui_en.srt',
    'docs/youtube/CAPTIONS_TRANSCRIPTS_PACK.md',
    'docs/youtube/THUMBNAIL_ALT_CAPTION_QA.md',
]:
    p = Path(path)
    print(path, p.exists(), p.stat().st_size if p.exists() else 0)
PY
git diff --check
```

Expected highlights: aggregate verifier prints `VERIFY OK afterparty explainer site`; caption files exist and are non-empty; `git diff --check` prints no errors.

## Safe wording

- "These captions and transcript are local review artifacts for the Sonic-Forage faceless-video lane."
- "Manual upload remains closed until an awake operator approves the exact file, title, description, captions, thumbnail, and destination."
- "This proof hub shows prepared artifacts and verifier-backed readiness, not a public YouTube release."
- "No OpenAI affiliation, revenue, customer result, platform partnership, live stream, or upload is claimed here."

## Do not say

- "The video is already uploaded to YouTube."
- "Captions have been submitted publicly."
- "This is an OpenAI-affiliated launch."
- "Revenue has been earned from this pack."
- "The stream is live now."
- "The dataset or private media has been published."

## Blocked without approval

- Uploading the MP4, Shorts export, captions, transcript, thumbnail, or metadata to YouTube.
- Posting or scheduling any X/social thread, quote, reply, Space, livestream, or paid promotion.
- Recording microphone, webcam, screen, voice clone, or private media.
- Starting GPU, paid API, model download, training, dataset publication, or private-media upload.
- Creating payment links, invoices, checkout pages, affiliate claims, or revenue claims.
- Mutating cron jobs, exposing secrets, or using non-local endpoints.

## Failure recovery

- If a local page 404s, rerun `PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py` and use the repo-local proof paths listed below.
- If captions look too long on a phone, edit the VTT/SRT locally and rerun the verifier before claiming readiness.
- If a browser asks for account login or public upload, close the tab and continue only with repo-local files.
- If the working tree becomes dirty from a smoke command, inspect `git status --short` and include only intentional docs/manifests before commit.

## Post-demo cleanup

```bash
# Stop the local http.server with Ctrl-C in the terminal where it was started.
PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py
git status --short --branch
```

## Proof paths

- `docs/youtube/CAPTIONS_TRANSCRIPTS_PACK.md`
- `docs/data/youtube-captions-pack.json`
- `docs/youtube/captions/afterparty_forge_unicode_future_ui_en.vtt`
- `docs/youtube/captions/afterparty_forge_unicode_future_ui_en.srt`
- `docs/youtube/THUMBNAIL_ALT_CAPTION_QA.md`
- `docs/data/thumbnail-alt-caption-qa.json`
- `docs/index.html`
- `scripts/verify_site.py`

Closed gates: `public_posting=false`, `youtube_upload=false`, `caption_upload=false`, `auto_post_enabled=false`, `auto_upload_enabled=false`, `auto_stream_enabled=false`, `records_audio=false`, `uploads_private_media=false`, `starts_gpu=false`, `starts_paid_api=false`, `downloads_models=false`, `starts_training=false`, `claim_revenue=false`, `claim_openai_affiliation=false`, `mutates_cron=false`, `secret_exposure=false`.
