{
  "schema": "wake_report_archive_citation_archive_summary_stoplight_card.v1",
  "generated_utc": "2026-05-06T20:21:53Z",
  "status": "wake_report_archive_citation_archive_summary_stoplight_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/",
  "purpose": "Compress the archive-citation archive summary signoff checklist into a green/yellow/red manual readout boundary before any archived evidence wording is reused.",
  "review_only": true,
  "manual_report_required": true,
  "manual_archive_summary_stoplight_required": true,
  "manual_archive_summary_signoff_required": true,
  "manual_archive_summary_decision_required": true,
  "manual_source_map_recheck_required": true,
  "manual_pages_receipt_recheck_required": true,
  "manual_packet_qa_recheck_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 archive-citation archive summary stoplight card as the manual boundary for the next wake report?",
  "stoplight_decisions": [
    {
      "id": "green_current_source_map_only",
      "color": "green",
      "when_allowed": "Use only current source-map wording after the signoff checklist, Pages receipt, packet QA, and verifier proof paths are rechecked.",
      "allowed_next_step": "Paste a current-source-map-only manual report line after awake review.",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "closed_gate": "No archive evidence reuse beyond current source-map wording without separate human approval."
    },
    {
      "id": "yellow_one_archive_citation_after_recheck",
      "color": "yellow",
      "when_allowed": "Use at most one archived outcome only after source-map, Pages receipt, archive summary signoff, packet QA, and verifier rechecks are current.",
      "allowed_next_step": "Draft one archive-citation line for manual review; do not deliver it automatically.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_SIGNOFF_CHECKLIST.md",
      "closed_gate": "Archive citation stays local/manual and may be suppressed if any proof path is stale."
    },
    {
      "id": "red_suppress_or_escalate_blocker",
      "color": "red",
      "when_allowed": "Use when a proof path is missing, verifier fails, Pages/raw boundary is stale, or the reporter cannot verify zero-or-one archive route discipline.",
      "allowed_next_step": "Suppress archive reference or record a sanitized human blocker in the manual report.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_DECISION_ROUTER.md",
      "closed_gate": "No public post, provider check, payment, outreach, stream, GPU, training, voice-to-shell, secret, or cron action follows automatically."
    }
  ],
  "stoplight_checks": [
    {
      "id": "source_map_current",
      "question": "Was the wake report source map reopened and matched to the current proof hub?",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "expected_signal": "source-map proof lanes and safe wording are current",
      "closed_gate": "No external claim is made from stale source-map text."
    },
    {
      "id": "pages_receipt_boundary",
      "question": "Was the Pages receipt or raw exact-commit boundary rechecked before any readout?",
      "proof_path": "docs/reports/PAGES_VERIFICATION_RECEIPT.md",
      "expected_signal": "Pages/raw boundary is verified or a sanitized blocker is reported",
      "closed_gate": "No live-site claim is expanded beyond verified proof."
    },
    {
      "id": "packet_qa_reopened",
      "question": "Was the archive citation packet QA reopened before choosing a stoplight route?",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_PACKET_QA.md",
      "expected_signal": "packet-QA checklist supports or blocks the route",
      "closed_gate": "No archive packet is treated as approval to post or contact anyone."
    },
    {
      "id": "signoff_reopened",
      "question": "Was the archive summary signoff checklist reopened after the decision router?",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_SIGNOFF_CHECKLIST.md",
      "expected_signal": "signoff route is zero-or-one and local/manual",
      "closed_gate": "No automatic delivery or archive reuse occurs."
    },
    {
      "id": "verifier_reran",
      "question": "Did the reporter rerun or cite the current static verifier result before selecting a color?",
      "proof_path": "scripts/verify_site.py",
      "expected_signal": "VERIFY OK afterparty explainer site",
      "closed_gate": "No green/yellow/red decision overrides verifier failure."
    }
  ],
  "stoplight_steps": [
    {
      "step": "Open the source map and Pages receipt first.",
      "proof_path": "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
      "expected_signal": "claim-source map is available"
    },
    {
      "step": "Reopen packet QA and signoff checklist before selecting a color.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_SIGNOFF_CHECKLIST.md",
      "expected_signal": "zero-or-one route is explicit"
    },
    {
      "step": "Choose exactly one color: green, yellow, or red.",
      "proof_path": "docs/data/wake-report-archive-citation-archive-summary-stoplight-card.json",
      "expected_signal": "one stoplight decision route is selected"
    },
    {
      "step": "If yellow, draft only one archive-citation line for human review.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_DECISION_ROUTER.md",
      "expected_signal": "archive reuse remains local/manual"
    },
    {
      "step": "If red, suppress the archive reference or record a sanitized blocker.",
      "proof_path": "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_DECISION_ROUTER.md",
      "expected_signal": "no unsafe follow-up action is implied"
    }
  ],
  "safe_wording": [
    "Green means current source-map wording only, after local recheck.",
    "Yellow means one archived outcome may be drafted for manual review after all proof paths are reopened.",
    "Red means suppress archive references or escalate a sanitized blocker.",
    "The card is a reporting boundary, not approval to post, stream, contact, pay, upload, train, or check provider credentials.",
    "All choices remain local/manual until a separate awake human approval."
  ],
  "do_not_say": [
    "Archived evidence is approved without recheck.",
    "A buyer or partner was contacted by automation.",
    "A payment artifact exists without approval.",
    "A live stream or Space was started by automation.",
    "Provider credentials were checked by this run.",
    "A dataset or private media upload happened in this increment.",
    "A GPU, training, or paid API job ran in this increment.",
    "Cron schedules were changed by this run."
  ],
  "blocked_without_approval": [
    "public posting",
    "social scheduling",
    "outreach or lead contact",
    "payment link or invoice creation",
    "stream or Space start",
    "provider credential checks",
    "private media or dataset upload",
    "HF publication",
    "GPU or paid API execution",
    "model download or training",
    "voice-to-shell",
    "cron mutation"
  ],
  "closed_gates": {
    "public_posting": false,
    "outreach": false,
    "payments": false,
    "uploads": false,
    "streams": false,
    "provider_credential_check": false,
    "gpu_jobs": false,
    "paid_api_jobs": false,
    "training": false,
    "voice_to_shell": false,
    "secret_exposure": false,
    "mutates_cron": false
  },
  "proof_paths": [
    "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_STOPLIGHT_CARD.md",
    "docs/data/wake-report-archive-citation-archive-summary-stoplight-card.json",
    "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_SIGNOFF_CHECKLIST.md",
    "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_ARCHIVE_SUMMARY_DECISION_ROUTER.md",
    "docs/reports/WAKE_REPORT_ARCHIVE_CITATION_PACKET_QA.md",
    "docs/reports/WAKE_REPORT_SOURCE_MAP.md",
    "docs/reports/PAGES_VERIFICATION_RECEIPT.md",
    "scripts/verify_site.py"
  ],
  "verifier_commands": [
    "PYTHONDONTWRITEBYTECODE=1 python3 scripts/verify_site.py",
    "python3 -m json.tool docs/data/wake-report-archive-citation-archive-summary-stoplight-card.json >/dev/null",
    "git diff --check"
  ],
  "morning_operator_next_step": "Select green/yellow/red only after local proof-path rechecks; otherwise suppress archive references or record a sanitized blocker."
}
