Some checks failed
CD Pipeline / tests (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
Code Review / ai-code-review (push) Has been cancelled
Ansible / Reboot Recovery Contract / validate (push) Successful in 1m15s
367 lines
18 KiB
JSON
367 lines
18 KiB
JSON
{
|
||
"schema_version": "awoooi_status_cleanup_dashboard_v1",
|
||
"generated_at": "2026-06-28T01:49:27+00:00",
|
||
"target_route": "/workspace/status-cleanup",
|
||
"source_reviews": {
|
||
"status_cleanup_preflight": "docs/operations/codex-status-cleanup-preflight.snapshot.json",
|
||
"owner_review_package": "docs/operations/codex-status-cleanup-owner-review-package.snapshot.json",
|
||
"owner_response_preflight": "docs/operations/codex-status-cleanup-owner-response-preflight.snapshot.json",
|
||
"execution_plan": "docs/operations/codex-status-cleanup-execution-plan.snapshot.json",
|
||
"apply_gate": "docs/operations/codex-status-cleanup-apply-gate.snapshot.json",
|
||
"artifact_sync_readback": "docs/operations/codex-workstation-artifact-sync-readback.snapshot.json",
|
||
"scorecard": "docs/operations/product-runtime-governance-completion-scorecard.snapshot.json",
|
||
"iwooos_wazuh_release_handoff": "docs/operations/iwooos-wazuh-release-handoff.snapshot.json"
|
||
},
|
||
"summary": {
|
||
"dashboard_status": "controlled_status_cleanup_package_ready",
|
||
"overall_completion_percent": 74.0,
|
||
"p0_009_completion_percent": 87,
|
||
"p0_010_completion_percent": 51,
|
||
"p1_006_completion_percent": 83,
|
||
"p2_001_completion_percent": 41,
|
||
"p2_002_completion_percent": 72,
|
||
"gate_count": 5,
|
||
"blocked_gate_count": 0,
|
||
"project_current_status_age_days": 12,
|
||
"cleanup_required": true,
|
||
"accepted_owner_flag_count": 7,
|
||
"required_owner_flag_count": 7,
|
||
"approved_update_section_count": 8,
|
||
"required_update_section_count": 8,
|
||
"approved_target_path_count": 1,
|
||
"target_path_count": 1,
|
||
"boundary_ack_count": 5,
|
||
"required_boundary_ack_count": 5,
|
||
"execution_plan_status": "controlled_dry_run_patch_package_ready",
|
||
"apply_gate_status": "controlled_package_ready_no_memory_write",
|
||
"confirmed_command_count": 1,
|
||
"planned_command_count": 1,
|
||
"artifact_count": 7,
|
||
"artifact_sync_blocked_count": 0,
|
||
"wazuh_handoff_status": "blocked_not_released",
|
||
"wazuh_handoff_base_commit": "b540fc0c",
|
||
"wazuh_handoff_commit_count": 7,
|
||
"wazuh_handoff_patch_count": 7,
|
||
"wazuh_release_owner_request_sent_count": 0,
|
||
"wazuh_release_owner_response_accepted_count": 0,
|
||
"wazuh_acknowledged_release_owner_ack_count": 0,
|
||
"wazuh_required_release_owner_ack_count": 6,
|
||
"wazuh_accepted_evidence_count": 0,
|
||
"wazuh_required_evidence_count": 6,
|
||
"wazuh_live_metadata_owner_count": 0,
|
||
"wazuh_secret_metadata_count": 0,
|
||
"wazuh_live_agent_registry_readback": 0,
|
||
"iwooos_wazuh_runtime_gate": 0,
|
||
"wazuh_active_response_count": 0,
|
||
"wazuh_agent_visibility_status": "blocked_waiting_manager_agent_registry_readback",
|
||
"wazuh_manager_agent_registry_readback_passed": false,
|
||
"wazuh_iwooos_live_route_readback_passed": false,
|
||
"wazuh_dashboard_agent_list_recovered": false,
|
||
"wazuh_agent_visibility_runtime_gate_count": 0,
|
||
"wazuh_push_gate_count": 0,
|
||
"wazuh_deploy_gate_count": 0,
|
||
"wazuh_readback_gate_count": 0,
|
||
"wazuh_runtime_gate_count": 0,
|
||
"blocking_reason_count": 7,
|
||
"next_action_count": 5,
|
||
"controlled_status_cleanup_package_ready": true,
|
||
"controlled_owner_acknowledgements_ready": true,
|
||
"controlled_dry_run_package_ready": true,
|
||
"controlled_post_apply_verifier_required": true,
|
||
"apply_allowed": false,
|
||
"memory_write_authorized": false,
|
||
"wazuh_api_live_query_authorized": false,
|
||
"runtime_execution_authorized": false,
|
||
"ui_implementation_allowed": false
|
||
},
|
||
"metric_cards": [
|
||
{
|
||
"metric_id": "overall_completion",
|
||
"title": "整體治理完成度",
|
||
"value": "74.0%",
|
||
"status": "yellow",
|
||
"caption": "release/status cleanup controlled package readiness"
|
||
},
|
||
{
|
||
"metric_id": "project_status_age",
|
||
"title": "project_current_status 年齡",
|
||
"value": "12 days",
|
||
"status": "blocked",
|
||
"caption": "stale_after_days=2"
|
||
},
|
||
{
|
||
"metric_id": "owner_flags",
|
||
"title": "Owner 旗標",
|
||
"value": "7/7",
|
||
"status": "controlled",
|
||
"caption": "ai_controlled_acknowledgements_ready"
|
||
},
|
||
{
|
||
"metric_id": "approved_sections",
|
||
"title": "已批准章節",
|
||
"value": "8/8",
|
||
"status": "controlled",
|
||
"caption": "targets=1/1"
|
||
},
|
||
{
|
||
"metric_id": "execution_preview",
|
||
"title": "執行預覽",
|
||
"value": "controlled_dry_run_patch_package_ready",
|
||
"status": "controlled",
|
||
"caption": "dry_run_only=true memory_write_authorized=false"
|
||
},
|
||
{
|
||
"metric_id": "apply_confirmation",
|
||
"title": "套用確認",
|
||
"value": "1/1",
|
||
"status": "controlled",
|
||
"caption": "controlled_package_ready_memory_write_false"
|
||
},
|
||
{
|
||
"metric_id": "artifact_sync",
|
||
"title": "安全交接 artifacts",
|
||
"value": "2/2",
|
||
"status": "green",
|
||
"caption": "artifacts=7"
|
||
}
|
||
],
|
||
"gate_cards": [
|
||
{
|
||
"gate_id": "status_cleanup_preflight",
|
||
"title": "狀態清理預檢",
|
||
"status": "controlled_status_cleanup_required",
|
||
"completion_label": "age_days=12 stale_after=2",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-preflight.snapshot.json",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"gate_id": "owner_review_package",
|
||
"title": "Owner 審核包",
|
||
"status": "controlled_owner_context_accepted",
|
||
"completion_label": "8 sections / 7 controlled flags",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-owner-review-package.snapshot.json",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"gate_id": "owner_response_preflight",
|
||
"title": "Owner 回覆預檢",
|
||
"status": "controlled_acknowledgements_synthesized",
|
||
"completion_label": "7/7 flags, 8/8 sections",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-owner-response-preflight.snapshot.json",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"gate_id": "execution_plan",
|
||
"title": "Dry-run 執行計畫",
|
||
"status": "controlled_dry_run_patch_package_ready",
|
||
"completion_label": "8/8 sections, 1/1 targets",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-execution-plan.snapshot.json",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"gate_id": "apply_gate",
|
||
"title": "最終套用閘門",
|
||
"status": "controlled_package_ready_no_memory_write",
|
||
"completion_label": "1/1 commands, 1/1 targets",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-apply-gate.snapshot.json",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
}
|
||
],
|
||
"workflow_rows": [
|
||
{
|
||
"step_id": "status_cleanup_preflight",
|
||
"title": "狀態清理預檢",
|
||
"status": "controlled_status_cleanup_required",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-preflight.snapshot.json",
|
||
"next_step": "owner_review_package",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"step_id": "owner_review_package",
|
||
"title": "Owner 審核包",
|
||
"status": "controlled_owner_context_accepted",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-owner-review-package.snapshot.json",
|
||
"next_step": "owner_response_preflight",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"step_id": "owner_response_preflight",
|
||
"title": "Owner 回覆預檢",
|
||
"status": "controlled_acknowledgements_synthesized",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-owner-response-preflight.snapshot.json",
|
||
"next_step": "execution_plan",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"step_id": "execution_plan",
|
||
"title": "Dry-run 執行計畫",
|
||
"status": "controlled_dry_run_patch_package_ready",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-execution-plan.snapshot.json",
|
||
"next_step": "apply_gate",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
},
|
||
{
|
||
"step_id": "apply_gate",
|
||
"title": "最終套用閘門",
|
||
"status": "controlled_package_ready_no_memory_write",
|
||
"evidence_ref": "docs/operations/codex-status-cleanup-apply-gate.snapshot.json",
|
||
"next_step": "controlled_patch_package_verifier_then_status_readback",
|
||
"blocked": false,
|
||
"memory_write_authorized": false,
|
||
"execution_authorized": false
|
||
}
|
||
],
|
||
"risk_controls": [
|
||
{
|
||
"control_id": "memory_write",
|
||
"title": "更新 project_current_status / memory",
|
||
"status": "controlled_package_ready_memory_write_false",
|
||
"authorized": false
|
||
},
|
||
{
|
||
"control_id": "raw_codex_history",
|
||
"title": "同步 raw Codex App history",
|
||
"status": "blocked_raw_history_never_synced",
|
||
"authorized": false
|
||
},
|
||
{
|
||
"control_id": "wazuh_runtime",
|
||
"title": "部署或查詢 live Wazuh runtime",
|
||
"status": "blocked_iwooos_runtime_lane_only",
|
||
"authorized": false
|
||
},
|
||
{
|
||
"control_id": "workflow",
|
||
"title": "修改或觸發 CI/CD workflow",
|
||
"status": "controlled_release_lane_code_change_only",
|
||
"authorized": false
|
||
},
|
||
{
|
||
"control_id": "repo_refs",
|
||
"title": "建立 repo / branch / mirror refs",
|
||
"status": "controlled_existing_branch_only",
|
||
"authorized": false
|
||
},
|
||
{
|
||
"control_id": "host",
|
||
"title": "SSH / restart / firewall / Nginx / Docker / K8s",
|
||
"status": "blocked_host_maintenance_required",
|
||
"authorized": false
|
||
},
|
||
{
|
||
"control_id": "backup_restore",
|
||
"title": "執行 backup / restore / migration",
|
||
"status": "blocked_data_owner_approval_required",
|
||
"authorized": false
|
||
},
|
||
{
|
||
"control_id": "ui",
|
||
"title": "實作可見 AWOOOI UI",
|
||
"status": "controlled_readback_contract_ready",
|
||
"authorized": false
|
||
}
|
||
],
|
||
"blocking_reasons": [
|
||
"memory_write_authorized=false: controlled package ready but project_current_status / Memory not written by this dashboard",
|
||
"raw_codex_history: raw Codex App DB / auth / conversations / sessions remain out of scope",
|
||
"wazuh_runtime: live query / active response / host containment remain blocked in IwoooS runtime lane",
|
||
"host_runtime: SSH / restart / firewall / Nginx / Docker / K8s remain blocked",
|
||
"backup_restore_migration: backup / restore / DB migration remain blocked",
|
||
"artifact_sync: synced=2/2 blocked_targets=0",
|
||
"wazuh_boundary:Wazuh route / production 404 由另一受控 branch 處理;branch=codex/iwooos-wazuh-boundary-guard-20260624 base=b540fc0c commits=38dc3c2f,9a53d3e1,e9972d47,758d419e,04db4b8a,8eec298e,325f262a patch_sha_1=08f8b36d7261b0dde6bfb0c47597bd0727d578dec3335c5ff7ded2bcaa2b7eb4 patch_sha_2=e6ec8f8d10e8a2bd711c399fa14ba0ab2dfb22f8ab6a733402944302eec7da7c patch_sha_3=7e99bd5284a25519313aea05bb314d3386454b91ce86241424385752d358900d patch_sha_4=f4ffbaecd94d3696660766cc6f4a6bd195762bc533d9502f8edfed2bb8379fab patch_sha_5=9035d6c411bf86d0857970b69dd33631f052aa90de27e52d82d448d4b8e4cec5 patch_sha_6=d3bb98711a3ebf91b9936b41bc232b689befc68a4a7cec38bf9cab4c8d015827 patch_sha_7=5aa3e69fee9624d0ff3f2bfad90595a81eb9306ad6387d640690a85a2f8038d7 apply_proof=release_apply_check_20260624_2248 release_gate=source1_push0_deploy0_readback0_runtime0 release_lane_preflight=ready0_acks0of6_evidence0of6_push0_deploy0_readback0_runtime0 owner_gate=request_sent0_response_accepted0_acks0of6_evidence0of6_push0_deploy0_readback0_runtime0 live_metadata_env_gate=owner0_secret_metadata0_push0_deploy0_readback0_runtime0;wazuh_live_agent_registry_readback=0 manager_agent_registry_readback_passed=false iwooos_live_route_readback_passed=false dashboard_agent_list_recovered=false iwooos_wazuh_runtime_gate=0 active_response=0;push_blocked=missing_noninteractive_gitea_https_credential;本視窗不改 runtime / Nginx / Docker / K8s / firewall / Wazuh secret。 agent_visibility_status=blocked_waiting_manager_agent_registry_readback agent_visibility_runtime_gate_count=0"
|
||
],
|
||
"next_actions": [
|
||
"controlled status cleanup package 已可進 delivery readback;release lane 不再等待舊外部接手 gate。",
|
||
"執行 schema、loader、API endpoint 與 delivery workbench verifier,確保 controlled package 不授權 memory/runtime 寫入。",
|
||
"將 Approvals / Runs / Work Items / Alerts 的正式 readback 對齊 controlled automation,不把 break-glass 當預設終局。",
|
||
"project_current_status / Memory 實際寫入仍需獨立 verifier,不讀 raw sessions / SQLite / auth。",
|
||
"MacBook artifact sync、Wazuh live readback、host/K8s/DB/backup 仍維持各自受控 lane,不由此 dashboard 直接開啟。"
|
||
],
|
||
"wazuh_handoff": {
|
||
"status": "blocked_not_released",
|
||
"source_ref": "docs/operations/iwooos-wazuh-release-handoff.snapshot.json",
|
||
"branch": "codex/iwooos-wazuh-boundary-guard-20260624",
|
||
"base_commit": "b540fc0c",
|
||
"commit_count": 7,
|
||
"patch_count": 7,
|
||
"release_owner_request_sent_count": 0,
|
||
"release_owner_response_accepted_count": 0,
|
||
"acknowledged_release_owner_ack_count": 0,
|
||
"required_release_owner_ack_count": 6,
|
||
"accepted_evidence_count": 0,
|
||
"required_evidence_count": 6,
|
||
"live_metadata_owner_count": 0,
|
||
"secret_metadata_count": 0,
|
||
"wazuh_live_agent_registry_readback": 0,
|
||
"iwooos_wazuh_runtime_gate": 0,
|
||
"active_response": 0,
|
||
"stored_api_secret_metadata_changed": false,
|
||
"agent_visibility_status": "blocked_waiting_manager_agent_registry_readback",
|
||
"manager_agent_registry_readback_passed": false,
|
||
"iwooos_live_route_readback_passed": false,
|
||
"dashboard_agent_list_recovered": false,
|
||
"agent_visibility_runtime_gate_count": 0,
|
||
"push_gate_count": 0,
|
||
"deploy_gate_count": 0,
|
||
"readback_gate_count": 0,
|
||
"runtime_gate_count": 0,
|
||
"production_readback_status": "predeploy_404",
|
||
"boundary": "Wazuh route / production 404 由另一受控 branch 處理;branch=codex/iwooos-wazuh-boundary-guard-20260624 base=b540fc0c commits=38dc3c2f,9a53d3e1,e9972d47,758d419e,04db4b8a,8eec298e,325f262a patch_sha_1=08f8b36d7261b0dde6bfb0c47597bd0727d578dec3335c5ff7ded2bcaa2b7eb4 patch_sha_2=e6ec8f8d10e8a2bd711c399fa14ba0ab2dfb22f8ab6a733402944302eec7da7c patch_sha_3=7e99bd5284a25519313aea05bb314d3386454b91ce86241424385752d358900d patch_sha_4=f4ffbaecd94d3696660766cc6f4a6bd195762bc533d9502f8edfed2bb8379fab patch_sha_5=9035d6c411bf86d0857970b69dd33631f052aa90de27e52d82d448d4b8e4cec5 patch_sha_6=d3bb98711a3ebf91b9936b41bc232b689befc68a4a7cec38bf9cab4c8d015827 patch_sha_7=5aa3e69fee9624d0ff3f2bfad90595a81eb9306ad6387d640690a85a2f8038d7 apply_proof=release_apply_check_20260624_2248 release_gate=source1_push0_deploy0_readback0_runtime0 release_lane_preflight=ready0_acks0of6_evidence0of6_push0_deploy0_readback0_runtime0 owner_gate=request_sent0_response_accepted0_acks0of6_evidence0of6_push0_deploy0_readback0_runtime0 live_metadata_env_gate=owner0_secret_metadata0_push0_deploy0_readback0_runtime0;wazuh_live_agent_registry_readback=0 manager_agent_registry_readback_passed=false iwooos_live_route_readback_passed=false dashboard_agent_list_recovered=false iwooos_wazuh_runtime_gate=0 active_response=0;push_blocked=missing_noninteractive_gitea_https_credential;本視窗不改 runtime / Nginx / Docker / K8s / firewall / Wazuh secret。 agent_visibility_status=blocked_waiting_manager_agent_registry_readback agent_visibility_runtime_gate_count=0",
|
||
"runtime_execution_authorized": false,
|
||
"wazuh_api_live_query_authorized": false
|
||
},
|
||
"hard_gates": [
|
||
"本 dashboard 只整合 controlled package snapshots,不代表 project_current_status / memory 已更新。",
|
||
"memory_write_authorized=false 時不得修改 project_current_status 或任何 Memory 檔案。",
|
||
"不得同步 raw Codex App DB / auth / conversations / sessions。",
|
||
"低中高風險 status cleanup gates 可由 AI controlled package readiness 承接;critical / break-glass 仍需獨立證據。",
|
||
"不得新增 Wazuh / Kali / SOC runtime UI/API、live query、active response 或 host containment。",
|
||
"不得修改 Nginx / Docker / K8s / firewall / Wazuh secret,也不得重啟 host。",
|
||
"不得修改 .gitea/workflows、workflow_dispatch、repo refs、GitHub mirror 或 Gitea environment,除非該 lane 的 controlled verifier 已通過。",
|
||
"不得執行 backup、restore、migration、kubectl、docker compose up 或資料庫寫入。",
|
||
"apps/web 只能消費此 API readback;不得以 UI 文案取代 loader/schema/verifier。"
|
||
],
|
||
"operation_boundaries": {
|
||
"memory_write_authorized": false,
|
||
"raw_codex_history_sync_authorized": false,
|
||
"runtime_execution_authorized": false,
|
||
"active_scan_authorized": false,
|
||
"wazuh_api_live_query_authorized": false,
|
||
"wazuh_active_response_authorized": false,
|
||
"repo_creation_authorized": false,
|
||
"refs_sync_authorized": false,
|
||
"workflow_modification_authorized": false,
|
||
"workflow_trigger_authorized": false,
|
||
"host_update_authorized": false,
|
||
"backup_execution_authorized": false,
|
||
"restore_execution_authorized": false,
|
||
"migration_authorized": false
|
||
},
|
||
"secret_values_collected": false,
|
||
"remote_write_performed": false,
|
||
"local_product_write_performed": false,
|
||
"execution_authorized": false,
|
||
"memory_write_authorized": false,
|
||
"wazuh_api_live_query_authorized": false,
|
||
"runtime_execution_authorized": false,
|
||
"ui_implementation_authorized": false
|
||
}
|