feat(governance): 新增 release authorization readback gate
This commit is contained in:
@@ -570,6 +570,11 @@ export const apiClient = {
|
||||
return handleResponse<AiAgentResultCaptureReleaseAuthorizationHoldSnapshot>(res)
|
||||
},
|
||||
|
||||
async getAiAgentResultCaptureReleaseAuthorizationReadbackGate() {
|
||||
const res = await fetch(`${API_BASE_URL}/agents/agent-result-capture-release-authorization-readback-gate`)
|
||||
return handleResponse<AiAgentResultCaptureReleaseAuthorizationReadbackGateSnapshot>(res)
|
||||
},
|
||||
|
||||
async getAiAgentOwnerApprovedFixtureDryRun() {
|
||||
const res = await fetch(`${API_BASE_URL}/agents/agent-owner-approved-fixture-dry-run`)
|
||||
return handleResponse<AiAgentOwnerApprovedFixtureDryRunSnapshot>(res)
|
||||
@@ -8398,6 +8403,224 @@ export interface AiAgentResultCaptureReleaseAuthorizationHoldSnapshot {
|
||||
}
|
||||
}
|
||||
|
||||
export interface AiAgentResultCaptureReleaseAuthorizationReadbackGateSnapshot {
|
||||
schema_version: 'ai_agent_result_capture_release_authorization_readback_gate_v1'
|
||||
generated_at: string
|
||||
program_status: {
|
||||
overall_completion_percent: number
|
||||
current_priority: 'P0' | 'P1' | 'P2' | 'P3'
|
||||
current_task_id: 'P2-135'
|
||||
next_task_id: 'P2-136'
|
||||
read_only_mode: true
|
||||
runtime_authority: 'result_capture_release_authorization_readback_gate_only_no_live_write'
|
||||
status_note: string
|
||||
}
|
||||
source_refs: string[]
|
||||
prior_release_authorization_hold: {
|
||||
schema_version: string
|
||||
release_authorization_hold_count: number
|
||||
rollback_authorization_hold_count: number
|
||||
release_window_hold_count: number
|
||||
live_apply_authorization_hold_count: number
|
||||
blocked_authorization_transition_count: number
|
||||
operator_action_count: number
|
||||
approval_required_total: number
|
||||
blocked_total: number
|
||||
owner_release_authorized_count: number
|
||||
owner_release_approved_count: number
|
||||
maintenance_window_approved_count: number
|
||||
rollback_owner_confirmed_count: number
|
||||
post_release_verifier_ready_count: number
|
||||
final_release_candidate_approved_count: number
|
||||
final_release_candidate_pass_count: number
|
||||
release_authorization_granted_count: number
|
||||
release_authorization_pass_count: number
|
||||
rollback_release_pass_count: number
|
||||
live_apply_release_pass_count: number
|
||||
writer_apply_count: number
|
||||
execution_apply_count: number
|
||||
receipt_write_count: number
|
||||
result_capture_write_count: number
|
||||
learning_write_count: number
|
||||
playbook_trust_write_count: number
|
||||
reviewer_queue_write_count: number
|
||||
gateway_queue_write_count: number
|
||||
telegram_send_count: number
|
||||
bot_api_call_count: number
|
||||
report_receipt_write_count: number
|
||||
readiness_note: string
|
||||
}
|
||||
release_authorization_readback_truth: {
|
||||
p2_134_release_authorization_hold_loaded: boolean
|
||||
release_authorization_readback_ready: boolean
|
||||
rollback_release_readback_ready: boolean
|
||||
maintenance_window_readback_hold_active: boolean
|
||||
live_apply_release_readback_hold_active: boolean
|
||||
owner_authorization_review_still_required: boolean
|
||||
release_verifier_review_still_required: boolean
|
||||
rollback_owner_review_required: boolean
|
||||
redaction_review_required: boolean
|
||||
release_authorization_readback_only: boolean
|
||||
owner_release_authorized: boolean
|
||||
owner_release_approved: boolean
|
||||
maintenance_window_approved: boolean
|
||||
rollback_owner_confirmed: boolean
|
||||
post_release_verifier_ready: boolean
|
||||
final_release_candidate_approved: boolean
|
||||
final_release_candidate_passed: boolean
|
||||
release_authorization_granted: boolean
|
||||
release_authorization_passed: boolean
|
||||
rollback_release_passed: boolean
|
||||
live_apply_release_passed: boolean
|
||||
writer_apply_enabled: boolean
|
||||
execution_apply_enabled: boolean
|
||||
receipt_write_enabled: boolean
|
||||
reviewer_queue_write_enabled: boolean
|
||||
gateway_queue_write_enabled: boolean
|
||||
telegram_send_enabled: boolean
|
||||
bot_api_call_enabled: boolean
|
||||
report_receipt_write_enabled: boolean
|
||||
result_capture_write_enabled: boolean
|
||||
learning_write_enabled: boolean
|
||||
playbook_trust_write_enabled: boolean
|
||||
production_write_enabled: boolean
|
||||
secret_read_enabled: boolean
|
||||
destructive_operation_enabled: boolean
|
||||
owner_release_authorized_count: number
|
||||
owner_release_approved_count: number
|
||||
maintenance_window_approved_count: number
|
||||
rollback_owner_confirmed_count: number
|
||||
post_release_verifier_ready_count: number
|
||||
final_release_candidate_approved_count: number
|
||||
final_release_candidate_pass_count: number
|
||||
release_authorization_granted_count: number
|
||||
release_authorization_pass_count: number
|
||||
rollback_release_pass_count: number
|
||||
live_apply_release_pass_count: number
|
||||
writer_apply_count: number
|
||||
execution_apply_count: number
|
||||
receipt_write_count: number
|
||||
reviewer_queue_write_count: number
|
||||
gateway_queue_write_count: number
|
||||
telegram_send_count: number
|
||||
bot_api_call_count: number
|
||||
report_receipt_write_count: number
|
||||
result_capture_write_count: number
|
||||
learning_write_count: number
|
||||
playbook_trust_write_count: number
|
||||
production_write_count: number
|
||||
secret_read_count: number
|
||||
destructive_operation_count: number
|
||||
truth_note: string
|
||||
}
|
||||
release_authorization_readbacks: Array<{
|
||||
readback_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
source_authorization_hold: string
|
||||
status: 'ready_for_owner_review' | 'approval_required' | 'blocked_by_policy'
|
||||
readback_mode: 'release_authorization_readback_gate'
|
||||
owner_release_authorized: false
|
||||
release_authorization_granted: false
|
||||
release_authorization_passed: false
|
||||
readback_summary: string
|
||||
evidence_hash: string
|
||||
}>
|
||||
rollback_release_readbacks: Array<{
|
||||
readback_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
status: 'ready_for_owner_review' | 'approval_required' | 'blocked_by_policy'
|
||||
readback_mode: 'rollback_release_readback_gate'
|
||||
rollback_owner_required: true
|
||||
rollback_owner_confirmed: false
|
||||
rollback_release_passed: false
|
||||
rollback_release_enabled: false
|
||||
readback_summary: string
|
||||
}>
|
||||
maintenance_window_readback_holds: Array<{
|
||||
hold_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
status: 'ready_for_owner_review' | 'approval_required' | 'blocked_by_policy'
|
||||
hold_mode: 'maintenance_window_readback_hold'
|
||||
owner_release_authorized: false
|
||||
maintenance_window_approved: false
|
||||
final_release_candidate_passed: false
|
||||
hold_reason: string
|
||||
}>
|
||||
live_apply_release_readback_holds: Array<{
|
||||
hold_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
status: 'ready_for_owner_review' | 'approval_required' | 'blocked_by_policy'
|
||||
hold_mode: 'live_apply_release_readback_hold'
|
||||
release_authorization_granted: false
|
||||
release_authorization_passed: false
|
||||
live_apply_release_passed: false
|
||||
live_apply_release_enabled: false
|
||||
release_condition: string
|
||||
}>
|
||||
operator_actions: Array<{
|
||||
action_id: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
status: 'ready_for_operator_review' | 'approval_required'
|
||||
operator_instruction: string
|
||||
runtime_write_allowed: false
|
||||
}>
|
||||
display_redaction_contract: {
|
||||
redaction_required: true
|
||||
raw_prompt_display_allowed: false
|
||||
private_reasoning_display_allowed: false
|
||||
secret_value_display_allowed: false
|
||||
raw_runtime_payload_display_allowed: false
|
||||
internal_collaboration_content_display_allowed: false
|
||||
frontend_display_policy: string
|
||||
}
|
||||
rollups: {
|
||||
release_authorization_readback_count: number
|
||||
rollback_release_readback_count: number
|
||||
maintenance_window_readback_hold_count: number
|
||||
live_apply_release_readback_hold_count: number
|
||||
blocked_release_readback_transition_count: number
|
||||
operator_action_count: number
|
||||
approval_required_authorization_readback_count: number
|
||||
blocked_authorization_readback_count: number
|
||||
approval_required_rollback_readback_count: number
|
||||
blocked_rollback_readback_count: number
|
||||
approval_required_maintenance_window_count: number
|
||||
blocked_maintenance_window_count: number
|
||||
approval_required_live_apply_readback_count: number
|
||||
blocked_live_apply_readback_count: number
|
||||
critical_blocker_count: number
|
||||
owner_release_authorized_count: number
|
||||
owner_release_approved_count: number
|
||||
maintenance_window_approved_count: number
|
||||
rollback_owner_confirmed_count: number
|
||||
post_release_verifier_ready_count: number
|
||||
final_release_candidate_approved_count: number
|
||||
final_release_candidate_pass_count: number
|
||||
release_authorization_granted_count: number
|
||||
release_authorization_pass_count: number
|
||||
rollback_release_pass_count: number
|
||||
live_apply_release_pass_count: number
|
||||
writer_apply_count: number
|
||||
execution_apply_count: number
|
||||
receipt_write_count: number
|
||||
reviewer_queue_write_count: number
|
||||
gateway_queue_write_count: number
|
||||
telegram_send_count: number
|
||||
bot_api_call_count: number
|
||||
report_receipt_write_count: number
|
||||
result_capture_write_count: number
|
||||
learning_write_count: number
|
||||
playbook_trust_write_count: number
|
||||
production_write_count: number
|
||||
secret_read_count: number
|
||||
destructive_operation_count: number
|
||||
}
|
||||
}
|
||||
|
||||
export interface AiAgentOwnerApprovedFixtureDryRunSnapshot {
|
||||
schema_version: 'ai_agent_owner_approved_fixture_dry_run_v1'
|
||||
generated_at: string
|
||||
|
||||
Reference in New Issue
Block a user