2509 lines
96 KiB
JSON
2509 lines
96 KiB
JSON
{
|
||
"schema_version": "telegram_notification_egress_owner_response_acceptance_v1",
|
||
"generated_at": "2026-06-19T02:05:13+08:00",
|
||
"git_commit": "1eaa51e6",
|
||
"status": "owner_response_acceptance_ledger_ready_no_runtime_action",
|
||
"mode": "metadata_only_no_secret_value_no_telegram_send_no_workflow_script_api_change",
|
||
"source_owner_request_snapshot": "docs/security/telegram-notification-egress-owner-request-draft.snapshot.json",
|
||
"source_owner_request_schema_version": "telegram_notification_egress_owner_request_draft_v1",
|
||
"source_owner_request_status": "owner_request_draft_ready_no_dispatch_no_runtime_action",
|
||
"source_migration_plan_snapshot": "docs/security/telegram-notification-egress-migration-plan-draft.snapshot.json",
|
||
"source_migration_plan_schema_version": "telegram_notification_egress_migration_plan_draft_v1",
|
||
"source_migration_plan_status": "migration_plan_draft_ready_no_runtime_action",
|
||
"message_readability_guard_snapshot": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"summary": {
|
||
"source_request_draft_count": 11,
|
||
"source_migration_candidate_count": 11,
|
||
"source_direct_bot_api_call_count": 18,
|
||
"acceptance_candidate_count": 11,
|
||
"workflow_acceptance_candidate_count": 6,
|
||
"ops_script_acceptance_candidate_count": 4,
|
||
"api_direct_acceptance_candidate_count": 1,
|
||
"acceptance_field_count": 33,
|
||
"required_owner_field_count": 19,
|
||
"reviewer_check_count": 23,
|
||
"outcome_lane_count": 10,
|
||
"forbidden_payload_count": 14,
|
||
"blocked_action_count": 35,
|
||
"request_sent_count": 0,
|
||
"recipient_confirmed_count": 0,
|
||
"audit_event_emitted_count": 0,
|
||
"owner_response_received_count": 0,
|
||
"owner_response_accepted_count": 0,
|
||
"owner_response_rejected_count": 0,
|
||
"owner_response_quarantined_count": 0,
|
||
"supplement_requested_count": 0,
|
||
"formatter_convergence_accepted_count": 0,
|
||
"redaction_contract_accepted_count": 0,
|
||
"delivery_receipt_accepted_count": 0,
|
||
"break_glass_fallback_accepted_count": 0,
|
||
"maintenance_window_accepted_count": 0,
|
||
"rollback_owner_accepted_count": 0,
|
||
"postcheck_evidence_accepted_count": 0,
|
||
"dedup_or_fingerprint_accepted_count": 0,
|
||
"no_false_green_accepted_count": 0,
|
||
"direct_bot_api_migration_authorized_count": 0,
|
||
"workflow_modification_authorized_count": 0,
|
||
"script_modification_authorized_count": 0,
|
||
"api_sender_refactor_authorized_count": 0,
|
||
"telegram_send_authorized_count": 0,
|
||
"bot_api_call_authorized_count": 0,
|
||
"workflow_dispatch_authorized_count": 0,
|
||
"production_deploy_authorized_count": 0,
|
||
"secret_value_collection_allowed_count": 0,
|
||
"raw_payload_storage_allowed_count": 0,
|
||
"production_write_authorized_count": 0,
|
||
"runtime_gate_count": 0,
|
||
"action_button_count": 0
|
||
},
|
||
"execution_boundaries": {
|
||
"runtime_execution_authorized": false,
|
||
"owner_response_mark_received_authorized": false,
|
||
"owner_response_mark_accepted_authorized": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"action_buttons_allowed": false,
|
||
"not_authorization": true
|
||
},
|
||
"acceptance_candidates": [
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:.gitea/workflows/cd-dev.yaml",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:_gitea_workflows_cd_dev_yaml",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:.gitea/workflows/cd-dev.yaml",
|
||
"source_path": ".gitea/workflows/cd-dev.yaml",
|
||
"surface_kind": "gitea_workflow_direct_bot_api",
|
||
"direct_call_count": 3,
|
||
"line_refs": [
|
||
54,
|
||
241,
|
||
262
|
||
],
|
||
"line_hash_refs": [
|
||
"f503c2c0f61100a9",
|
||
"c41f88fbca91a4b9",
|
||
"eaa9a6cb8326dc79"
|
||
],
|
||
"proposed_wave": "wave_1_workflow_notification_wrapper",
|
||
"proposed_target": "scripts/ci/notify-awoooi-cicd.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct workflow Bot API send with normalized CI/CD notification wrapper after owner approval.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:.gitea/workflows/cd.yaml",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:_gitea_workflows_cd_yaml",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:.gitea/workflows/cd.yaml",
|
||
"source_path": ".gitea/workflows/cd.yaml",
|
||
"surface_kind": "gitea_workflow_direct_bot_api",
|
||
"direct_call_count": 5,
|
||
"line_refs": [
|
||
113,
|
||
305,
|
||
1203,
|
||
1552,
|
||
1575
|
||
],
|
||
"line_hash_refs": [
|
||
"b57e6587a106976b",
|
||
"19c1de8d67af874a",
|
||
"6ef020c2b6eac91f",
|
||
"d029b95242f39c03",
|
||
"d62c45a8595984fc"
|
||
],
|
||
"proposed_wave": "wave_1_workflow_notification_wrapper",
|
||
"proposed_target": "scripts/ci/notify-awoooi-cicd.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct workflow Bot API send with normalized CI/CD notification wrapper after owner approval.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:.gitea/workflows/code-review.yaml",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:_gitea_workflows_code_review_yaml",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:.gitea/workflows/code-review.yaml",
|
||
"source_path": ".gitea/workflows/code-review.yaml",
|
||
"surface_kind": "gitea_workflow_direct_bot_api",
|
||
"direct_call_count": 2,
|
||
"line_refs": [
|
||
137,
|
||
216
|
||
],
|
||
"line_hash_refs": [
|
||
"a7ebbd735dad5ab2",
|
||
"f10f7782dc7c8125"
|
||
],
|
||
"proposed_wave": "wave_1_workflow_notification_wrapper",
|
||
"proposed_target": "scripts/ci/notify-awoooi-cicd.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct workflow Bot API send with normalized CI/CD notification wrapper after owner approval.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:.gitea/workflows/deploy-alerts.yaml",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:_gitea_workflows_deploy_alerts_yaml",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:.gitea/workflows/deploy-alerts.yaml",
|
||
"source_path": ".gitea/workflows/deploy-alerts.yaml",
|
||
"surface_kind": "gitea_workflow_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
69
|
||
],
|
||
"line_hash_refs": [
|
||
"79e83190f68f27c9"
|
||
],
|
||
"proposed_wave": "wave_1_workflow_notification_wrapper",
|
||
"proposed_target": "scripts/ci/notify-awoooi-cicd.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct workflow Bot API send with normalized CI/CD notification wrapper after owner approval.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:.gitea/workflows/e2e-health.yaml",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:_gitea_workflows_e2e_health_yaml",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:.gitea/workflows/e2e-health.yaml",
|
||
"source_path": ".gitea/workflows/e2e-health.yaml",
|
||
"surface_kind": "gitea_workflow_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
98
|
||
],
|
||
"line_hash_refs": [
|
||
"d73ce94678f970a9"
|
||
],
|
||
"proposed_wave": "wave_1_workflow_notification_wrapper",
|
||
"proposed_target": "scripts/ci/notify-awoooi-cicd.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct workflow Bot API send with normalized CI/CD notification wrapper after owner approval.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:.gitea/workflows/run-migration.yml",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:_gitea_workflows_run_migration_yml",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:.gitea/workflows/run-migration.yml",
|
||
"source_path": ".gitea/workflows/run-migration.yml",
|
||
"surface_kind": "gitea_workflow_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
210
|
||
],
|
||
"line_hash_refs": [
|
||
"934a8dd69fca99b3"
|
||
],
|
||
"proposed_wave": "wave_1_workflow_notification_wrapper",
|
||
"proposed_target": "scripts/ci/notify-awoooi-cicd.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct workflow Bot API send with normalized CI/CD notification wrapper after owner approval.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:apps/api/src/services/channel_hub.py",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:apps_api_src_services_channel_hub_py",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:apps/api/src/services/channel_hub.py",
|
||
"source_path": "apps/api/src/services/channel_hub.py",
|
||
"surface_kind": "api_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
1138
|
||
],
|
||
"line_hash_refs": [
|
||
"9e418fa74c83815a"
|
||
],
|
||
"proposed_wave": "wave_3_api_sender_gateway",
|
||
"proposed_target": "TelegramGateway final-exit formatter",
|
||
"proposed_change_summary": "Route API interim sender through TelegramGateway or equivalent final-exit normalization and mirror contract.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:scripts/ops/backup-from-110.sh",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:scripts_ops_backup_from_110_sh",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:scripts/ops/backup-from-110.sh",
|
||
"source_path": "scripts/ops/backup-from-110.sh",
|
||
"surface_kind": "ops_script_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
64
|
||
],
|
||
"line_hash_refs": [
|
||
"ff5ffbeca44d679b"
|
||
],
|
||
"proposed_wave": "wave_2_ops_notification_wrapper",
|
||
"proposed_target": "scripts/ops/notify-awoooi-ops.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct ops fallback send with normalized ops notification wrapper or documented break-glass fallback.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:scripts/ops/docker-health-monitor.sh",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:scripts_ops_docker_health_monitor_sh",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:scripts/ops/docker-health-monitor.sh",
|
||
"source_path": "scripts/ops/docker-health-monitor.sh",
|
||
"surface_kind": "ops_script_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
90
|
||
],
|
||
"line_hash_refs": [
|
||
"6611406903bc7d65"
|
||
],
|
||
"proposed_wave": "wave_2_ops_notification_wrapper",
|
||
"proposed_target": "scripts/ops/notify-awoooi-ops.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct ops fallback send with normalized ops notification wrapper or documented break-glass fallback.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:scripts/ops/dr-drill.sh",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:scripts_ops_dr_drill_sh",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:scripts/ops/dr-drill.sh",
|
||
"source_path": "scripts/ops/dr-drill.sh",
|
||
"surface_kind": "ops_script_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
63
|
||
],
|
||
"line_hash_refs": [
|
||
"b7cf532f3c5509fc"
|
||
],
|
||
"proposed_wave": "wave_2_ops_notification_wrapper",
|
||
"proposed_target": "scripts/ops/notify-awoooi-ops.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct ops fallback send with normalized ops notification wrapper or documented break-glass fallback.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
},
|
||
{
|
||
"acceptance_candidate_id": "telegram_notification_egress_owner_response_acceptance:scripts/ops/pg-backup.sh",
|
||
"status": "waiting_owner_response",
|
||
"source_request_draft_id": "telegram_notification_egress_owner_request:scripts_ops_pg_backup_sh",
|
||
"source_migration_candidate_id": "telegram_notification_egress_migration:scripts/ops/pg-backup.sh",
|
||
"source_path": "scripts/ops/pg-backup.sh",
|
||
"surface_kind": "ops_script_direct_bot_api",
|
||
"direct_call_count": 1,
|
||
"line_refs": [
|
||
52
|
||
],
|
||
"line_hash_refs": [
|
||
"8268f3d6f14d66a3"
|
||
],
|
||
"proposed_wave": "wave_2_ops_notification_wrapper",
|
||
"proposed_target": "scripts/ops/notify-awoooi-ops.sh or AWOOI Alertmanager webhook",
|
||
"proposed_change_summary": "Replace direct ops fallback send with normalized ops notification wrapper or documented break-glass fallback.",
|
||
"owner_response_ref": null,
|
||
"owner_role_or_team": "pending_owner_response",
|
||
"decision": "pending_owner_response",
|
||
"decision_reason": "pending_owner_response",
|
||
"affected_scope": "pending_owner_response",
|
||
"redacted_evidence_refs": [],
|
||
"message_shape_contract_ref": null,
|
||
"message_readability_guard_ref": "docs/security/telegram-alert-readability-guard.snapshot.json",
|
||
"redaction_contract_ref": null,
|
||
"formatter_convergence_decision": "pending_owner_response",
|
||
"gateway_or_alertmanager_target": "pending_owner_response",
|
||
"break_glass_fallback_decision": "pending_owner_response",
|
||
"delivery_receipt_ref": null,
|
||
"dedup_or_fingerprint_plan": "pending_owner_response",
|
||
"fallback_or_degraded_mode": "pending_owner_response",
|
||
"migration_or_exception_reason": "pending_owner_response",
|
||
"maintenance_window": "pending_owner_response",
|
||
"rollback_owner": "pending_owner_response",
|
||
"postcheck_evidence_ref": null,
|
||
"no_secret_value_attestation": "pending_owner_response",
|
||
"no_raw_payload_attestation": "pending_owner_response",
|
||
"no_false_green_attestation": "pending_owner_response",
|
||
"reviewer_outcome": "waiting_owner_response",
|
||
"followup_owner": "pending_owner_response",
|
||
"acceptance_fields": [
|
||
"acceptance_candidate_id",
|
||
"source_request_draft_id",
|
||
"source_migration_candidate_id",
|
||
"source_path",
|
||
"surface_kind",
|
||
"direct_call_count",
|
||
"proposed_wave",
|
||
"proposed_target",
|
||
"owner_response_ref",
|
||
"owner_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"redacted_evidence_refs",
|
||
"message_shape_contract_ref",
|
||
"message_readability_guard_ref",
|
||
"redaction_contract_ref",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_authorization"
|
||
],
|
||
"required_owner_fields": [
|
||
"owner_role_or_team",
|
||
"routing_purpose",
|
||
"current_sender",
|
||
"target_chat_route",
|
||
"message_shape_contract",
|
||
"redaction_contract",
|
||
"formatter_convergence_decision",
|
||
"gateway_or_alertmanager_target",
|
||
"break_glass_fallback_decision",
|
||
"delivery_receipt_ref",
|
||
"dedup_or_fingerprint_plan",
|
||
"fallback_or_degraded_mode",
|
||
"migration_or_exception_reason",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"postcheck_evidence_ref",
|
||
"no_secret_value_attestation",
|
||
"no_raw_payload_attestation",
|
||
"no_false_green_attestation"
|
||
],
|
||
"reviewer_checks": [
|
||
"source_owner_request_current",
|
||
"source_migration_plan_current",
|
||
"owner_identity_present",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_source",
|
||
"redacted_refs_only",
|
||
"no_secret_or_token_value",
|
||
"no_raw_message_payload",
|
||
"message_shape_contract_present",
|
||
"message_readability_guard_present",
|
||
"redaction_contract_present",
|
||
"formatter_convergence_explicit",
|
||
"gateway_or_alertmanager_target_valid",
|
||
"break_glass_fallback_explicit",
|
||
"delivery_receipt_metadata_only",
|
||
"dedup_or_fingerprint_present",
|
||
"maintenance_window_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"no_false_green_attested",
|
||
"migration_authorization_separate",
|
||
"counts_transition_safe",
|
||
"runtime_gate_stays_zero"
|
||
],
|
||
"outcome_lanes": [
|
||
"waiting_owner_response",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_execution_request",
|
||
"request_owner_route_supplement",
|
||
"request_formatter_convergence_supplement",
|
||
"request_redaction_or_receipt_supplement",
|
||
"request_maintenance_or_rollback_supplement",
|
||
"ready_for_migration_review",
|
||
"owner_review_only_update",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"forbidden_payloads": [
|
||
"bot_token_value",
|
||
"chat_secret_value",
|
||
"secret_hash",
|
||
"partial_token",
|
||
"masked_token",
|
||
"authorization_header",
|
||
"raw_message_payload",
|
||
"raw_workflow_log",
|
||
"raw_action_log",
|
||
"raw_screenshot_with_secret",
|
||
"internal_work_window_transcript",
|
||
"private_namespace",
|
||
"unredacted_internal_path",
|
||
"unredacted_private_ip"
|
||
],
|
||
"blocked_actions": [
|
||
"mark_owner_response_received_without_record",
|
||
"mark_owner_response_accepted_without_reviewer_record",
|
||
"send_telegram",
|
||
"call_bot_api",
|
||
"modify_workflow",
|
||
"modify_ops_script",
|
||
"refactor_api_sender",
|
||
"dispatch_workflow",
|
||
"trigger_cd",
|
||
"deploy_production",
|
||
"change_chat_route",
|
||
"change_bot_token",
|
||
"rotate_secret",
|
||
"read_secret_store",
|
||
"collect_secret_value",
|
||
"collect_secret_hash",
|
||
"collect_partial_token",
|
||
"collect_chat_id_secret",
|
||
"store_raw_message_payload",
|
||
"store_unredacted_log",
|
||
"store_internal_work_window_transcript",
|
||
"accept_cd_success_as_delivery_receipt",
|
||
"accept_route_200_as_notification_delivery",
|
||
"accept_ui_visible_as_notification_acceptance",
|
||
"accept_telegram_sent_without_delivery_receipt",
|
||
"skip_formatter_convergence",
|
||
"skip_redaction_contract",
|
||
"skip_dedup_or_fingerprint_review",
|
||
"skip_break_glass_fallback_review",
|
||
"authorize_migration",
|
||
"authorize_workflow_modification",
|
||
"authorize_script_modification",
|
||
"authorize_api_sender_refactor",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"not_authorization": true,
|
||
"request_sent": false,
|
||
"recipient_confirmed": false,
|
||
"audit_event_emitted": false,
|
||
"owner_response_received": false,
|
||
"owner_response_accepted": false,
|
||
"owner_response_rejected": false,
|
||
"owner_response_quarantined": false,
|
||
"supplement_requested": false,
|
||
"formatter_convergence_accepted": false,
|
||
"redaction_contract_accepted": false,
|
||
"delivery_receipt_accepted": false,
|
||
"break_glass_fallback_accepted": false,
|
||
"maintenance_window_accepted": false,
|
||
"rollback_owner_accepted": false,
|
||
"postcheck_evidence_accepted": false,
|
||
"dedup_or_fingerprint_accepted": false,
|
||
"no_false_green_accepted": false,
|
||
"direct_bot_api_migration_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"script_modification_authorized": false,
|
||
"api_sender_refactor_authorized": false,
|
||
"telegram_send_authorized": false,
|
||
"bot_api_call_authorized": false,
|
||
"workflow_dispatch_authorized": false,
|
||
"production_deploy_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"raw_payload_storage_allowed": false,
|
||
"production_write_authorized": false,
|
||
"runtime_gate": false,
|
||
"action_buttons_allowed": false
|
||
}
|
||
],
|
||
"operator_interpretation": [
|
||
"此帳本只是 reviewer 驗收模板;owner response received / accepted 仍維持 0。",
|
||
"每個 direct egress candidate 都必須引用 Telegram 告警可讀性 guard,migration review 不得繞過卡片化、脫敏與 runtime_write_gate=0。",
|
||
"CD success、route 200、UI 可見或 Telegram sent 狀態本身都不是 delivery receipt。",
|
||
"workflow、script 與 API sender 收斂仍需獨立 runtime approval 與 change evidence。"
|
||
]
|
||
}
|