{
  "status": "wake_report_outcome_review_checklist_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/",
  "review_only": true,
  "manual_report_required": true,
  "manual_outcome_review_required": true,
  "manual_receipt_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,
  "provider_credential_check": false,
  "voice_to_shell": false,
  "secret_exposure": false,
  "human_approval_question": "Do you approve using this Sonic-Forage wake report outcome review checklist to decide whether the filled outcome log is complete, incomplete, or blocked before any separate action?",
  "review_decision_options": [
    {
      "id": "accept_outcome_log_as_complete",
      "meaning": "All required fields were filled from repo-local proof paths and the operator can archive the outcome as a manual record.",
      "allowed_next_step": "Record the manual archive note locally or keep building proof.",
      "proof_path": "docs/reports/WAKE_REPORT_OUTCOME_LOG_TEMPLATE.md",
      "closed_gate": "No posting, outreach, upload, payment, provider, GPU, training, voice-to-shell, or cron action is authorized."
    },
    {
      "id": "mark_outcome_log_incomplete",
      "meaning": "One or more proof paths, commit references, or closed-gate attestations are missing or uncertain.",
      "allowed_next_step": "Return to the delivery receipt, Pages receipt, launch proof index, or source map before writing a final outcome.",
      "proof_path": "docs/reports/WAKE_REPORT_DELIVERY_RECEIPT_TEMPLATE.md",
      "closed_gate": "Uncertain fields must remain pending; do not invent external results."
    },
    {
      "id": "escalate_blocker_to_human",
      "meaning": "A verifier, push, Pages, provider-boundary, or proof-path blocker needs human attention before the outcome can be trusted.",
      "allowed_next_step": "Summarize the sanitized blocker in the manual report without checking credentials or starting providers.",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "closed_gate": "Provider credential checks, stream restarts, payment workflows, and cron mutation remain closed."
    },
    {
      "id": "suppress_no_news_followup",
      "meaning": "Nothing new happened after inspection, verifiers are clean, no blocker exists, and the silence suppression criteria are satisfied.",
      "allowed_next_step": "Use the silence suppression card for the manual no-news decision instead of sending redundant copy.",
      "proof_path": "docs/reports/WAKE_REPORT_SILENCE_SUPPRESSION_CARD.md",
      "closed_gate": "Silence is only a reporting choice; it is not approval for public or commercial action."
    }
  ],
  "review_steps": [
    {
      "step": "Open the outcome log template and confirm every required field is grounded in a repo-local proof path.",
      "proof_path": "docs/reports/WAKE_REPORT_OUTCOME_LOG_TEMPLATE.md",
      "expected_signal": "outcome fields reference delivery, commit, proof-path, decision, and closed-gate evidence"
    },
    {
      "step": "Cross-check the delivery receipt before trusting the reported delivery channel or commit state.",
      "proof_path": "docs/reports/WAKE_REPORT_DELIVERY_RECEIPT_TEMPLATE.md",
      "expected_signal": "manual receipt fields are present and provider credentials were not checked"
    },
    {
      "step": "Use the source map and launch proof index for every built-artifact claim.",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "expected_signal": "claims point back to repo-local proof paths and non-claims remain explicit"
    },
    {
      "step": "If no new proof, blocker, or failure occurred, compare against the silence suppression card before sending copy.",
      "proof_path": "docs/reports/WAKE_REPORT_SILENCE_SUPPRESSION_CARD.md",
      "expected_signal": "manual_silence_decision_required=true with all gates still closed"
    },
    {
      "step": "Choose exactly one review decision, then stop before any external action unless a separate awake approval exists.",
      "proof_path": "docs/launch/PROOF_HUB_NEXT_DECISION_COMPASS.md",
      "expected_signal": "zero-or-one local next route and no public/commercial/provider side effect"
    }
  ],
  "safe_wording": [
    "Outcome review is a manual audit of already-delivered report evidence, not a launch action.",
    "Incomplete proof fields should remain pending rather than being inferred from memory.",
    "Provider, stream, dataset, and revenue statements must stay framed as local proof or explicitly blocked.",
    "A no-news decision requires inspected repo state, verifier status, and all gates closed.",
    "Any real external next step needs a separate human approval for exact copy, destination, and scope."
  ],
  "do_not_say": [
    "A public post or upload exists without a human approval record.",
    "A stream, Space, or OBS session ran without an operator receipt.",
    "Provider credentials were checked by the unattended job.",
    "A buyer was contacted by automation.",
    "A payment artifact exists without approval.",
    "Revenue, customer traction, or platform affiliation is proven without source evidence.",
    "A GPU, training, model-download, or paid API lane ran unattended.",
    "Cron jobs were created, edited, paused, or deleted by this report lane."
  ],
  "blocked_without_approval": [
    "post or schedule social copy",
    "upload YouTube captions, Shorts, thumbnails, videos, or private media",
    "start or schedule a livestream, Space, OBS output, recording, or RTMP/Kick/Twitch session",
    "send buyer outreach, follow-up, invoice, checkout, or payment links",
    "claim revenue, customer traction, provider approval, or OpenAI affiliation",
    "check or print provider credentials, stream keys, tokens, or private endpoints",
    "publish the private HF dataset or move private media",
    "start GPU jobs, paid APIs, model downloads, training, wallet actions, voice-to-shell, or cron mutation"
  ],
  "verifier_commands": [
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "python3 -m json.tool docs/data/wake-report-outcome-review-checklist.json >/dev/null",
    "git diff --check",
    "git status --short --branch"
  ],
  "proof_paths": [
    "docs/reports/WAKE_REPORT_OUTCOME_LOG_TEMPLATE.md",
    "docs/reports/WAKE_REPORT_DELIVERY_RECEIPT_TEMPLATE.md",
    "docs/reports/WAKE_REPORT_SILENCE_SUPPRESSION_CARD.md",
    "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
    "docs/reports/LAUNCH_PROOF_INDEX.md",
    "docs/launch/PROOF_HUB_NEXT_DECISION_COMPASS.md",
    "docs/data/site-manifest.json",
    "scripts/verify_site.py"
  ],
  "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,
    "payment_links": false,
    "invoice_execution": false,
    "claim_revenue": false,
    "claim_openai_affiliation": false,
    "provider_credential_check": false,
    "hf_dataset_publication": false,
    "starts_gpu": false,
    "starts_paid_api": false,
    "downloads_models": false,
    "starts_training": false,
    "wallet_actions": false,
    "voice_to_shell": false,
    "secret_exposure": false,
    "mutates_cron": false
  }
}
