{
  "schema": "sonic_forage.wake_report_archive_summary_card.v1",
  "generated_utc": "2026-05-06T14:47:03Z",
  "status": "wake_report_archive_summary_card_manual_report_only_closed_until_human_yes",
  "canonical_namespace": "Sonic-Forage",
  "canonical_repo": "Sonic-Forage/afterparty-forge-explainer-site",
  "canonical_pages": "https://sonic-forage.github.io/afterparty-forge-explainer-site/",
  "review_only": true,
  "manual_report_required": true,
  "manual_summary_required": true,
  "manual_reuse_review_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 archive summary card as the one-screen source map for a manual wake-report readout?",
  "summary_lanes": [
    {
      "id": "latest_delivery_boundary",
      "readout": "Start with the delivery envelope, final paste card, and copy QA card before any archived claim is reused.",
      "proof_path": "docs/reports/WAKE_REPORT_DELIVERY_ENVELOPE.md",
      "expected_signal": "manual-report-only delivery boundary"
    },
    {
      "id": "source_map_freshness",
      "readout": "Reopen the wake report source map and Pages verification receipt before quoting artifact status.",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "expected_signal": "claim-to-source grounding remains repo-local"
    },
    {
      "id": "outcome_archive_reference",
      "readout": "If a prior outcome is referenced, first record or inspect the archive index entry and outcome review decision.",
      "proof_path": "docs/reports/WAKE_REPORT_OUTCOME_ARCHIVE_INDEX.md",
      "expected_signal": "exactly one manual next decision is preserved"
    },
    {
      "id": "retrieval_guardrail",
      "readout": "Use the retrieval checklist and reuse guardrails to decide whether archived evidence is fresh enough to cite.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_REUSE_GUARDRAILS.md",
      "expected_signal": "reuse stays local/manual and closed until human yes"
    },
    {
      "id": "final_no_news_boundary",
      "readout": "If nothing changed after verification, use silence suppression rather than adding unsupported claims.",
      "proof_path": "docs/reports/WAKE_REPORT_SILENCE_SUPPRESSION_CARD.md",
      "expected_signal": "no-news suppression remains a manual decision"
    }
  ],
  "one_screen_readout_route": [
    {
      "step": "Run the aggregate verifier and confirm the current commit or blocker.",
      "proof_path": "scripts/verify_site.py",
      "expected_signal": "VERIFY OK afterparty explainer site"
    },
    {
      "step": "Open the delivery envelope or final paste card and keep the public/provider boundary intact.",
      "proof_path": "docs/reports/WAKE_REPORT_FINAL_PASTE_CARD.md",
      "expected_signal": "closed gates remain false"
    },
    {
      "step": "Open the source map and Pages receipt before citing live-site proof.",
      "proof_path": "docs/reports/PAGES_VERIFICATION_RECEIPT.md",
      "expected_signal": "cache-busted Pages proof is explicitly checked or marked pending"
    },
    {
      "step": "Open archive retrieval and reuse guardrails only if an archived outcome is needed.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_RETRIEVAL_CHECKLIST.md",
      "expected_signal": "manual retrieval required"
    },
    {
      "step": "Choose zero or one manual readout route; otherwise suppress no-news followup.",
      "proof_path": "docs/data/wake-report-archive-summary-card.json",
      "expected_signal": "wake_report_archive_summary_card_manual_report_only_closed_until_human_yes"
    }
  ],
  "summary_decision_options": [
    {
      "id": "use_current_source_map_only",
      "allowed_next_step": "Paste a manual readout grounded only in current source-map and Pages receipt proof.",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "closed_gate": "No public posting, upload, stream, payment, provider check, or cron action."
    },
    {
      "id": "reuse_one_archived_outcome_after_recheck",
      "allowed_next_step": "Reuse exactly one archived outcome only after retrieval, freshness, and guardrail checks pass.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_REUSE_GUARDRAILS.md",
      "closed_gate": "No archived outcome becomes an external-results claim."
    },
    {
      "id": "request_human_blocker_review",
      "allowed_next_step": "Escalate a sanitized blocker to the awake operator.",
      "proof_path": "docs/reports/WAKE_REPORT_OUTCOME_REVIEW_CHECKLIST.md",
      "closed_gate": "No credentials, secrets, or provider checks are exposed."
    },
    {
      "id": "suppress_no_news_followup",
      "allowed_next_step": "Suppress the followup when verification finds no new committed proof, media, docs, Pages artifact, blocker, or failure.",
      "proof_path": "docs/reports/WAKE_REPORT_SILENCE_SUPPRESSION_CARD.md",
      "closed_gate": "No redundant report is sent merely to say nothing changed."
    }
  ],
  "safe_wording": [
    "Repo-local proof is available for manual review.",
    "Pages proof should be cache-busted and tied to the verified commit or marked pending.",
    "Archived outcomes are source evidence only after a freshness recheck.",
    "Commercial, public, provider, stream, and upload actions remain closed until an awake human says yes.",
    "If no new proof changed, silence suppression is acceptable."
  ],
  "do_not_say": [
    "Revenue was earned or buyers were reached without verified payment and approval.",
    "Provider credentials were checked during the unattended run.",
    "A stream, Space, upload, or social post happened automatically.",
    "A private dataset or media file was published.",
    "A GPU, training, model download, or paid API job ran.",
    "Sonic-Forage has platform affiliation unless separately verified.",
    "Archive evidence proves a live external result without a fresh recheck.",
    "Cron schedules were changed by this summary card."
  ],
  "blocked_without_approval": [
    "public posting or social scheduling",
    "YouTube or caption upload",
    "livestream, Space, OBS, RTMP, or recording start",
    "buyer outreach, payment links, invoices, or revenue claims",
    "provider credential checks or API-key display",
    "private-media or dataset publication",
    "GPU, paid API, model download, or training jobs",
    "voice-to-shell, wallet, secret, or cron mutation actions"
  ],
  "proof_paths": [
    "docs/reports/WAKE_REPORT_ARCHIVE_SUMMARY_CARD.md",
    "docs/data/wake-report-archive-summary-card.json",
    "docs/reports/WAKE_REPORT_ARCHIVE_REUSE_GUARDRAILS.md",
    "docs/reports/WAKE_REPORT_ARCHIVE_RETRIEVAL_CHECKLIST.md",
    "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
    "docs/reports/PAGES_VERIFICATION_RECEIPT.md",
    "docs/reports/WAKE_REPORT_SILENCE_SUPPRESSION_CARD.md",
    "scripts/verify_site.py"
  ],
  "verifier_commands": [
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "python3 -m json.tool docs/data/wake-report-archive-summary-card.json >/dev/null",
    "git diff --check"
  ],
  "closed_gates": {
    "public_posting": false,
    "outreach": false,
    "paid_promotion": false,
    "payment_link_creation": false,
    "invoice_creation_or_sending": false,
    "claim_revenue": false,
    "claim_openai_affiliation": false,
    "youtube_upload": false,
    "caption_upload": false,
    "publishes_stream": false,
    "starts_space": false,
    "records_audio": false,
    "uploads_private_media": false,
    "public_dataset_release": false,
    "provider_credential_check": false,
    "starts_gpu": false,
    "starts_paid_api": false,
    "downloads_models": false,
    "starts_training": false,
    "voice_to_shell": false,
    "wallet_action": false,
    "secret_exposure": false,
    "mutates_cron": false
  }
}
