# Proof Hub Accessibility Audit

Status: `proof_hub_accessibility_audit_draft_closed_until_human_yes`

This is a local, review-only accessibility/readability contract for the Afterparty Forge 2045 proof hub. It does not publish, post, upload, stream, record, collect payment, start GPU/training work, or change cron jobs.

## Operator goal

Before an awake operator shares the proof hub in a screen-share, X thread, YouTube description, private demo, or launch report, run the accessibility checks below and confirm the page can be understood without relying only on neon visuals or video/audio playback.

## Required commands

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

Expected highlights:

- `VERIFY OK afterparty explainer site`
- `STATIC SURFACE OK ... json_manifests=13 ...`
- no trailing-whitespace errors from `git diff --check`
- clean branch after the verified commit

## 60-second accessibility screen path

1. Open `docs/index.html` or the GitHub Pages proof hub.
2. Confirm the hero explains the project in plain text: a missed launch became a bounded rebound engine.
3. Confirm every visible image in the proof hub has meaningful `alt` text.
4. Confirm every video has nearby text explaining what it shows before playback.
5. Confirm manual-only/public-safety copy is visible without opening JSON.
6. Confirm links point to docs/manifests for captions, launch art, X drafts, screen checklist, proof index, wake readiness, and static verification.
7. Confirm no page copy claims revenue, OpenAI affiliation, automatic posting, hidden recording, livestreaming, paid promotion, or customer results.

## Human approval question

Do you approve using the accessibility-audited proof hub in a public or private demo after reviewing the page visually and confirming the exact copy/media shown?

## Blocked without approval

- public posting or scheduling
- X/Twitter Space creation, livestream creation, or recording
- YouTube upload, caption upload, or Shorts upload
- outreach, DMs, email, or lead scraping
- checkout/payment links, invoices, paid promotion, or spend
- revenue, customer, sponsorship, attendance, or OpenAI affiliation claims
- private media upload or secret-bearing screen share
- GPU jobs, model downloads, training, or cron mutation

## Closed gates

- public_posting=false
- outreach=false
- paid_promotion=false
- claim_revenue=false
- claim_openai_affiliation=false
- youtube_upload=false
- publishes_stream=false
- records_audio=false
- uploads_private_media=false
- starts_gpu=false
- starts_paid_api=false
- downloads_models=false
- starts_training=false
- mutates_cron=false
- secret_exposure=false

## Proof paths

- `docs/index.html`
- `docs/data/accessibility-audit.json`
- `docs/data/site-manifest.json`
- `scripts/verify_site.py`
- `scripts/verify_static_surface.py`
- `docs/youtube/CAPTIONS_TRANSCRIPTS_PACK.md`
- `docs/reports/STATIC_SURFACE_VERIFICATION.md`

## Notes for future improvements

- Add full transcript excerpts beside each video if the page becomes more video-heavy.
- Add reduced-motion CSS if animation intensity increases.
- Add a browser/visual QA screenshot when a browser is available; this run uses static parser and text checks only.
