{
  "schema_version": "github_target_owner_decision_response_v1",
  "status": "draft_waiting_owner_response",
  "date": "2026-06-11",
  "mode": "owner_decision_response_intake_only",
  "runtime_execution_authorized": false,
  "source_contract": "github_target_decision_v1",
  "target_contract": "github_target_repo_approval_package_v1",
  "source_indexes": [
    "docs/security/github-target-decision.snapshot.json",
    "docs/security/github-target-repo-approval-package.snapshot.json",
    "docs/security/GITHUB-TARGET-VISIBILITY-DECISION-TABLE.md",
    "docs/security/GITHUB-TARGET-REPO-APPROVAL-PACKAGE.md",
    "docs/security/source-control-approval-board.snapshot.json",
    "docs/security/source-control-primary-readiness-gate.snapshot.json",
    "docs/security/security-approval-review-packet.snapshot.json",
    "docs/security/security-followup-runtime-gate.snapshot.json"
  ],
  "summary": {
    "owner_response_status": "waiting_owner_response",
    "target_decision_count": 10,
    "approval_required_target_count": 9,
    "owner_response_request_packet_count": 1,
    "owner_response_template_status_count": 9,
    "owner_response_audit_event_template_count": 3,
    "owner_response_redaction_example_count": 5,
    "owner_response_collection_check_count": 6,
    "intake_preflight_check_count": 6,
    "response_template_count": 9,
    "received_response_count": 0,
    "accepted_response_count": 0,
    "rejected_response_count": 0,
    "acceptance_check_count": 8,
    "rejection_rule_count": 10,
    "repo_creation_authorized": false,
    "visibility_change_authorized": false,
    "refs_sync_authorized": false,
    "github_primary_switch_authorized": false,
    "secret_value_collection_allowed": false,
    "action_buttons_allowed": false,
    "target_owner_handoff_package_ready": true,
    "target_owner_handoff_completion_percent": 100,
    "target_owner_handoff_check_count": 6,
    "target_owner_handoff_packet_field_count": 9,
    "target_owner_request_dispatch_authorized": false,
    "not_found_or_private_as_absent_allowed": false,
    "repo_creation_allowed_without_owner_response": false,
    "visibility_change_allowed_without_owner_response": false,
    "github_target_owner_response_handoff_not_approval": true
  },
  "target_owner_handoff_preflight_checks": [
    {
      "check_id": "p1-3-baseline-sync",
      "display_order": 1,
      "check": "送件前確認 gitea/main、GitHub target probe、S4.9 / P1-2 最新狀態。",
      "current_status": "defined_not_dispatched",
      "execution_authorized": false
    },
    {
      "check_id": "p1-3-nine-target-scope",
      "display_order": 2,
      "check": "只向 9 個 approval-required targets 收 owner / visibility / canonical 回覆。",
      "current_status": "defined_not_dispatched",
      "execution_authorized": false
    },
    {
      "check_id": "p1-3-external-scope-summary",
      "display_order": 3,
      "check": "nexu-io/open-design 只作 external scope evidence，不納入 AWOOOI target approval queue。",
      "current_status": "defined_not_dispatched",
      "execution_authorized": false
    },
    {
      "check_id": "p1-3-not-found-or-private-semantics",
      "display_order": 4,
      "check": "not_found_or_private 只能表示 read-only probe 看不到；不得視為 repo 不存在或可直接建立。",
      "current_status": "defined_not_dispatched",
      "execution_authorized": false
    },
    {
      "check_id": "p1-3-required-owner-fields",
      "display_order": 5,
      "check": "必須有 owner role/team、decision、decision reason、affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window、validation plan。",
      "current_status": "defined_not_dispatched",
      "execution_authorized": false
    },
    {
      "check_id": "p1-3-execution-request-rejected",
      "display_order": 6,
      "check": "repo creation、visibility change、refs sync、workflow / secret 修改、primary switch 全部 hard reject。",
      "current_status": "defined_not_dispatched",
      "execution_authorized": false
    }
  ],
  "target_owner_handoff_packet": {
    "request_id": "p1_3_github_target_owner_response_handoff",
    "stage_id": "S4.10",
    "prerequisite_gates": [
      "S4.9 owner response gate",
      "P1-2 Gitea authenticated inventory request handoff"
    ],
    "requested_templates": [
      "target-awoooi-refs-blocked",
      "target-clawbot-v5-refs-blocked",
      "target-wooo-aiops-refs-blocked",
      "target-wooo-infra-config-internal-remote",
      "target-ewoooc-private-or-new",
      "target-bitan-pharmacy-private-or-new",
      "target-tsenyang-website-private-or-new",
      "target-vibework-private-or-new",
      "target-agent-bounty-protocol-private-or-new"
    ],
    "target_probe_summary": {
      "candidate_count": 10,
      "exists_count": 5,
      "not_found_or_private_count": 5,
      "external_scope_summary_repo": "nexu-io/open-design",
      "newly_added_in_scope_targets": [
        "owenhytsai/VibeWork",
        "owenhytsai/agent-bounty-protocol"
      ]
    },
    "recipient_role_or_team_required": true,
    "required_response_fields": [
      "owner_role_or_team",
      "decision",
      "decision_reason",
      "affected_scope",
      "redacted_evidence_refs",
      "followup_owner",
      "rollback_owner",
      "maintenance_window",
      "validation_plan"
    ],
    "forbidden_inputs": [
      "token_value",
      "secret_value",
      "private_key",
      "private_clone_url_credential",
      "repo_archive",
      "git_object_pack",
      "api_request_body",
      "repo_creation_command",
      "visibility_change_command",
      "refs_sync_or_delete_request",
      "github_primary_switch_request"
    ],
    "not_approval": true,
    "execution_authorized": false
  },
  "post_dispatch_invariants": [
    "Owner response 到來後仍需先進 S4.10 intake preflight 與 reviewer validation。",
    "not_found_or_private 不得自動視為 repo 不存在或可建立。",
    "通過後只可更新 read-only target decision table、approval package、approval board 與 readiness wording。",
    "不得直接建立 repo、修改 visibility、sync/delete refs、force push、改 workflow / secret、切 GitHub primary 或停用 Gitea。"
  ],
  "owner_response_request_packet": {
    "request_id": "s4_10_github_target_owner_decision_response_request",
    "display_status": "ready_to_request_owner_response",
    "requested_packet": "docs/security/GITHUB-TARGET-OWNER-DECISION-RESPONSE.md",
    "required_response_item_count": 9,
    "requested_template_ids": [
      "target-awoooi-refs-blocked",
      "target-clawbot-v5-refs-blocked",
      "target-wooo-aiops-refs-blocked",
      "target-wooo-infra-config-internal-remote",
      "target-ewoooc-private-or-new",
      "target-bitan-pharmacy-private-or-new",
      "target-tsenyang-website-private-or-new",
      "target-vibework-private-or-new",
      "target-agent-bounty-protocol-private-or-new"
    ],
    "owner_instruction_summary": "請 owner 只依 S4.10 九個 templates 回覆 GitHub target 的 owner / visibility / canonical / target disposition，且每筆都要填齊 owner role/team、decision、decision reason、affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window、validation plan；不要貼 token、secret、private clone URL credential、repo archive、git object、API request body 或任何可執行 payload。",
    "allowed_response_fields": [
      "owner_role_or_team",
      "decision",
      "decision_reason",
      "canonical_source",
      "github_target_disposition",
      "visibility_review_owner",
      "refs_truth_review_owner",
      "tag_disposition_owner",
      "github_only_refs_owner",
      "internal_remote_disposition",
      "secret_name_inventory_owner",
      "server_side_refs_diff_owner",
      "active_status",
      "evidence_refs",
      "followup_owner",
      "product_boundary_owner",
      "surface_owner",
      "external_agent_owner",
      "treasury_owner",
      "runtime_gate_owner",
      "affected_scope",
      "redacted_evidence_refs",
      "rollback_owner",
      "maintenance_window",
      "validation_plan"
    ],
    "evidence_ref_rules": [
      "只允許 repo 內既有文件、snapshot 或已脫敏 owner metadata pointer",
      "not_found_or_private 只能作為需補證或 private access request 的 evidence，不得自動視為 repo 不存在",
      "canonical_source 未知時必須明確選 unknown_requires_more_evidence 或指定補證 owner",
      "不得提供 token value、secret value、private clone URL credential、cookie、session、deploy key value 或截圖中的敏感值",
      "不確定是否含敏感值時先走 mirror quarantine，不得直接貼入 response"
    ],
    "forbidden_payloads": [
      "token_value",
      "secret_value",
      "private_key",
      "cookie_or_session",
      "private_clone_url_credential",
      "repo_creation_command",
      "visibility_change_command",
      "write_or_admin_api_request",
      "refs_sync_or_delete_request",
      "force_push_or_tag_rewrite_request",
      "github_primary_switch_request",
      "repo_archive",
      "git_object_pack",
      "db_dump",
      "unrelated_history_merge_request"
    ],
    "allowed_submission_modes": [
      "read_only_markdown_response",
      "redacted_metadata_pointer",
      "request_more_evidence",
      "out_of_scope_disposition"
    ],
    "awooop_display_mode": "display_owner_response_request_only",
    "execution_authorized": false,
    "not_approval": true,
    "still_forbidden": [
      "create_github_repo",
      "change_repo_visibility",
      "push_refs",
      "delete_refs",
      "force_push",
      "switch_github_primary",
      "store_secret_value",
      "store_token_value"
    ]
  },
  "owner_response_template_statuses": [
    {
      "template_id": "target-awoooi-refs-blocked",
      "github_repo": "owenhytsai/awoooi",
      "source_key": "wooo/awoooi",
      "display_order": 1,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/awoooi` 的 canonical source、visibility review owner 與 refs truth owner；不得把既有 GitHub target 視為可直接 primary。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-clawbot-v5-refs-blocked",
      "github_repo": "owenhytsai/clawbot-v5",
      "source_key": "wooo/clawbot-v5",
      "display_order": 2,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/clawbot-v5` 的 main SHA / tag 真相來源與 tag disposition owner；不得用單一句話批准 refs sync。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-wooo-aiops-refs-blocked",
      "github_repo": "owenhytsai/wooo-aiops",
      "source_key": "wooo/wooo-aiops",
      "display_order": 3,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/wooo-aiops` 的 GitHub-only refs owner 與 disposition；不得刪除 GitHub-only refs。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-wooo-infra-config-internal-remote",
      "github_repo": "owenhytsai/wooo-infra-config",
      "source_key": "wooo/wooo-infra-config",
      "display_order": 4,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/wooo-infra-config` 的 110 internal remote 用途與 secret name inventory owner；不得刪除 remote 或搬移 secret value。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-ewoooc-private-or-new",
      "github_repo": "owenhytsai/ewoooc",
      "source_key": "wooo/ewoooc / root/momo-pro-system / momo working trees",
      "display_order": 5,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/ewoooc` 與 momo-pro-system 的 canonical 關係、private access request 或 new target candidate disposition；不得自動建立 repo 或合併 unrelated histories。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-bitan-pharmacy-private-or-new",
      "github_repo": "owenhytsai/bitan-pharmacy",
      "source_key": "bitan-pharmacy",
      "display_order": 6,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/bitan-pharmacy` 是否仍 active、GitHub target disposition 與 visibility review owner；不得把 not_found_or_private 當成可直接建立 repo。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-tsenyang-website-private-or-new",
      "github_repo": "owenhytsai/tsenyang-website",
      "source_key": "tsenyang-website",
      "display_order": 7,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/tsenyang-website` 是否仍 active、GitHub target disposition 與 visibility review owner；不得把 not_found_or_private 當成可直接建立 repo。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-vibework-private-or-new",
      "github_repo": "owenhytsai/VibeWork",
      "source_key": "vibework",
      "display_order": 8,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/VibeWork` 的 owner / visibility / canonical / target disposition；不得把 not_found_or_private 當成可直接建立 repo。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    },
    {
      "template_id": "target-agent-bounty-protocol-private-or-new",
      "github_repo": "owenhytsai/agent-bounty-protocol",
      "source_key": "agent-bounty-protocol",
      "display_order": 9,
      "collection_status": "waiting_owner_response",
      "request_status": "request_ready_not_sent",
      "received_response_count": 0,
      "accepted_response_count": 0,
      "rejected_response_count": 0,
      "latest_outcome_lane": "keep_waiting_owner_response",
      "next_owner_action": "Owner 需回覆 `owenhytsai/agent-bounty-protocol` 的 owner / visibility / canonical / target disposition；不得把 not_found_or_private 當成可直接建立 repo。",
      "awooop_display_mode": "display_template_status_only",
      "execution_authorized": false,
      "not_approval": true,
      "still_forbidden": [
        "create_github_repo",
        "change_repo_visibility",
        "push_refs",
        "delete_refs",
        "force_push",
        "switch_github_primary",
        "store_secret_value",
        "store_token_value"
      ]
    }
  ],
  "owner_response_audit_event_templates": [
    {
      "event_template_id": "audit-github-target-response-request-shown",
      "display_order": 1,
      "event_status": "template_only_not_emitted",
      "trigger": "AwoooP 顯示 S4.10 owner response request packet 時。",
      "purpose": "只記錄 request packet 已可顯示或已顯示的 metadata，不代表 owner response 已收到。",
      "allowed_metadata_fields": [
        "event_template_id",
        "request_id",
        "requested_template_ids",
        "target_contract",
        "displayed_by_role",
        "displayed_at_taipei",
        "source_document_ref"
      ],
      "forbidden_payloads": [
        "owner_response_raw_body",
        "token_value",
        "secret_value",
        "private_key",
        "cookie_or_session",
        "private_clone_url_credential",
        "repo_creation_command",
        "visibility_change_command",
        "write_or_admin_api_request",
        "refs_sync_or_delete_request",
        "force_push_or_tag_rewrite_request",
        "github_primary_switch_request",
        "repo_archive",
        "git_object_pack",
        "db_dump",
        "execution_request_payload"
      ],
      "emitted_event_count": 0,
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_audit_template_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "event_template_id": "audit-github-target-response-received-metadata",
      "display_order": 2,
      "event_status": "template_only_not_emitted",
      "trigger": "Owner 提供 S4.10 GitHub target response metadata pointer 時。",
      "purpose": "只記錄 response 已收到的脫敏 metadata pointer；不得保存 response 原文、repo archive、git object 或敏感 payload。",
      "allowed_metadata_fields": [
        "event_template_id",
        "template_id",
        "github_repo",
        "owner_role_or_team",
        "received_at_taipei",
        "redacted_evidence_refs",
        "source_document_ref"
      ],
      "forbidden_payloads": [
        "owner_response_raw_body",
        "token_value",
        "secret_value",
        "private_key",
        "cookie_or_session",
        "private_clone_url_credential",
        "repo_creation_command",
        "visibility_change_command",
        "write_or_admin_api_request",
        "refs_sync_or_delete_request",
        "force_push_or_tag_rewrite_request",
        "github_primary_switch_request",
        "repo_archive",
        "git_object_pack",
        "db_dump",
        "execution_request_payload"
      ],
      "emitted_event_count": 0,
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_audit_template_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "event_template_id": "audit-github-target-response-outcome-classified",
      "display_order": 3,
      "event_status": "template_only_not_emitted",
      "trigger": "AwoooP 依 S4.10 acceptance checks 與 rejection rules 分類 GitHub target owner response 時。",
      "purpose": "只記錄分類結果與下一步提示；不得把 outcome、owner wording 或單項 response 當成 repo / refs / primary 執行授權。",
      "allowed_metadata_fields": [
        "event_template_id",
        "template_id",
        "github_repo",
        "collection_status",
        "latest_outcome_lane",
        "next_owner_action",
        "classified_at_taipei",
        "classified_by_role"
      ],
      "forbidden_payloads": [
        "owner_response_raw_body",
        "token_value",
        "secret_value",
        "private_key",
        "cookie_or_session",
        "private_clone_url_credential",
        "repo_creation_command",
        "visibility_change_command",
        "write_or_admin_api_request",
        "refs_sync_or_delete_request",
        "force_push_or_tag_rewrite_request",
        "github_primary_switch_request",
        "repo_archive",
        "git_object_pack",
        "db_dump",
        "execution_request_payload"
      ],
      "emitted_event_count": 0,
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_audit_template_only",
      "execution_authorized": false,
      "not_approval": true
    }
  ],
  "owner_response_redaction_examples": [
    {
      "example_id": "redaction-github-target-doc-ref",
      "display_order": 1,
      "example_status": "template_example_only",
      "category": "github_target_existing_document_reference",
      "safe_response_shape": [
        "template_id=target-awoooi-refs-blocked",
        "decision=hold_pending_refs_truth",
        "canonical_source=wooo/awoooi",
        "evidence_refs=[docs/security/GITHUB-TARGET-VISIBILITY-DECISION-TABLE.md, docs/security/source-control-ref-detail-diff.snapshot.json]",
        "decision_reason=引用既有 snapshot 與決策表，不貼 API raw body 或 repo archive"
      ],
      "required_redactions": [
        "外部 evidence 只保留 repo 內文件路徑、snapshot 路徑或已脫敏 metadata pointer",
        "GitHub API 查詢結果只能摘要為 repo slug、status、review owner 與 evidence ref",
        "不得貼完整 API request/response body、header 或 private clone URL"
      ],
      "forbidden_raw_values": [
        "token_value",
        "secret_value",
        "private_clone_url_credential",
        "api_request_header",
        "api_response_raw_body",
        "repo_archive"
      ],
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_redaction_example_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "example_id": "redaction-owner-visibility-canonical-metadata",
      "display_order": 2,
      "example_status": "template_example_only",
      "category": "owner_visibility_canonical_metadata",
      "safe_response_shape": [
        "owner_role_or_team=repo-owner-or-platform-team",
        "visibility_review_owner=security-commander",
        "canonical_source=unknown_requires_more_evidence",
        "decision=unknown_requires_more_evidence",
        "followup_owner=source-control-owner"
      ],
      "required_redactions": [
        "只寫角色或團隊，不寫個人密碼、session、one-time code 或 API token",
        "visibility decision reason 不得包含可重播的管理操作步驟或憑證",
        "followup_owner 只代表責任 owner，不代表 repo creation、visibility change 或 primary approval"
      ],
      "forbidden_raw_values": [
        "password",
        "cookie",
        "session",
        "one_time_code",
        "approval_phrase_as_execution_authorization",
        "admin_console_screenshot_with_secret"
      ],
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_redaction_example_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "example_id": "redaction-private-target-access-metadata",
      "display_order": 3,
      "example_status": "template_example_only",
      "category": "private_or_new_target_metadata",
      "safe_response_shape": [
        "template_id=target-ewoooc-private-or-new",
        "github_repo=owenhytsai/ewoooc",
        "decision=approve_private_target_access_request",
        "github_target_disposition=private_access_request_only",
        "credential_value_stored=false"
      ],
      "required_redactions": [
        "private target 只能寫 repo slug、access request status 與 owner metadata",
        "完整 clone URL 只能保留 host、namespace、repo slug；若含 userinfo、query token 或 header 必須移除值",
        "不得把 private access request 當成可建立 repo、可 fetch、可 push 或可改 visibility 的指令"
      ],
      "forbidden_raw_values": [
        "https_userinfo_credential",
        "query_token",
        "authorization_header",
        "ssh_private_key",
        "deploy_key_value",
        "git_remote_with_secret"
      ],
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_redaction_example_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "example_id": "redaction-refs-truth-dependency-summary",
      "display_order": 4,
      "example_status": "template_example_only",
      "category": "refs_truth_dependency_summary",
      "safe_response_shape": [
        "template_id=target-clawbot-v5-refs-blocked",
        "decision=hold_pending_refs_truth",
        "refs_truth_review_owner=source-control-owner",
        "server_side_refs_diff_owner=platform-ops",
        "blocked_until=[S4.11 refs truth owner response, S4.12 workflow secret name owner response]"
      ],
      "required_redactions": [
        "只保留 refs truth 責任 owner、blocking contract 與 evidence ref",
        "若引用外部 diff，必須先轉成 repo 內 snapshot 或 redacted metadata pointer",
        "不得貼 git object pack、repo archive、可執行 sync/delete/force-push 指令或 unrelated history merge request"
      ],
      "forbidden_raw_values": [
        "git_object_pack",
        "repo_archive",
        "refs_sync_command",
        "delete_refs_command",
        "force_push_command",
        "unrelated_history_merge_request"
      ],
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_redaction_example_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "example_id": "redaction-github-target-quarantine-pointer",
      "display_order": 5,
      "example_status": "template_example_only",
      "category": "uncertain_sensitive_payload",
      "safe_response_shape": [
        "collection_status=quarantine_sensitive_payload",
        "quarantine_reason=疑似含 GitHub token、private URL credential、repo archive 或未脫敏截圖",
        "raw_payload_stored_in_repo=false",
        "next_owner_action=request_redacted_metadata_pointer"
      ],
      "required_redactions": [
        "不確定是否含敏感值時先產生 quarantine pointer",
        "只留下原因、來源類型、責任 owner 與下一步，不留下原文",
        "解除 quarantine 前不得更新 received / accepted count 或 target decision wording"
      ],
      "forbidden_raw_values": [
        "owner_response_raw_body",
        "github_token_or_pat",
        "secret_screenshot",
        "private_clone_url_credential",
        "credential_file",
        "repo_archive",
        "execution_request_payload"
      ],
      "stored_raw_payload_allowed": false,
      "awooop_display_mode": "display_redaction_example_only",
      "execution_authorized": false,
      "not_approval": true
    }
  ],
  "owner_response_collection_checks": [
    {
      "check_id": "collection-github-target-request-packet-displayed",
      "display_order": 1,
      "title": "已顯示 GitHub target owner response request packet",
      "required": true,
      "pass_condition": "AwoooP 必須只顯示 `owner_response_request_packet` 的 9 個 target templates、允許欄位、脫敏 evidence 規則與禁止 payload，不得附加 repo creation、visibility change、refs sync 或 primary switch 要求。",
      "failure_lane": "keep_waiting_owner_response",
      "awooop_display": "display_request_packet_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "check_id": "collection-github-target-read-only-submission-mode",
      "display_order": 2,
      "title": "GitHub target 收件模式維持 read-only",
      "required": true,
      "pass_condition": "owner 只能用 read-only markdown response、redacted metadata pointer、request_more_evidence 或 out_of_scope_disposition；不得提交 token、repo archive、git object pack、API write request 或 execution request。",
      "failure_lane": "quarantine_sensitive_payload",
      "awooop_display": "display_read_only_submission_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "check_id": "collection-nine-target-template-tracking",
      "display_order": 3,
      "title": "九個 GitHub targets 分開追蹤",
      "required": true,
      "pass_condition": "S4.10 九個 requested_template_ids 必須逐 target 追蹤 received / accepted / rejected 狀態；不可用單一整體同意取代逐 repo owner / visibility / canonical response。",
      "failure_lane": "request_more_evidence",
      "awooop_display": "display_per_target_tracking",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "check_id": "collection-github-target-redacted-evidence-only",
      "display_order": 4,
      "title": "只收 GitHub target 脫敏 evidence refs",
      "required": true,
      "pass_condition": "收件內容只能包含 repo 內路徑、snapshot path 或已脫敏 metadata pointer；任何不確定是否含 token、private URL credential、secret、repo archive 或 git object 的資料都先進 quarantine。",
      "failure_lane": "quarantine_sensitive_payload",
      "awooop_display": "display_redacted_evidence_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "check_id": "collection-github-target-no-approval-language",
      "display_order": 5,
      "title": "不得把 GitHub target 回覆語意升級成批准",
      "required": true,
      "pass_condition": "即使 owner response 文字包含同意、OK、可進行或批准，也只能視為 owner / visibility / canonical disposition response；不得視為 repo creation、visibility change、refs sync、delete refs、force push 或 GitHub primary approval。",
      "failure_lane": "reject_execution_request",
      "awooop_display": "display_scope_response_only",
      "execution_authorized": false,
      "not_approval": true
    },
    {
      "check_id": "collection-github-target-audit-metadata-only",
      "display_order": 6,
      "title": "只記錄 GitHub target audit metadata",
      "required": true,
      "pass_condition": "AwoooP 只能記錄 request shown、response received metadata、template id、github repo、owner role/team、affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window、validation plan 與 outcome lane；不得保存 token value、secret value、private clone URL credential、repo archive、git object pack 或可執行 payload。",
      "failure_lane": "quarantine_sensitive_payload",
      "awooop_display": "display_audit_metadata_only",
      "execution_authorized": false,
      "not_approval": true
    }
  ],
  "intake_preflight_checks": [
    {
      "check_id": "preflight-known-github-target",
      "display_order": 1,
      "title": "回覆必須對應已知 GitHub target",
      "required": true,
      "pass_condition": "`github_repo` 或 `template_id` 必須對應 S4.10 九個 approval-required targets 之一，不得新增未盤點 repo 或把 not_found_or_private 自動視為可建立。",
      "failure_lane": "request_owner_correction",
      "awooop_display": "request_more_evidence",
      "execution_authorized": false
    },
    {
      "check_id": "preflight-required-github-target-owner-fields",
      "display_order": 2,
      "title": "GitHub target 必填欄位完整",
      "required": true,
      "pass_condition": "每筆 response 必須有 owner role/team、decision、decision_reason、affected_scope、redacted_evidence_refs、followup_owner、rollback_owner、maintenance_window 與 validation_plan；target-specific canonical source、target disposition、visibility review owner 或 out-of-scope disposition 仍需依 template 補齊。",
      "failure_lane": "request_more_evidence",
      "awooop_display": "request_more_evidence",
      "execution_authorized": false
    },
    {
      "check_id": "preflight-allowed-github-target-decision",
      "display_order": 3,
      "title": "GitHub target decision 在模板允許值內",
      "required": true,
      "pass_condition": "`decision` 必須落在對應 response template 的 acceptable_decisions；口頭同意、整體 OK 或未列出的執行語句都不得進入 accepted。",
      "failure_lane": "request_owner_correction",
      "awooop_display": "request_more_evidence",
      "execution_authorized": false
    },
    {
      "check_id": "preflight-github-target-redacted-evidence-only",
      "display_order": 4,
      "title": "只接受 GitHub target 脫敏 evidence refs",
      "required": true,
      "pass_condition": "`evidence_refs` 只能指向 repo 內文件、snapshot 或 owner 提供的脫敏 metadata pointer，不得含 token、secret、cookie、session、private key、private clone URL credential、repo archive 或 git object。",
      "failure_lane": "quarantine_sensitive_payload",
      "awooop_display": "quarantine_sensitive_payload",
      "execution_authorized": false
    },
    {
      "check_id": "preflight-no-source-control-execution-request",
      "display_order": 5,
      "title": "不得夾帶 source-control 執行要求",
      "required": true,
      "pass_condition": "response 不得要求 repo 建立、visibility 修改、refs sync/delete/force-push、workflow/secret/runner 變更、GitHub primary switch、Gitea 停用、Kali scan 或任何 runtime action。",
      "failure_lane": "reject_execution_request",
      "awooop_display": "reject_execution_request",
      "execution_authorized": false
    },
    {
      "check_id": "preflight-all-nine-targets-before-accepted",
      "display_order": 6,
      "title": "接受前需覆蓋九個 GitHub targets",
      "required": true,
      "pass_condition": "S4.10 要被標示 accepted 前，九個 response templates 都必須收到可驗收 owner / visibility / canonical response；部分回覆只能維持 waiting 或 request_more_evidence。",
      "failure_lane": "keep_waiting_owner_response",
      "awooop_display": "ready_for_owner_review",
      "execution_authorized": false
    }
  ],
  "response_templates": [
    {
      "template_id": "target-awoooi-refs-blocked",
      "github_repo": "owenhytsai/awoooi",
      "source_key": "wooo/awoooi",
      "target_state": "exists_refs_blocked",
      "risk": "HIGH",
      "requested_owner_decision": "指定 owner、canonical source、visibility review owner 與 refs truth review owner；維持 refs action disabled。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "canonical_source",
        "github_target_disposition",
        "visibility_review_owner",
        "refs_truth_review_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_existing_target_as_candidate",
        "hold_pending_refs_truth",
        "hold_pending_canonical_review",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/GITEA-GITHUB-MIGRATION-SNAPSHOT.md",
        "docs/security/source-control-ref-detail-diff.snapshot.json",
        "docs/security/source-control-workflow-secret-name-inventory.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須明確指定 `wooo/awoooi` 的 canonical source 與 owner review 責任人。",
        "必須承認 refs truth / workflow-secret parity / rollback ADR 未完成前不得推 refs 或切 primary。",
        "若 decision 是 hold，必須說明下一個 evidence owner。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "把既有 GitHub repo 視為可直接 primary。",
        "要求 push、delete、force push refs 或修改 visibility。",
        "缺 canonical source、visibility review owner 或 refs truth review owner。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 GitHub target decision table 的 owner / canonical / visibility read-only 欄位。",
        "更新 repo approval package 的 blocked_until 說明。",
        "維持 primary readiness blocked。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-clawbot-v5-refs-blocked",
      "github_repo": "owenhytsai/clawbot-v5",
      "source_key": "wooo/clawbot-v5",
      "target_state": "exists_refs_blocked",
      "risk": "MEDIUM",
      "requested_owner_decision": "指定 main SHA / tag 真相來源與 owner；維持 refs action disabled。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "canonical_source",
        "tag_disposition_owner",
        "visibility_review_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_existing_target_as_candidate",
        "hold_pending_refs_truth",
        "mark_external_or_out_of_scope",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/SOURCE-CONTROL-CLAWBOT-V5-SNAPSHOT.md",
        "docs/security/source-control-reconcile-plan.snapshot.json",
        "docs/security/source-control-ref-truth-classification.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須說明 main SHA 與 tag 差異要由哪個 owner 判定。",
        "若仍 active，必須保留 refs review lane。",
        "若排除 scope，必須附 owner 理由與後續 disposition。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "用單一句話批准 refs sync。",
        "未處理 GitHub 缺 Gitea tag 的 disposition。",
        "要求刪除任一端 repo 或 refs。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 refs truth review lane。",
        "更新 approval package 的 owner decision 欄位。",
        "維持 refs action disabled。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-wooo-aiops-refs-blocked",
      "github_repo": "owenhytsai/wooo-aiops",
      "source_key": "wooo/wooo-aiops",
      "target_state": "exists_refs_blocked",
      "risk": "MEDIUM",
      "requested_owner_decision": "指定 GitHub-only branch / tags 的來源 owner 與 disposition；維持 refs action disabled。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "canonical_source",
        "github_only_refs_owner",
        "visibility_review_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_existing_target_as_candidate",
        "hold_pending_refs_truth",
        "mark_external_or_out_of_scope",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/SOURCE-CONTROL-WOOO-AIOPS-SNAPSHOT.md",
        "docs/security/source-control-ref-detail-diff.snapshot.json",
        "docs/security/source-control-ref-truth-classification.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須指定 GitHub-only branch / tags 的 owner 或補證 owner。",
        "必須說明 main SHA truth source 尚未判定時要維持 blocked。",
        "若標為 out_of_scope，必須說明與 AwoooP / AWOOOI scope 的關係。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "要求刪除 GitHub-only refs。",
        "未指定 GitHub-only refs owner。",
        "把 refs classification 當成已批准 sync。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 refs truth classification 的 owner review 欄位。",
        "更新 GitHub target decision table。",
        "維持 GitHub primary readiness blocked。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-wooo-infra-config-internal-remote",
      "github_repo": "owenhytsai/wooo-infra-config",
      "source_key": "wooo/wooo-infra-config",
      "target_state": "exists_aligned",
      "risk": "MEDIUM",
      "requested_owner_decision": "判定 110 internal remote 用途、infra owner 與 secret name inventory owner。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "canonical_source",
        "internal_remote_disposition",
        "secret_name_inventory_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_existing_target_as_candidate",
        "hold_pending_canonical_review",
        "mark_external_or_out_of_scope",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/GIT-REMOTE-REFS-WOOO-INFRA-CONFIG-SNAPSHOT.md",
        "docs/security/source-control-workflow-secret-name-inventory.snapshot.json",
        "docs/security/source-control-workflow-secret-name-export-request.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須判定 110 internal remote 是 active source、mirror、legacy 或需要補證。",
        "必須指定 infra secret 名稱 inventory owner。",
        "不得把 internal remote disposition 當成刪除 remote 的批准。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "要求直接刪除 remote 或改 remote URL。",
        "要求搬移或貼出 secret value。",
        "未說明 110 internal remote 用途。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 canonical decision table 的 remote disposition。",
        "更新 workflow / secret name inventory 的 owner gap。",
        "維持 repo / secret / refs 執行 disabled。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-ewoooc-private-or-new",
      "github_repo": "owenhytsai/ewoooc",
      "source_key": "wooo/ewoooc / root/momo-pro-system / momo working trees",
      "target_state": "not_found_or_private",
      "risk": "HIGH",
      "requested_owner_decision": "判定 ewoooc / momo-pro-system canonical 關係與 GitHub target 是既有 private repo、候選新 repo 或需補證。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "canonical_source",
        "github_target_disposition",
        "visibility_review_owner",
        "server_side_refs_diff_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_private_target_access_request",
        "approve_new_target_creation_candidate",
        "hold_pending_canonical_review",
        "mark_external_or_out_of_scope",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/GITEA-PUBLIC-REPO-SEARCH-SNAPSHOT.md",
        "docs/security/LOCAL-REPO-CANONICAL-EWOOOC-MOMO-SNAPSHOT.md",
        "docs/security/github-target-decision.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須明確說明 `not_found_or_private` 不能自動視為不存在。",
        "必須指定 ewoooc / momo-pro-system canonical 判定 owner。",
        "若只是批准候選新 repo，仍不得建立 repo，必須先產生 migration plan。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "把 `not_found_or_private` 當成建立 repo 的直接批准。",
        "自動合併 unrelated histories。",
        "要求刪除任一 momo / ewoooc working tree。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 target decision table 的 disposition。",
        "更新 approval package 的 canonical blocker。",
        "建立 request_more_evidence lane。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-bitan-pharmacy-private-or-new",
      "github_repo": "owenhytsai/bitan-pharmacy",
      "source_key": "bitan-pharmacy",
      "target_state": "not_found_or_private",
      "risk": "MEDIUM",
      "requested_owner_decision": "判定 repo 是否仍 active、GitHub target disposition、owner 與 visibility review owner。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "active_status",
        "canonical_source",
        "github_target_disposition",
        "visibility_review_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_private_target_access_request",
        "approve_new_target_creation_candidate",
        "hold_pending_canonical_review",
        "mark_external_or_out_of_scope",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/GIT-REMOTE-REFS-BITAN-TSENYANG-SNAPSHOT.md",
        "docs/security/github-target-decision.snapshot.json",
        "docs/security/source-control-primary-readiness-gate.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須說明 repo 是否仍 active。",
        "必須指定 GitHub target 是既有 private、候選新 repo、out-of-scope 或需補證。",
        "若 active，必須保留 workflow / secret name parity gate。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "把 target 看不到當成可直接建立 repo。",
        "沒有 active_status 或 visibility review owner。",
        "要求自動 push refs 或刪除 110 remote。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 target decision table 的 active / disposition 欄位。",
        "更新 approval package 的 blocked_until。",
        "維持 repo creation 與 refs action disabled。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-tsenyang-website-private-or-new",
      "github_repo": "owenhytsai/tsenyang-website",
      "source_key": "tsenyang-website",
      "target_state": "not_found_or_private",
      "risk": "MEDIUM",
      "requested_owner_decision": "判定 repo 是否仍 active、GitHub target disposition、owner 與 visibility review owner。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "active_status",
        "canonical_source",
        "github_target_disposition",
        "visibility_review_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_private_target_access_request",
        "approve_new_target_creation_candidate",
        "hold_pending_canonical_review",
        "mark_external_or_out_of_scope",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/GIT-REMOTE-REFS-BITAN-TSENYANG-SNAPSHOT.md",
        "docs/security/github-target-decision.snapshot.json",
        "docs/security/source-control-primary-readiness-gate.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須說明 repo 是否仍 active。",
        "必須指定 GitHub target 是既有 private、候選新 repo、out-of-scope 或需補證。",
        "若 active，必須保留 workflow / secret name parity gate。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "把 target 看不到當成可直接建立 repo。",
        "沒有 active_status 或 visibility review owner。",
        "要求自動 push refs 或刪除 110 remote。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 target decision table 的 active / disposition 欄位。",
        "更新 approval package 的 blocked_until。",
        "維持 repo creation 與 refs action disabled。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-vibework-private-or-new",
      "github_repo": "owenhytsai/VibeWork",
      "source_key": "vibework",
      "target_state": "not_found_or_private",
      "risk": "HIGH",
      "requested_owner_decision": "判定 VibeWork GitHub target、產品邊界、repo owner、surface owner、canonical source 與 visibility review owner；保持獨立產品邊界。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "canonical_source",
        "github_target_disposition",
        "visibility_review_owner",
        "product_boundary_owner",
        "surface_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_private_target_access_request",
        "approve_new_target_creation_candidate",
        "hold_pending_product_boundary_review",
        "hold_pending_canonical_review",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/source-control-workflow-secret-name-local-evidence.snapshot.json",
        "docs/security/source-control-workflow-secret-name-inventory.snapshot.json",
        "docs/security/source-control-primary-readiness-gate.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須說明 VibeWork 是否已有 private GitHub target 或只是新 target candidate。",
        "必須指定 product boundary owner、repo owner、surface owner 與 visibility review owner。",
        "必須明確保留 VibeWork 獨立產品邊界，不得把 target decision 當成併入 AWOOOI 或 primary cutover approval。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "把 not_found_or_private 視為可直接建立 repo。",
        "缺 product boundary owner、canonical source 或 visibility review owner。",
        "要求修改 workflow、搬 secret value、push refs 或切 primary。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 GitHub target decision table 的 VibeWork read-only disposition。",
        "更新 repo approval package 的 product boundary blocker。",
        "維持 primary readiness blocked。"
      ],
      "execution_authorized": false
    },
    {
      "template_id": "target-agent-bounty-protocol-private-or-new",
      "github_repo": "owenhytsai/agent-bounty-protocol",
      "source_key": "agent-bounty-protocol",
      "target_state": "not_found_or_private",
      "risk": "HIGH",
      "requested_owner_decision": "判定 agent-bounty-protocol GitHub target、repo owner、deployment owner、external agent owner、treasury owner、canonical source 與 visibility review owner；runtime gate 維持 0。",
      "required_owner_fields": [
        "owner_role_or_team",
        "decision",
        "decision_reason",
        "affected_scope",
        "redacted_evidence_refs",
        "followup_owner",
        "rollback_owner",
        "maintenance_window",
        "validation_plan",
        "canonical_source",
        "github_target_disposition",
        "visibility_review_owner",
        "external_agent_owner",
        "treasury_owner",
        "runtime_gate_owner",
        "evidence_refs"
      ],
      "acceptable_decisions": [
        "approve_private_target_access_request",
        "approve_new_target_creation_candidate",
        "hold_pending_agent_runtime_boundary_review",
        "hold_pending_canonical_review",
        "unknown_requires_more_evidence"
      ],
      "minimum_evidence_refs": [
        "docs/security/source-control-workflow-secret-name-local-evidence.snapshot.json",
        "docs/security/source-control-workflow-secret-name-inventory.snapshot.json",
        "docs/security/source-control-primary-readiness-gate.snapshot.json"
      ],
      "acceptance_criteria": [
        "必須說明 agent-bounty-protocol 是否已有 private GitHub target 或只是新 target candidate。",
        "必須指定 repo、deployment、external agent、treasury 與 runtime gate owner。",
        "必須確認 A2A / MCP / bounty / treasury / payout / withdrawal 不因 target response 而開啟 runtime。",
        "必須填齊 S4.10 canonical 9 欄，包含 affected scope、redacted evidence refs、followup owner、rollback owner、maintenance window 與 validation plan。"
      ],
      "rejection_conditions": [
        "把 not_found_or_private 視為可直接建立 repo。",
        "缺 external agent owner、treasury owner、runtime gate owner 或 visibility review owner。",
        "要求啟用 agent action、payout、withdrawal、workflow 修改、push refs 或切 primary。",
        "缺 rollback owner、maintenance window 或 validation plan。"
      ],
      "allowed_outputs": [
        "更新 GitHub target decision table 的 agent-bounty-protocol read-only disposition。",
        "更新 repo approval package 的 agent / treasury / runtime blocker。",
        "維持 primary readiness blocked 與 active runtime gate 0。"
      ],
      "execution_authorized": false
    }
  ],
  "acceptance_checks": [
    {
      "check_id": "maps_to_known_github_target",
      "title": "回覆對應既有 GitHub target",
      "required": true,
      "pass_condition": "`github_repo` 必須對應 github_target_decision_v1 的 9 個 approval-required targets 之一。",
      "failure_lane": "reject_unknown_target",
      "execution_authorized": false
    },
    {
      "check_id": "decision_value_allowed",
      "title": "決策值在允許範圍內",
      "required": true,
      "pass_condition": "`decision` 必須是該 target template 的 acceptable_decisions 之一。",
      "failure_lane": "request_owner_correction",
      "execution_authorized": false
    },
    {
      "check_id": "owner_and_visibility_present",
      "title": "owner 與 visibility review 責任存在",
      "required": true,
      "pass_condition": "每筆回覆必須有 canonical 9 欄，並依 template 補齊 visibility review owner、canonical source 或明確 out-of-scope disposition。",
      "failure_lane": "request_more_evidence",
      "execution_authorized": false
    },
    {
      "check_id": "canonical_source_present",
      "title": "canonical source 已說明",
      "required": true,
      "pass_condition": "in-scope 或 candidate target 必須標示 canonical source；未知時必須選 unknown_requires_more_evidence。",
      "failure_lane": "keep_primary_blocked",
      "execution_authorized": false
    },
    {
      "check_id": "blocked_until_respected",
      "title": "blocked_until 不被繞過",
      "required": true,
      "pass_condition": "回覆不得把 refs truth、workflow-secret parity、Gitea inventory、rollback ADR 或 server-side diff 缺口視為已完成。",
      "failure_lane": "reject_scope_jump",
      "execution_authorized": false
    },
    {
      "check_id": "no_repo_creation_or_visibility_change",
      "title": "不含 repo creation 或 visibility change 指令",
      "required": true,
      "pass_condition": "回覆只能批准候選方向或補證方向，不得包含立即建立 repo 或修改 visibility 的執行要求。",
      "failure_lane": "reject_runtime_source_control_action",
      "execution_authorized": false
    },
    {
      "check_id": "no_refs_or_primary_action",
      "title": "不含 refs 或 primary action",
      "required": true,
      "pass_condition": "回覆不得要求 push、delete、force push、mirror sync、primary switch 或 disable Gitea。",
      "failure_lane": "reject_refs_or_primary_action",
      "execution_authorized": false
    },
    {
      "check_id": "secret_values_absent",
      "title": "未包含 secret value",
      "required": true,
      "pass_condition": "`redacted_evidence_refs` 只能指向 repo 內文件、snapshot 或已脫敏 owner metadata，不得含 token、credential、secret value、private key 或 deploy key value。",
      "failure_lane": "quarantine_sensitive_payload",
      "execution_authorized": false
    }
  ],
  "rejection_rules": [
    "回覆含 token value、PAT、cookie、session、CSRF token、private key 或 partial credential 時必須拒收。",
    "回覆含 repo creation command、API request body、CLI command 或 automation payload 時必須拒收。",
    "回覆含 visibility change command 或要求立即修改 public/private/internal visibility 時必須拒收。",
    "回覆要求 push refs、delete refs、force push、mirror sync、tag rewrite 或 branch rewrite 時必須拒收。",
    "回覆要求切 GitHub primary、停用 Gitea、刪除 Gitea、封存 Gitea 或移除 fallback 時必須拒收。",
    "回覆缺 owner、visibility review owner、canonical source 或 out-of-scope disposition 時不得標記 accepted。",
    "回覆把 `not_found_or_private` 自動解釋為 repo 不存在或可建立時必須拒收。",
    "回覆要求自動合併 unrelated histories 或刪除 momo / ewoooc working tree 時必須拒收。",
    "回覆把 owner decision response 當成 repo migration approval、refs sync approval 或 primary approval 時必須拒收。",
    "任何不確定是否含敏感值、私有 URL 憑證或未脫敏截圖的回覆必須先進 mirror quarantine。"
  ],
  "allowed_outputs": [
    "更新 `github-target-decision.snapshot.json` 的 read-only owner / visibility / canonical decision 欄位。",
    "更新 `github-target-repo-approval-package.snapshot.json` 的 blocked_until、review owner 與 evidence refs。",
    "更新 `source-control-primary-readiness-gate.snapshot.json` 的 blocker wording。",
    "更新 `source-control-approval-board.snapshot.json` 的 review lane。",
    "建立 request_more_evidence / quarantine lane。",
    "維持 `github_primary_ready_count=0` 與所有 execution flags false。",
    "建立 read-only owner response validation record candidate，不進 execution queue。",
    "更新 S4.10 收件缺口矩陣的欄位完整度，不調高 owner response accepted count。"
  ],
  "forbidden_actions": [
    "建立 GitHub repo。",
    "修改 GitHub repo visibility。",
    "push、delete、force push、mirror sync 或 rewrite refs。",
    "切 GitHub primary。",
    "停用、刪除、封存或降級 Gitea repo。",
    "保存 secret value、token value、private key、cookie、session 或 deploy key value。",
    "把 response packet 當成 migration execution approval。",
    "新增 AwoooP execution action button。"
  ]
}
