feat(governance): 新增 AI Agent TG canary delivery gate
All checks were successful
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m44s
CD Pipeline / build-and-deploy (push) Successful in 4m3s
CD Pipeline / post-deploy-checks (push) Successful in 1m51s

This commit is contained in:
Your Name
2026-06-16 11:19:27 +08:00
parent 95be78bd66
commit adb5d689cf
14 changed files with 2371 additions and 46 deletions

View File

@@ -1429,8 +1429,8 @@ export interface AiAgentProfessionalTaskExpansionSnapshot {
program_status: {
overall_completion_percent: number
current_priority: 'P0' | 'P1' | 'P2' | 'P3'
current_task_id: 'P2-405C'
next_task_id: 'P2-405D'
current_task_id: 'P2-405D'
next_task_id: 'P2-405E'
read_only_mode: true
runtime_authority: 'professional_task_expansion_and_telegram_bridge_read_only_no_send'
status_note: string
@@ -1588,12 +1588,73 @@ export interface AiAgentProfessionalTaskExpansionSnapshot {
}
approval_decision_log: unknown[]
}
canary_delivery_gate: {
gate_id: string
status: string
gate_ready: boolean
delivery_approved: boolean
delivery_attempt_allowed: boolean
selected_message_type: string
selected_message_type_source: string
target_room_alias: string
target_room_env: string
target_room_value_visible: boolean
target_room_verified: boolean
proposed_time_window: string
approved_time_window: string
owner_agent: string
arbiter: string
reviewers: string[]
required_delivery_fields: Array<{
field_id: string
label: string
required: boolean
current_value_status: string
value_display_allowed: boolean
}>
preflight_checks: string[]
hold_reasons: string[]
delivery_attempt_plan: {
max_messages: number
dry_run_message_type: string
dedup_key_template: string
send_mode: string
live_delivery_enabled: boolean
gateway_queue_write_enabled: boolean
bot_api_call_enabled: boolean
delivery_receipt_write_enabled: boolean
production_write_enabled: boolean
secret_read_enabled: boolean
paid_api_enabled: boolean
}
readback_after_approval_plan: {
owner_agent: string
enabled_before_delivery: boolean
production_receipt_write_enabled: boolean
required_checks: string[]
}
rollback_mute_controls: string[]
execution_flags: {
live_delivery_enabled: boolean
gateway_queue_write_enabled: boolean
bot_api_call_enabled: boolean
delivery_receipt_write_enabled: boolean
production_write_enabled: boolean
secret_read_enabled: boolean
paid_api_enabled: boolean
}
delivery_decision_log: unknown[]
}
no_send_preview_completion_percent: number
canary_approval_package_completion_percent: number
canary_send_approval_packet_ready: boolean
canary_send_approval_granted: boolean
canary_send_execution_enabled: boolean
canary_send_approval_packet_completion_percent: number
canary_delivery_gate_ready: boolean
canary_delivery_approved: boolean
canary_delivery_attempt_allowed: boolean
canary_delivery_gate_completion_percent: number
}
professional_task_domains: Array<{
domain_id: string
@@ -1630,6 +1691,7 @@ export interface AiAgentProfessionalTaskExpansionSnapshot {
frontend_display_policy: string
message_preview_redaction_checks: string[]
canary_packet_redaction_checks: string[]
canary_delivery_redaction_checks: string[]
}
rollups: {
professional_task_count: number
@@ -1676,6 +1738,19 @@ export interface AiAgentProfessionalTaskExpansionSnapshot {
canary_bot_api_call_enabled_count: number
canary_delivery_receipt_write_enabled_count: number
canary_secret_read_enabled_count: number
canary_delivery_gate_count: number
canary_delivery_required_field_count: number
canary_delivery_preflight_check_count: number
canary_delivery_hold_reason_count: number
canary_delivery_readback_check_count: number
canary_delivery_rollback_mute_control_count: number
canary_delivery_approved_count: number
canary_delivery_attempt_allowed_count: number
canary_delivery_live_send_enabled_count: number
canary_delivery_gateway_queue_write_enabled_count: number
canary_delivery_bot_api_call_enabled_count: number
canary_delivery_secret_read_enabled_count: number
canary_delivery_paid_api_enabled_count: number
}
}