feat(governance): 新增 result capture promotion dry-run
This commit is contained in:
@@ -495,6 +495,11 @@ export const apiClient = {
|
||||
return handleResponse<AiAgentResultCapturePromotionApprovalGateSnapshot>(res)
|
||||
},
|
||||
|
||||
async getAiAgentOwnerApprovedResultCapturePromotionDryRun() {
|
||||
const res = await fetch(`${API_BASE_URL}/agents/agent-owner-approved-result-capture-promotion-dry-run`)
|
||||
return handleResponse<AiAgentOwnerApprovedResultCapturePromotionDryRunSnapshot>(res)
|
||||
},
|
||||
|
||||
async getAiAgentOwnerApprovedFixtureDryRun() {
|
||||
const res = await fetch(`${API_BASE_URL}/agents/agent-owner-approved-fixture-dry-run`)
|
||||
return handleResponse<AiAgentOwnerApprovedFixtureDryRunSnapshot>(res)
|
||||
@@ -5463,6 +5468,166 @@ export interface AiAgentResultCapturePromotionApprovalGateSnapshot {
|
||||
}
|
||||
}
|
||||
|
||||
export interface AiAgentOwnerApprovedResultCapturePromotionDryRunSnapshot {
|
||||
schema_version: 'ai_agent_owner_approved_result_capture_promotion_dry_run_v1'
|
||||
generated_at: string
|
||||
program_status: {
|
||||
overall_completion_percent: number
|
||||
current_priority: 'P0' | 'P1' | 'P2' | 'P3'
|
||||
current_task_id: 'P2-120'
|
||||
next_task_id: 'P2-121'
|
||||
read_only_mode: true
|
||||
runtime_authority: 'owner_approved_result_capture_promotion_dry_run_only_no_live_write'
|
||||
status_note: string
|
||||
}
|
||||
source_refs: string[]
|
||||
prior_result_capture_promotion_gate: {
|
||||
schema_version: string
|
||||
promotion_approval_packet_count: number
|
||||
acceptance_gate_template_count: number
|
||||
promotion_verifier_check_count: number
|
||||
blocked_promotion_write_count: number
|
||||
operator_action_count: number
|
||||
owner_approval_received_count: number
|
||||
capture_promotion_approved_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
|
||||
}
|
||||
dry_run_truth: {
|
||||
p2_119_promotion_gate_loaded: boolean
|
||||
owner_approval_required: boolean
|
||||
dry_run_preview_allowed: boolean
|
||||
promotion_packet_ready: boolean
|
||||
acceptance_template_ready: boolean
|
||||
verifier_dry_run_ready: boolean
|
||||
operator_handoff_ready: boolean
|
||||
owner_approval_received: boolean
|
||||
capture_promotion_approved: boolean
|
||||
canonical_runtime_target_read_enabled: boolean
|
||||
live_query_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_approval_received_count: number
|
||||
capture_promotion_approved_count: number
|
||||
dry_run_preview_generated_count: number
|
||||
canonical_runtime_target_read_count: number
|
||||
live_query_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
|
||||
truth_note: string
|
||||
}
|
||||
promotion_dry_run_templates: Array<{
|
||||
template_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
source_packet_id: string
|
||||
status: 'ready_for_dry_run' | 'approval_required' | 'blocked_by_policy'
|
||||
target_dry_run: string
|
||||
dry_run_mode: 'preview_only'
|
||||
runtime_write_enabled: false
|
||||
preview_summary: string
|
||||
evidence_hash: string
|
||||
}>
|
||||
owner_acceptance_dry_run_fixtures: Array<{
|
||||
fixture_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
status: 'ready' | 'approval_required' | 'blocked_by_policy'
|
||||
required_owner: string
|
||||
fixture_only: true
|
||||
runtime_write_enabled: false
|
||||
verifies: string
|
||||
evidence_hash: string
|
||||
}>
|
||||
dry_run_verifier_checks: Array<{
|
||||
verifier_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
status: 'ready' | 'approval_required' | 'blocked_by_policy'
|
||||
verifies: string
|
||||
failure_if_missing: string
|
||||
live_execution_enabled: false
|
||||
evidence_hash: string
|
||||
}>
|
||||
blocked_runtime_promotions: Array<{
|
||||
blocker_id: string
|
||||
display_name: string
|
||||
severity: 'high' | 'critical'
|
||||
status: 'approval_required' | 'blocked_by_policy'
|
||||
blocked_action: string
|
||||
blocked_until: string
|
||||
evidence_hash: string
|
||||
}>
|
||||
operator_actions: Array<{
|
||||
action_id: string
|
||||
display_name: string
|
||||
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
|
||||
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: {
|
||||
promotion_dry_run_template_count: number
|
||||
owner_acceptance_fixture_count: number
|
||||
dry_run_verifier_check_count: number
|
||||
blocked_runtime_promotion_count: number
|
||||
operator_action_count: number
|
||||
approval_required_template_count: number
|
||||
blocked_template_count: number
|
||||
approval_required_fixture_count: number
|
||||
blocked_fixture_count: number
|
||||
approval_required_verifier_count: number
|
||||
critical_blocker_count: number
|
||||
owner_approval_received_count: number
|
||||
capture_promotion_approved_count: number
|
||||
dry_run_preview_generated_count: number
|
||||
canonical_runtime_target_read_count: number
|
||||
live_query_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