From 10fafc5be81d1e8503d97d35a36f36ec0e964b3a Mon Sep 17 00:00:00 2001 From: ogt Date: Fri, 10 Jul 2026 21:44:39 +0800 Subject: [PATCH] fix(governance): align current P0 with program ledger --- .../awoooi_priority_work_order_readback.py | 89 +++++++++++++++++++ ...awoooi_priority_work_order_readback_api.py | 37 ++++++-- 2 files changed, 119 insertions(+), 7 deletions(-) diff --git a/apps/api/src/services/awoooi_priority_work_order_readback.py b/apps/api/src/services/awoooi_priority_work_order_readback.py index f26c0470c..b37306837 100644 --- a/apps/api/src/services/awoooi_priority_work_order_readback.py +++ b/apps/api/src/services/awoooi_priority_work_order_readback.py @@ -7123,6 +7123,94 @@ def _load_ai_automation_professional_review() -> dict[str, Any]: return payload if isinstance(payload, dict) else {} +def _align_authoritative_current_p0_execution_focus( + payload: dict[str, Any], + next_item: dict[str, Any], +) -> None: + """Keep the formal program order authoritative without hiding ops work.""" + existing_parallel_focus = _dict(payload.get("parallel_operational_focus")) + existing_current_focus = _dict(payload.get("current_p0_execution_focus")) + next_work_item_id = str(next_item.get("id") or "") + if ( + not existing_parallel_focus + and existing_current_focus + and str(existing_current_focus.get("workplan_id") or "") + != next_work_item_id + ): + existing_parallel_focus = copy.deepcopy(existing_current_focus) + payload["parallel_operational_focus"] = existing_parallel_focus + + runtime_progress = _dict(next_item.get("runtime_progress")) + missing_stage_ids = _strings(runtime_progress.get("missing_stage_ids")) + dependencies = _strings(next_item.get("dependencies")) + is_runtime_closure = next_work_item_id == "AIA-P0-001" + current_focus = { + "schema_version": "awoooi_current_p0_execution_focus_v2", + "source": "ai_automation_program_ledger", + "workplan_id": next_work_item_id, + "priority": str(next_item.get("priority") or ""), + "state": str(next_item.get("status") or ""), + "stage": ( + "production_runtime_closure" + if is_runtime_closure + else "program_work_item_execution" + ), + "lane": ( + "ai_agent_runtime_closure" + if is_runtime_closure + else "ai_automation_program" + ), + "primary_blocker": ( + ",".join(missing_stage_ids) + or str(next_item.get("problem") or "") + ), + "next_executable_step": str(next_item.get("next_action") or ""), + "readiness_percent": _int(runtime_progress.get("completion_percent")), + "active_blocker_count": len(missing_stage_ids), + "blocker_group_counts": { + "runtime_stage_gap": len(missing_stage_ids), + "dependency": len(dependencies), + }, + "ready_package_count": 0, + "ready_packages": [], + "no_secret_verifier_ready": False, + "scoped_relink_dry_run_ready": False, + "autostart_check_mode_ready": False, + "service_data_backup_closed": False, + "parallel_operational_focus_id": str( + existing_parallel_focus.get("workplan_id") or "" + ), + "operation_boundaries": { + "low_medium_high_controlled_apply_allowed": True, + "critical_break_glass_required": True, + "secret_value_read": False, + "host_reboot": False, + "vm_power_change": False, + "github_api": False, + }, + } + payload["current_p0_execution_focus"] = current_focus + + summary = _dict(payload.setdefault("summary", {})) + rollups = _dict(payload.setdefault("rollups", {})) + for target in (summary, rollups): + target["current_p0_execution_focus_workplan_id"] = next_work_item_id + target["current_p0_execution_focus_priority"] = current_focus["priority"] + target["current_p0_execution_focus_stage"] = current_focus["stage"] + target["current_p0_execution_focus_lane"] = current_focus["lane"] + target["current_p0_execution_focus_next_executable_step"] = current_focus[ + "next_executable_step" + ] + target["current_p0_execution_focus_ready_package_count"] = 0 + target["current_p0_execution_focus_no_secret_verifier_ready"] = False + target["parallel_operational_focus_workplan_id"] = str( + existing_parallel_focus.get("workplan_id") or "" + ) + target["parallel_operational_focus_stage"] = str( + existing_parallel_focus.get("stage") or "" + ) + + def _apply_ai_automation_program_ledger(payload: dict[str, Any]) -> None: summary = _dict(payload.setdefault("summary", {})) rollups = _dict(payload.setdefault("rollups", {})) @@ -7430,6 +7518,7 @@ def _apply_ai_automation_program_ledger(payload: dict[str, Any]) -> None: tracked_asset_unit_count ) rollups["ai_automation_program_completion_percent"] = completion_percent + _align_authoritative_current_p0_execution_focus(payload, next_item) def _apply_commander_inserted_requirement_work_items( diff --git a/apps/api/tests/test_awoooi_priority_work_order_readback_api.py b/apps/api/tests/test_awoooi_priority_work_order_readback_api.py index 61e7c3637..8b826f11e 100644 --- a/apps/api/tests/test_awoooi_priority_work_order_readback_api.py +++ b/apps/api/tests/test_awoooi_priority_work_order_readback_api.py @@ -915,6 +915,13 @@ def test_ai_automation_program_ledger_is_authoritative_and_runtime_strict(): assert "SLSA_BUILD_V1_2" in governance["standards"] assert "CISA_SECURE_BY_DESIGN" in governance["standards"] assert program_summary["next_work_item_id"] == "AIA-P0-001" + assert payload["current_p0_execution_focus"]["workplan_id"] == ( + program_summary["next_work_item_id"] + ) + assert payload["current_p0_execution_focus"]["source"] == ( + "ai_automation_program_ledger" + ) + assert payload["parallel_operational_focus"]["workplan_id"] == "P0-006" assert program_summary["mainline_p0_order"][:5] == [ "AIA-P0-001", "AIA-P0-011", @@ -1075,12 +1082,16 @@ def test_awoooi_priority_work_order_readback_uses_injected_live_reboot_slo_truth state = payload["mainline_execution_state"] focus = payload["current_p0_execution_focus"] + operational_focus = payload["parallel_operational_focus"] assert state["active_p0_projection_source"] == ( "reboot_auto_recovery_slo_scorecard" ) assert state["active_p0_readiness_percent"] == 60 assert payload["summary"]["active_p0_readiness_percent"] == 60 - assert focus["readiness_percent"] == 60 + assert focus["workplan_id"] == "AIA-P0-001" + assert focus["stage"] == "production_runtime_closure" + assert operational_focus["workplan_id"] == "P0-006" + assert operational_focus["readiness_percent"] == 60 assert state["active_p0_live_active_blockers"] == active_blockers assert ( state["controlled_service_data_backup_readback_status"] @@ -1209,7 +1220,15 @@ def test_awoooi_priority_work_order_readback_routes_closed_backup_to_host_boot_a assert state["active_p0_next_safe_action"] == ( "rerun_reboot_event_detector_and_host_probe_verify_only_no_reboot" ) - focus = payload["current_p0_execution_focus"] + current_focus = payload["current_p0_execution_focus"] + focus = payload["parallel_operational_focus"] + assert current_focus["schema_version"] == ( + "awoooi_current_p0_execution_focus_v2" + ) + assert current_focus["workplan_id"] == "AIA-P0-001" + assert current_focus["stage"] == "production_runtime_closure" + assert current_focus["lane"] == "ai_agent_runtime_closure" + assert current_focus["parallel_operational_focus_id"] == "P0-006" assert focus["schema_version"] == "awoooi_current_p0_execution_focus_v1" assert focus["workplan_id"] == "P0-006" assert focus["stage"] == "windows99_no_secret_verifier_rerun_ready" @@ -1495,20 +1514,24 @@ def test_awoooi_priority_work_order_readback_routes_closed_backup_to_host_boot_a "rerun_reboot_event_detector_and_host_probe_verify_only_no_reboot" ) assert payload["summary"]["current_p0_execution_focus_stage"] == ( - "windows99_no_secret_verifier_rerun_ready" + "production_runtime_closure" ) assert payload["summary"]["current_p0_execution_focus_lane"] == ( - "windows99_vmware_verify_collection" + "ai_agent_runtime_closure" ) - assert payload["summary"]["current_p0_execution_focus_ready_package_count"] == 2 + assert payload["summary"]["current_p0_execution_focus_ready_package_count"] == 0 assert ( payload["summary"]["current_p0_execution_focus_no_secret_verifier_ready"] - is True + is False ) assert payload["rollups"]["current_p0_execution_focus_stage"] == ( + "production_runtime_closure" + ) + assert payload["rollups"]["current_p0_execution_focus_ready_package_count"] == 0 + assert payload["summary"]["parallel_operational_focus_workplan_id"] == "P0-006" + assert payload["summary"]["parallel_operational_focus_stage"] == ( "windows99_no_secret_verifier_rerun_ready" ) - assert payload["rollups"]["current_p0_execution_focus_ready_package_count"] == 2 assert ( payload["summary"]["active_p0_projection_source"] == "reboot_auto_recovery_slo_scorecard"