{
  "status": "wake_report_copy_qa_card_manual_report_only_closed_until_human_yes",
  "canonical_namespace": "Sonic-Forage",
  "canonical_repo": "Sonic-Forage/afterparty-forge-explainer-site",
  "canonical_pages_url": "https://sonic-forage.github.io/afterparty-forge-explainer-site/",
  "generated_utc": "2026-05-06T12:24:59Z",
  "review_only": true,
  "manual_report_required": true,
  "manual_review_required": true,
  "manual_copy_qa_required": true,
  "requires_human_approval": true,
  "auto_post_enabled": false,
  "auto_upload_enabled": false,
  "auto_stream_enabled": false,
  "auto_payment_enabled": false,
  "auto_outreach_enabled": false,
  "auto_gpu_enabled": false,
  "auto_paid_api_enabled": false,
  "auto_training_enabled": false,
  "auto_cron_mutation_enabled": false,
  "voice_to_shell": false,
  "secret_exposure": false,
  "human_approval_question": "Do you approve using the Sonic-Forage wake report copy QA card as a manual final wording check after rerunning the verifier stack and confirming the exact report lines remain true?",
  "qa_checks": [
    {
      "id": "current_repo_state",
      "question": "Do the final report lines cite only the current checkout, current verifier output, and current Pages/proof paths?",
      "pass_signal": "Report copy names a current commit or explicitly says local-only when push/live Pages are not verified.",
      "proof_path": "docs/reports/WAKE_REPORT_FINAL_PASTE_CARD.md"
    },
    {
      "id": "closed_gate_scan",
      "question": "Does every line preserve no posting, no upload, no stream, no outreach, no payment, no provider credential check, no GPU/training, no secret, and no cron mutation claims?",
      "pass_signal": "Copy uses manual-report-only wording and all closed gates remain false.",
      "proof_path": "docs/data/wake-report-final-paste-card.json"
    },
    {
      "id": "source_map_alignment",
      "question": "Does each proof claim map to the source map, launch proof index, Pages receipt, or one-screen readout?",
      "pass_signal": "Every claim has an existing repo-local proof path before delivery.",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md"
    },
    {
      "id": "stream_provider_boundary",
      "question": "Does stream wording distinguish local media/proof health from provider, RTMP, Kick, Twitch, OBS, or credential approval?",
      "pass_signal": "The report does not imply a live stream, provider session, chat connection, or credential check.",
      "proof_path": "docs/streaming/STREAM_LOOP_LOCAL_HEALTH_RECEIPT.md"
    },
    {
      "id": "human_next_step_boundary",
      "question": "Does the report end with zero or one human-approved next route and avoid executing that route?",
      "pass_signal": "Next step points to the decision compass or keep-building-proof; no external action is started.",
      "proof_path": "docs/launch/PROOF_HUB_NEXT_DECISION_COMPASS.md"
    }
  ],
  "copy_qa_route": [
    {
      "step": "Run the site verifier before trusting any report line.",
      "command": "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
      "proof_path": "scripts/verify_site.py",
      "expected_signal": "VERIFY OK afterparty explainer site"
    },
    {
      "step": "Run diff hygiene after the QA card is in place.",
      "command": "git diff --check",
      "proof_path": "docs/data/wake-report-copy-qa-card.json",
      "expected_signal": "no output and exit code 0"
    },
    {
      "step": "Read the final paste card and remove stale lines before delivery.",
      "command": "read docs/reports/WAKE_REPORT_FINAL_PASTE_CARD.md",
      "proof_path": "docs/reports/WAKE_REPORT_FINAL_PASTE_CARD.md",
      "expected_signal": "five manual report lines are visible and closed-gate"
    },
    {
      "step": "Cross-check the source map for any claim that names proof, Pages, stream, dataset, or media status.",
      "command": "read docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "expected_signal": "claim-to-source map is visible"
    },
    {
      "step": "Open the stream local-health receipt if report copy mentions media or stream loop health.",
      "command": "read docs/streaming/STREAM_LOOP_LOCAL_HEALTH_RECEIPT.md",
      "proof_path": "docs/streaming/STREAM_LOOP_LOCAL_HEALTH_RECEIPT.md",
      "expected_signal": "local media health is separated from live provider status"
    },
    {
      "step": "Stop before posting, uploading, streaming, billing, contacting, checking provider credentials, or mutating cron.",
      "command": "manual approval only",
      "proof_path": "docs/launch/PROOF_HUB_NEXT_DECISION_COMPASS.md",
      "expected_signal": "zero-or-one human route boundary is visible"
    }
  ],
  "safe_wording": [
    "manual-report-only copy QA",
    "verified against repo-local proof paths",
    "closed until human approval",
    "local media proof, not live provider approval",
    "no external action performed"
  ],
  "do_not_say": [
    "posted the launch",
    "uploaded the video",
    "started the stream",
    "buyers were contacted unattended",
    "revenue was made",
    "OpenAI affiliation exists",
    "dataset is public",
    "GPU training started",
    "provider credentials were checked",
    "cron was updated"
  ],
  "blocked_without_approval": [
    "posting or scheduling social copy",
    "uploading YouTube videos, captions, Shorts, thumbnails, datasets, or private media",
    "starting Twitter Spaces, livestreams, OBS, RTMP, Twitch, Kick, recordings, or chat integrations",
    "sending outreach, DMs, email, forms, buyer follow-ups, or public announcements",
    "creating payment links, checkout, invoices, wallets, paid promotion, or revenue claims",
    "claiming customers, public launch, provider approval, platform affiliation, or OpenAI affiliation",
    "checking provider credentials or printing secret-bearing environment details",
    "starting GPU, paid API, model download, Modal job, training, or evaluation work",
    "running voice-to-shell or live-provider automations",
    "creating, updating, pausing, removing, or scheduling cron jobs"
  ],
  "verifier_commands": [
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "python3 -m json.tool docs/data/wake-report-copy-qa-card.json >/dev/null",
    "git diff --check",
    "git status --short --branch"
  ],
  "proof_paths": [
    "docs/reports/WAKE_REPORT_COPY_QA_CARD.md",
    "docs/data/wake-report-copy-qa-card.json",
    "docs/reports/WAKE_REPORT_FINAL_PASTE_CARD.md",
    "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
    "docs/reports/PAGES_VERIFICATION_RECEIPT.md",
    "docs/streaming/STREAM_LOOP_LOCAL_HEALTH_RECEIPT.md",
    "docs/launch/PROOF_HUB_NEXT_DECISION_COMPASS.md",
    "scripts/verify_site.py",
    "docs/index.html"
  ],
  "closed_gates": {
    "public_posting": false,
    "social_scheduling": false,
    "youtube_upload": false,
    "caption_upload": false,
    "publishes_stream": false,
    "records_audio": false,
    "uploads_private_media": false,
    "outreach": false,
    "payments_or_invoices": false,
    "claim_revenue": false,
    "claim_openai_affiliation": false,
    "public_dataset_release": false,
    "hf_upload": false,
    "starts_gpu": false,
    "starts_paid_api": false,
    "downloads_models": false,
    "starts_training": false,
    "provider_credential_check": false,
    "voice_to_shell": false,
    "secret_exposure": false,
    "mutates_cron": false
  }
}
