feat(governance): 新增 result capture write gate review
All checks were successful
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m27s
CD Pipeline / build-and-deploy (push) Successful in 4m36s
CD Pipeline / post-deploy-checks (push) Successful in 1m39s

This commit is contained in:
Your Name
2026-06-13 22:41:48 +08:00
parent af2b45abed
commit a8f255d071
10 changed files with 1577 additions and 1 deletions

View File

@@ -500,6 +500,11 @@ export const apiClient = {
return handleResponse<AiAgentOwnerApprovedResultCapturePromotionDryRunSnapshot>(res)
},
async getAiAgentResultCaptureWriteGateReview() {
const res = await fetch(`${API_BASE_URL}/agents/agent-result-capture-write-gate-review`)
return handleResponse<AiAgentResultCaptureWriteGateReviewSnapshot>(res)
},
async getAiAgentOwnerApprovedFixtureDryRun() {
const res = await fetch(`${API_BASE_URL}/agents/agent-owner-approved-fixture-dry-run`)
return handleResponse<AiAgentOwnerApprovedFixtureDryRunSnapshot>(res)
@@ -5628,6 +5633,181 @@ export interface AiAgentOwnerApprovedResultCapturePromotionDryRunSnapshot {
}
}
export interface AiAgentResultCaptureWriteGateReviewSnapshot {
schema_version: 'ai_agent_result_capture_write_gate_review_v1'
generated_at: string
program_status: {
overall_completion_percent: number
current_priority: 'P0' | 'P1' | 'P2' | 'P3'
current_task_id: 'P2-121'
next_task_id: 'P2-122'
read_only_mode: true
runtime_authority: 'result_capture_write_gate_review_only_no_live_write'
status_note: string
}
source_refs: string[]
prior_owner_approved_promotion_dry_run: {
schema_version: string
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
owner_approval_received_count: number
capture_promotion_approved_count: number
dry_run_preview_generated_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
}
write_gate_truth: {
p2_120_dry_run_loaded: boolean
result_capture_writer_gate_review_ready: boolean
learning_writer_gate_review_ready: boolean
playbook_trust_writer_gate_review_ready: boolean
reviewer_queue_gate_review_ready: boolean
gateway_queue_gate_review_ready: boolean
dual_approval_required: boolean
dry_run_hash_required: boolean
post_write_verifier_required: boolean
rollback_required: boolean
redaction_required: boolean
result_capture_write_approved: boolean
learning_write_approved: boolean
playbook_trust_write_approved: boolean
reviewer_queue_write_approved: boolean
gateway_queue_write_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
dual_approval_received_count: number
dry_run_hash_verified_count: number
post_write_verifier_pass_count: number
rollback_plan_verified_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
truth_note: string
}
write_gate_reviews: Array<{
gate_id: string
display_name: string
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
target_writer: string
target_write_gate: string
status: 'ready_for_owner_review' | 'approval_required' | 'blocked_by_policy'
required_before_write: string
blocked_write_action: string
dual_approval_required: true
dry_run_hash_required: true
post_write_verifier_required: true
runtime_write_enabled: false
evidence_hash: string
}>
approval_gates: Array<{
gate_id: string
display_name: string
owner_agent: 'openclaw' | 'hermes' | 'nemotron'
status: 'ready' | 'approval_required' | 'blocked_by_policy'
required_evidence: string
blocked_runtime_action: string
runtime_write_allowed: false
}>
post_write_verifier_plan: 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_live_writes: 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: {
write_gate_review_count: number
approval_gate_count: number
post_write_verifier_plan_count: number
blocked_live_write_count: number
operator_action_count: number
approval_required_review_count: number
blocked_review_count: number
approval_required_gate_count: number
blocked_gate_count: number
approval_required_verifier_count: number
critical_blocker_count: number
owner_approval_received_count: number
dual_approval_received_count: number
dry_run_hash_verified_count: number
post_write_verifier_pass_count: number
rollback_plan_verified_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