fix(iwooos): align closure board with runtime truth
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m18s
AWOOOI Harbor 110 Local Repair / workflow-shape (push) Successful in 0s
AWOOOI Harbor 110 Local Repair / harbor-110-local-repair (push) Successful in 32s
CD Pipeline / build-and-deploy (push) Successful in 5m0s
CD Pipeline / post-deploy-checks (push) Successful in 3m29s

This commit is contained in:
ogt
2026-07-10 19:15:51 +08:00
parent ab77872e13
commit 65de12b5e8
3 changed files with 53 additions and 40 deletions

View File

@@ -13994,12 +13994,14 @@
"syncing": "Syncing live readback",
"bootstrap": "Showing latest deployed readback",
"failed": "Tool closure readback is not deployed or failed to load",
"open": "Source evidence is readable; runtime closure is still open",
"ready": "Source evidence is readable; production closure advances only from runtime receipts"
},
"metrics": {
"closure": "Runtime closure",
"tracks": "Source ready",
"wazuh": "Wazuh registry",
"source": "Source ready",
"tracks": "Closed tracks",
"wazuh": "Wazuh verifier",
"alerts": "Alert receipt",
"runtime": "Controlled candidates"
},

View File

@@ -13994,12 +13994,14 @@
"syncing": "同步 live readback",
"bootstrap": "顯示最近部署驗收值",
"failed": "工具閉環 readback 尚未部署或讀取失敗",
"open": "來源證據可讀runtime 閉環仍未完成",
"ready": "來源證據可讀,正式環境閉環仍依 runtime 收據推進"
},
"metrics": {
"closure": "Runtime 閉環",
"tracks": "來源就緒",
"wazuh": "Wazuh registry",
"source": "來源就緒",
"tracks": "已閉環軌",
"wazuh": "Wazuh verifier",
"alerts": "Alert receipt",
"runtime": "受控候選"
},

View File

@@ -534,26 +534,26 @@ const SECURITY_TOOL_CLOSURE_BOOTSTRAP_SUMMARY: IwoooSSecurityToolClosureSummary
source_readback_count: 8,
tool_track_count: 8,
p0_tool_track_count: 3,
source_ready_tool_track_count: 1,
source_ready_tool_track_count: 2,
closed_tool_track_count: 0,
partial_tool_track_count: 1,
missing_tool_track_count: 6,
total_ready_signal_count: 14,
missing_tool_track_count: 5,
total_ready_signal_count: 16,
total_required_signal_count: 42,
tool_source_readiness_percent: 33,
tool_source_readiness_percent: 38,
tool_runtime_closure_percent: 0,
tool_closure_percent: 0,
wazuh_expected_host_scope_count: 6,
wazuh_manager_registry_accepted_count: 6,
wazuh_registry_complete_count: 1,
wazuh_fim_vulnerability_alert_closed_count: 0,
wazuh_fim_vulnerability_alert_source_verifier_ready_count: 0,
wazuh_fim_vulnerability_alert_source_verifier_ready_count: 1,
wazuh_fim_vulnerability_alert_runtime_closed_count: 0,
wazuh_fim_vulnerability_alert_verifier_ready_count: 0,
wazuh_fim_vulnerability_alert_verifier_ready_signal_count: 5,
alert_receipt_observed_count: 0,
alert_receipt_accepted_count: 0,
alert_receipt_source_status: 'not_connected',
wazuh_fim_vulnerability_alert_verifier_ready_count: 1,
wazuh_fim_vulnerability_alert_verifier_ready_signal_count: 6,
alert_receipt_observed_count: 1,
alert_receipt_accepted_count: 1,
alert_receipt_source_status: 'ready',
controlled_apply_preflight_ready_count: 1,
owner_review_packet_accepted_count: 1,
allowlisted_dry_run_result_ref_count: 1,
@@ -562,7 +562,7 @@ const SECURITY_TOOL_CLOSURE_BOOTSTRAP_SUMMARY: IwoooSSecurityToolClosureSummary
web_api_dast_closed_count: 0,
normalized_detection_schema_closed_count: 0,
controlled_apply_policy_active_count: 1,
controlled_apply_candidate_ready_count: 1,
controlled_apply_candidate_ready_count: 2,
owner_review_required_for_low_medium_high_count: 0,
runtime_execution_performed_count: 0,
secret_value_collection_allowed_count: 0,
@@ -574,22 +574,22 @@ const SECURITY_TOOL_CLOSURE_BOOTSTRAP_TRACKS: IwoooSSecurityToolClosureTrack[] =
priority: 'P0',
label: 'Wazuh detection and response',
tool_ids: ['wazuh'],
closure_state: 'partial_source_readiness_runtime_open',
closure_state: 'source_ready_runtime_open',
closure_percent: 0,
source_readiness_state: 'source_readiness_incomplete',
source_readiness_percent: 83,
runtime_closure_state: 'partial_source_readiness_runtime_open',
source_readiness_state: 'source_ready',
source_readiness_percent: 100,
runtime_closure_state: 'source_ready_runtime_open',
runtime_closed: false,
ready_signal_count: 5,
ready_signal_count: 6,
required_signal_count: 6,
missing_signal_count: 1,
missing_signal_count: 0,
controlled_apply_policy_allowed: true,
execution_candidate_ready: false,
execution_candidate_ready: true,
runtime_execution_performed: false,
owner_review_required: false,
critical_break_glass_required: false,
secret_value_collection_allowed: false,
next_executable_action: 'attach_incident_case_and_active_response_dry_run_receipts_without_runtime_gate',
next_executable_action: 'attach_live_alert_case_controlled_response_and_independent_post_verifier',
required_verifier: 'wazuh_registry_fim_vulnerability_alert_receipt_post_verifier',
source_refs: ['apps/api/src/services/iwooos_wazuh_fim_vulnerability_alert_verifier.py'],
},
@@ -718,15 +718,15 @@ const SECURITY_TOOL_CLOSURE_BOOTSTRAP_TRACKS: IwoooSSecurityToolClosureTrack[] =
priority: 'P1',
label: 'Normalized detection schema',
tool_ids: ['sigma', 'ocsf'],
closure_state: 'source_missing_runtime_open',
closure_state: 'partial_source_readiness_runtime_open',
closure_percent: 0,
source_readiness_state: 'source_readiness_incomplete',
source_readiness_percent: 0,
runtime_closure_state: 'source_missing_runtime_open',
source_readiness_percent: 25,
runtime_closure_state: 'partial_source_readiness_runtime_open',
runtime_closed: false,
ready_signal_count: 0,
ready_signal_count: 1,
required_signal_count: 4,
missing_signal_count: 4,
missing_signal_count: 3,
controlled_apply_policy_allowed: true,
execution_candidate_ready: false,
runtime_execution_performed: false,
@@ -771,9 +771,9 @@ const SECURITY_TOOL_CLOSURE_BOOTSTRAP_QUEUE: IwoooSSecurityToolClosureQueueEntry
{
queue_id: 'P0-03',
track_id: 'wazuh_detection_response',
state: 'wazuh_registry_complete_move_to_fim_vulnerability_alert',
next_action: 'attach_fim_vulnerability_alert_receipt_post_verifier',
ready_signal_count: 5,
state: 'wazuh_source_verifier_ready_runtime_closure_open',
next_action: 'attach_live_event_case_controlled_response_and_post_verifier',
ready_signal_count: 6,
controlled_apply_policy_allowed: true,
},
{
@@ -794,12 +794,12 @@ const SECURITY_TOOL_CLOSURE_BOOTSTRAP_QUEUE: IwoooSSecurityToolClosureQueueEntry
]
const SECURITY_TOOL_CLOSURE_BOOTSTRAP_BOUNDARY_MARKERS = [
'iwooos_security_tool_source_readiness_percent=33',
'iwooos_security_tool_source_readiness_percent=38',
'iwooos_security_tool_runtime_closure_percent=0',
'iwooos_security_tool_closure_percent=0',
'iwooos_security_tool_closure_wazuh_manager_registry_accepted_count=6',
'iwooos_security_tool_closure_alert_receipt_accepted_count=0',
'iwooos_security_tool_closure_controlled_apply_candidate_ready_count=1',
'iwooos_security_tool_closure_alert_receipt_accepted_count=1',
'iwooos_security_tool_closure_controlled_apply_candidate_ready_count=2',
'owner_review_required_for_low_medium_high=false',
'runtime_execution_performed=false',
'secret_value_collection_allowed=false',
@@ -16586,8 +16586,11 @@ function IwoooSSecurityToolClosureBoard() {
}, [])
const summary = data?.summary ?? SECURITY_TOOL_CLOSURE_BOOTSTRAP_SUMMARY
const statusKey = readbackFresh ? 'ready' : failed ? 'bootstrap' : loading ? 'syncing' : 'bootstrap'
const statusTone: 'steady' | 'warn' = readbackFresh ? 'steady' : 'warn'
const runtimeClosureOpen = summary.tool_runtime_closure_percent < 100
const statusKey = readbackFresh
? runtimeClosureOpen ? 'open' : 'ready'
: failed ? 'bootstrap' : loading ? 'syncing' : 'bootstrap'
const statusTone: 'steady' | 'warn' = runtimeClosureOpen ? 'warn' : 'steady'
const tracks = data?.tool_tracks?.length ? data.tool_tracks : SECURITY_TOOL_CLOSURE_BOOTSTRAP_TRACKS
const queue = data?.next_executable_queue?.length ? data.next_executable_queue : SECURITY_TOOL_CLOSURE_BOOTSTRAP_QUEUE
const boundaryMarkers = data?.boundary_markers?.length ? data.boundary_markers : SECURITY_TOOL_CLOSURE_BOOTSTRAP_BOUNDARY_MARKERS
@@ -16600,10 +16603,16 @@ function IwoooSSecurityToolClosureBoard() {
tone: summary.tool_runtime_closure_percent >= 100 ? 'steady' : summary.tool_runtime_closure_percent > 0 ? 'warn' : 'locked',
},
{
key: 'tracks',
value: `${summary.source_ready_tool_track_count}/${summary.tool_track_count}`,
key: 'source',
value: `${summary.tool_source_readiness_percent}%`,
icon: SearchCheck,
tone: summary.source_ready_tool_track_count > 0 ? 'warn' : 'locked',
tone: summary.tool_source_readiness_percent > 0 ? 'warn' : 'locked',
},
{
key: 'tracks',
value: `${summary.closed_tool_track_count}/${summary.tool_track_count}`,
icon: ListChecks,
tone: summary.closed_tool_track_count > 0 ? 'warn' : 'locked',
},
{
key: 'wazuh',
@@ -16619,7 +16628,7 @@ function IwoooSSecurityToolClosureBoard() {
key: 'alerts',
value: `${summary.alert_receipt_accepted_count}/${summary.alert_receipt_observed_count}`,
icon: Bell,
tone: summary.alert_receipt_accepted_count > 0 ? 'steady' : 'warn',
tone: summary.alert_receipt_accepted_count > 0 ? 'warn' : 'locked',
},
{
key: 'runtime',