feat(governance): 新增 P2-143 owner response 預檢
All checks were successful
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m28s
CD Pipeline / build-and-deploy (push) Successful in 4m46s
CD Pipeline / post-deploy-checks (push) Successful in 1m48s

This commit is contained in:
Your Name
2026-06-14 14:37:04 +08:00
parent 1a2c9e36c7
commit 755b0a8d30
12 changed files with 1366 additions and 7 deletions

View File

@@ -619,6 +619,11 @@ export const apiClient = {
return handleResponse<AiAgentResultCaptureReleaseDecisionInputPrepSnapshot>(res)
},
async getAiAgentResultCaptureReleaseDecisionOwnerResponsePreflight() {
const res = await fetch(`${API_BASE_URL}/agents/agent-result-capture-release-decision-owner-response-preflight`)
return handleResponse<AiAgentResultCaptureReleaseDecisionOwnerResponsePreflightSnapshot>(res)
},
async getAiAgentOwnerApprovedFixtureDryRun() {
const res = await fetch(`${API_BASE_URL}/agents/agent-owner-approved-fixture-dry-run`)
return handleResponse<AiAgentOwnerApprovedFixtureDryRunSnapshot>(res)
@@ -1295,8 +1300,8 @@ export interface AiAgent12AgentWarRoomSnapshot {
program_status: {
overall_completion_percent: number
current_priority: 'P0' | 'P1' | 'P2' | 'P3'
current_task_id: 'P2-142'
next_task_id: 'P2-143'
current_task_id: 'P2-143'
next_task_id: 'P2-144'
read_only_mode: true
runtime_authority: '12_agent_war_room_read_only_no_live_write'
status_note: string
@@ -9921,6 +9926,122 @@ export interface AiAgentResultCaptureReleaseDecisionInputPrepSnapshot {
}
}
interface AiAgentReleaseDecisionOwnerResponseIntakeLane {
lane_id: string
display_name: string
source_packet_id: string
owner_agent: string
current_task_id: string
target_next_task_id: string
intake_status: string
required_fields: string[]
preflight_summary: string
accepted: boolean
redacted_payload_ingested: boolean
runtime_write_allowed: boolean
telegram_send_allowed: boolean
evidence_hash?: string
}
export interface AiAgentResultCaptureReleaseDecisionOwnerResponsePreflightSnapshot {
schema_version: 'ai_agent_result_capture_release_decision_owner_response_preflight_v1'
generated_at: string
program_status: {
overall_completion_percent: number
current_priority: 'P0' | 'P1' | 'P2' | 'P3'
current_task_id: 'P2-142'
next_task_id: 'P2-143'
read_only_mode: true
runtime_authority: 'result_capture_release_decision_owner_response_preflight_only_no_live_write'
status_note: string
}
source_refs: string[]
prior_decision_input_prep: AiAgentReleaseDecisionNextHandoffZeroCounts & {
schema_version: string
current_task_id: string
next_task_id: string
decision_input_packet_count: number
missing_input_field_count: number
blocked_input_transition_count: number
operator_action_count: number
approval_required_subtotal: number
blocked_and_critical_subtotal: number
readiness_note: string
}
owner_response_preflight_truth: AiAgentReleaseDecisionNextHandoffZeroCounts & {
p2_141_input_prep_loaded: boolean
p2_142_war_room_baseline_preserved: boolean
required_owner_fields_declared: boolean
required_verifier_fields_declared: boolean
required_rollback_fields_declared: boolean
required_maintenance_window_fields_declared: boolean
required_live_apply_fields_declared: boolean
redaction_contract_loaded: boolean
preflight_only_mode: boolean
no_raw_payload_required: boolean
rejection_policy_active: boolean
truth_note: string
owner_response_received: boolean
owner_response_accepted: boolean
owner_response_rejected: boolean
redacted_payload_ingested: boolean
owner_response_received_count: number
owner_response_accepted_count: number
owner_response_rejected_count: number
redacted_payload_ingested_count: number
release_authorization_granted: boolean
gateway_queue_write_enabled: boolean
telegram_send_enabled: boolean
result_capture_write_enabled: boolean
learning_write_enabled: boolean
playbook_trust_write_enabled: boolean
production_write_enabled: boolean
}
response_intake_lanes: AiAgentReleaseDecisionOwnerResponseIntakeLane[]
intake_validation_checks: {
check_id: string
status: string
requirement: string
runtime_write_allowed: boolean
}[]
rejection_guards: {
guard_id: string
status: string
reason: string
runtime_write_allowed: boolean
}[]
operator_actions: {
action_id: string
owner_agent: string
status: string
operator_instruction: string
runtime_write_allowed: boolean
}[]
display_redaction_contract: {
redaction_required: boolean
raw_prompt_display_allowed: boolean
private_reasoning_display_allowed: boolean
secret_value_display_allowed: boolean
raw_runtime_payload_display_allowed: boolean
internal_collaboration_content_display_allowed: boolean
frontend_display_policy: string
}
rollups: AiAgentReleaseDecisionNextHandoffZeroCounts & {
response_intake_lane_count: number
required_owner_field_count: number
intake_validation_check_count: number
rejection_guard_count: number
operator_action_count: number
waiting_external_response_count: number
approval_required_subtotal: number
blocked_and_critical_subtotal: number
owner_response_received_count: number
owner_response_accepted_count: number
owner_response_rejected_count: number
redacted_payload_ingested_count: number
}
}
export interface AiAgentOwnerApprovedFixtureDryRunSnapshot {
schema_version: 'ai_agent_owner_approved_fixture_dry_run_v1'
generated_at: string