{
  "schema_version": "codex_gitea_blocked_products_owner_response_acceptance_v1",
  "generated_at": "2026-06-24T14:44:00+08:00",
  "scope": "Acceptance ledger for blocked product owner responses before any remote dev branch or product repo write",
  "summary": {
    "blocked_product_count": 8,
    "acceptance_candidate_count": 8,
    "required_owner_response_field_count": 14,
    "acceptance_check_count": 16,
    "rejection_guard_count": 15,
    "default_blocker_count": 21,
    "owner_response_received_count": 0,
    "owner_response_accepted_count": 0,
    "owner_response_rejected_count": 0,
    "review_branch_ready_count": 0,
    "remote_dev_branch_ready_count": 0,
    "remote_dev_branch_created_count": 0,
    "product_repo_write_authorized_count": 0,
    "product_repo_write_performed_count": 0,
    "runtime_write_authorized_count": 0,
    "runtime_write_performed_count": 0,
    "secret_values_collected_count": 0,
    "env_file_content_read_count": 0,
    "raw_git_sync_allowed": false,
    "raw_conversation_sync_allowed": false
  },
  "required_owner_response_fields": [
    "owner_role_or_team",
    "decision",
    "decision_reason",
    "accepted_baseline_source",
    "include_groups",
    "exclude_groups",
    "quarantined_paths_ack",
    "env_secret_policy_ack",
    "generated_artifact_policy_ack",
    "review_branch_allowed",
    "remote_dev_branch_allowed",
    "runtime_write_allowed",
    "followup_owner",
    "evidence_refs"
  ],
  "acceptance_checks": [
    "owner_role_or_team_is_present",
    "decision_is_product_specific",
    "decision_reason_is_present",
    "baseline_source_is_explicit",
    "include_groups_are_specific",
    "exclude_groups_are_specific",
    "quarantined_paths_ack_is_true",
    "env_secret_policy_ack_is_true",
    "generated_artifact_policy_ack_is_true",
    "review_branch_allowed_is_explicit",
    "remote_dev_branch_allowed_is_explicit",
    "runtime_write_allowed_is_false",
    "evidence_refs_are_redacted",
    "followup_owner_is_present",
    "no_secret_value_or_partial_secret_present",
    "no_raw_conversation_or_raw_git_sync_requested"
  ],
  "rejection_guards": [
    "generic_approval_phrase_only",
    "missing_owner_role_or_team",
    "missing_decision_reason",
    "missing_baseline_source",
    "ambiguous_include_or_exclude_groups",
    "requests_secret_value_or_env_content",
    "requests_raw_git_directory_sync",
    "requests_raw_codex_or_chatgpt_history_sync",
    "requests_runtime_volume_sync",
    "requests_runtime_write",
    "requests_product_repo_write_without_review_branch",
    "requests_remote_dev_branch_without_explicit_product_decision",
    "includes_generated_outputs_without_sanitized_policy",
    "includes_logs_or_backup_archives_without_policy",
    "missing_redacted_evidence_refs"
  ],
  "products": [
    {
      "product_id": "clawbot-openclaw",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/CLAWBOT-OPENCLAW-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-1 ClawBot / OpenClaw",
      "default_blockers": [
        "owner_response_missing",
        "two_file_drift_not_accepted"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    },
    {
      "product_id": "tsenyang-website",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/TSENYANG-WEBSITE-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-2 Tsenyang Website",
      "default_blockers": [
        "owner_response_missing",
        "presentation_output_policy_missing"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    },
    {
      "product_id": "agent-bounty-protocol",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/AGENT-BOUNTY-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-3 Agent Bounty",
      "default_blockers": [
        "owner_response_missing",
        "a2a_treasury_scope_not_accepted",
        "backup_archive_policy_missing"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    },
    {
      "product_id": "2026fifa",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/2026FIFA-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-4 2026FIFA",
      "default_blockers": [
        "owner_response_missing",
        "narrow_scanner_not_completed"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    },
    {
      "product_id": "vibework",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/VIBEWORK-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-5 VibeWork",
      "default_blockers": [
        "owner_response_missing",
        "release_scope_not_split_or_accepted",
        "diff_check_debt_unresolved"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    },
    {
      "product_id": "stockplatform-v2",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/STOCKPLATFORM-V2-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-6 StockPlatform v2",
      "default_blockers": [
        "owner_response_missing",
        "tmp_generated_outputs_not_excluded",
        "source_candidate_policy_missing"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    },
    {
      "product_id": "bitan-pharmacy",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/BITAN-PHARMACY-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-7 Bitan Pharmacy",
      "default_blockers": [
        "owner_response_missing",
        "internal_inventory_missing",
        "public_content_cleanliness_evidence_policy_missing"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    },
    {
      "product_id": "vtuber",
      "acceptance_status": "waiting_owner_response",
      "decision_package": "docs/operations/VTUBER-DEV-BASELINE-OWNER-DECISION-2026-06-24.md",
      "response_template_section": "P1-8 VTuber",
      "default_blockers": [
        "owner_response_missing",
        "repository_identity_unresolved",
        "remote_repo_missing"
      ],
      "review_branch_ready": false,
      "remote_dev_branch_ready": false
    }
  ],
  "hard_gates": [
    "Owner response accepted count remains 0 until product-specific responses pass all acceptance checks.",
    "A generic approval phrase cannot create review branches, remote dev branches, or product repo writes.",
    "remote_dev_branch_allowed=true is product-specific and does not imply runtime write.",
    "runtime_write_allowed must remain false in this owner response flow.",
    "Secrets, env contents, raw git directories, raw conversations, runtime volumes, generated outputs, logs, and backup archives remain excluded unless a sanitized product-specific policy accepts them."
  ],
  "recommended_next_step": "Process the smallest low-blast-radius product first only after a complete owner response arrives; otherwise keep all eight products in waiting_owner_response."
}
