fix(api): record stock retry recovery readback
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 19s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 19s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -97,12 +97,12 @@ from src.services.ai_agent_interaction_learning_proof import (
|
||||
from src.services.ai_agent_learning_writeback_approval_package import (
|
||||
load_latest_ai_agent_learning_writeback_approval_package,
|
||||
)
|
||||
from src.services.ai_agent_log_feedback_receipt_dry_run import (
|
||||
load_latest_ai_agent_log_feedback_receipt_dry_run,
|
||||
)
|
||||
from src.services.ai_agent_live_read_model_gate import (
|
||||
load_latest_ai_agent_live_read_model_gate,
|
||||
)
|
||||
from src.services.ai_agent_log_feedback_receipt_dry_run import (
|
||||
load_latest_ai_agent_log_feedback_receipt_dry_run,
|
||||
)
|
||||
from src.services.ai_agent_log_intelligence_integration_readback import (
|
||||
load_latest_ai_agent_log_intelligence_integration_readback,
|
||||
)
|
||||
@@ -324,8 +324,8 @@ from src.services.backup_restore_drill_approval_package_template import (
|
||||
)
|
||||
from src.services.credential_escrow_evidence_intake_readiness import (
|
||||
load_latest_credential_escrow_evidence_intake_readiness,
|
||||
validate_credential_escrow_evidence_refs,
|
||||
validate_credential_escrow_evidence_owner_response,
|
||||
validate_credential_escrow_evidence_refs,
|
||||
)
|
||||
from src.services.delivery_closure_workbench import (
|
||||
load_delivery_closure_workbench,
|
||||
|
||||
@@ -164,8 +164,8 @@ def test_delivery_closure_workbench_exposes_p0_006_reboot_slo_lane():
|
||||
|
||||
assert lane["source_id"] == "reboot_auto_recovery_slo_scorecard"
|
||||
assert lane["status"] == "blocked_reboot_auto_recovery_slo_not_ready"
|
||||
assert lane["blocker_count"] == 6
|
||||
assert lane["completion_percent"] == 45
|
||||
assert lane["blocker_count"] == 5
|
||||
assert lane["completion_percent"] == 55
|
||||
assert lane["metric"]["kind"] == "reboot_auto_recovery_slo"
|
||||
assert lane["metric"]["workplan_id"] == "P0-006"
|
||||
assert lane["metric"]["target_minutes"] == 10
|
||||
@@ -178,9 +178,9 @@ def test_delivery_closure_workbench_exposes_p0_006_reboot_slo_lane():
|
||||
assert lane["metric"]["product_data_green"] is False
|
||||
assert lane["metric"]["backup_core_green"] is True
|
||||
assert lane["metric"]["stockplatform_freshness_status"] == "blocked"
|
||||
assert lane["metric"]["stockplatform_ingestion_status"] == "blocked"
|
||||
assert lane["metric"]["stockplatform_freshness_blocker_count"] == 2
|
||||
assert lane["metric"]["stockplatform_ingestion_blocker_count"] == 1
|
||||
assert lane["metric"]["stockplatform_ingestion_status"] == "ok"
|
||||
assert lane["metric"]["stockplatform_freshness_blocker_count"] == 1
|
||||
assert lane["metric"]["stockplatform_ingestion_blocker_count"] == 0
|
||||
assert lane["metric"]["stockplatform_final_retry_window_passed"] is False
|
||||
assert lane["metric"]["stockplatform_controlled_recovery_gate_required"] is False
|
||||
assert lane["metric"]["host_reboot_performed"] is False
|
||||
@@ -189,7 +189,7 @@ def test_delivery_closure_workbench_exposes_p0_006_reboot_slo_lane():
|
||||
assert lane["metric"]["secret_value_collection_allowed"] is False
|
||||
assert "stockplatform_freshness_blocked" in lane["metric"]["active_blockers"]
|
||||
assert lane["next_action"] == (
|
||||
"wait_next_stockplatform_retry_window_then_rerun_slo_verify_only_"
|
||||
"wait_ai_recommendations_refresh_then_rerun_slo_verify_only_"
|
||||
"no_reboot_no_db_write"
|
||||
)
|
||||
|
||||
@@ -213,8 +213,8 @@ def _assert_delivery_workbench_shape(data: dict):
|
||||
"blocked_reboot_auto_recovery_slo_not_ready"
|
||||
)
|
||||
assert data["summary"]["reboot_auto_recovery_workplan_id"] == "P0-006"
|
||||
assert data["summary"]["reboot_auto_recovery_readiness_percent"] == 45
|
||||
assert data["summary"]["reboot_auto_recovery_active_blocker_count"] == 6
|
||||
assert data["summary"]["reboot_auto_recovery_readiness_percent"] == 55
|
||||
assert data["summary"]["reboot_auto_recovery_active_blocker_count"] == 5
|
||||
assert data["summary"]["reboot_auto_recovery_can_claim_slo"] is False
|
||||
assert data["summary"]["reboot_auto_recovery_service_green"] is False
|
||||
assert data["summary"]["reboot_auto_recovery_product_data_green"] is False
|
||||
@@ -226,7 +226,7 @@ def _assert_delivery_workbench_shape(data: dict):
|
||||
)
|
||||
assert (
|
||||
data["summary"]["reboot_auto_recovery_stockplatform_ingestion_status"]
|
||||
== "blocked"
|
||||
== "ok"
|
||||
)
|
||||
assert (
|
||||
data["summary"][
|
||||
@@ -241,7 +241,7 @@ def _assert_delivery_workbench_shape(data: dict):
|
||||
is False
|
||||
)
|
||||
assert data["summary"]["reboot_auto_recovery_safe_next_step"] == (
|
||||
"wait_next_stockplatform_retry_window_then_rerun_slo_verify_only_"
|
||||
"wait_ai_recommendations_refresh_then_rerun_slo_verify_only_"
|
||||
"no_reboot_no_db_write"
|
||||
)
|
||||
assert data["summary"]["gitea_private_inventory_status"] == (
|
||||
|
||||
@@ -31,18 +31,18 @@ def _assert_reboot_slo_payload(payload: dict):
|
||||
assert payload["priority"] == "P0-006"
|
||||
assert payload["status"] == "blocked_reboot_auto_recovery_slo_not_ready"
|
||||
assert payload["safe_next_step"] == (
|
||||
"wait_next_stockplatform_retry_window_then_rerun_slo_verify_only_"
|
||||
"wait_ai_recommendations_refresh_then_rerun_slo_verify_only_"
|
||||
"no_reboot_no_db_write"
|
||||
)
|
||||
assert payload["can_claim_all_services_recovered_within_target"] is False
|
||||
assert payload["readback"]["workplan_id"] == "P0-006"
|
||||
assert payload["readback"]["target_minutes"] == 10
|
||||
assert payload["readback"]["safe_next_step"] == (
|
||||
"wait_next_stockplatform_retry_window_then_rerun_slo_verify_only_"
|
||||
"wait_ai_recommendations_refresh_then_rerun_slo_verify_only_"
|
||||
"no_reboot_no_db_write"
|
||||
)
|
||||
assert payload["rollups"]["active_blocker_count"] == 6
|
||||
assert payload["rollups"]["readiness_percent"] == 45
|
||||
assert payload["rollups"]["active_blocker_count"] == 5
|
||||
assert payload["rollups"]["readiness_percent"] == 55
|
||||
assert payload["rollups"]["observed_host_count"] == 4
|
||||
assert payload["rollups"]["missing_host_count"] == 0
|
||||
assert payload["rollups"]["unreachable_host_count"] == 0
|
||||
@@ -51,9 +51,9 @@ def _assert_reboot_slo_payload(payload: dict):
|
||||
assert payload["rollups"]["product_data_green"] is False
|
||||
assert payload["rollups"]["backup_core_green"] is True
|
||||
assert payload["rollups"]["stockplatform_freshness_status"] == "blocked"
|
||||
assert payload["rollups"]["stockplatform_ingestion_status"] == "blocked"
|
||||
assert payload["rollups"]["stockplatform_freshness_blocker_count"] == 2
|
||||
assert payload["rollups"]["stockplatform_ingestion_blocker_count"] == 1
|
||||
assert payload["rollups"]["stockplatform_ingestion_status"] == "ok"
|
||||
assert payload["rollups"]["stockplatform_freshness_blocker_count"] == 1
|
||||
assert payload["rollups"]["stockplatform_ingestion_blocker_count"] == 0
|
||||
assert payload["rollups"]["stockplatform_final_retry_window_passed"] is False
|
||||
assert (
|
||||
payload["rollups"]["stockplatform_controlled_recovery_gate_required"]
|
||||
@@ -63,12 +63,12 @@ def _assert_reboot_slo_payload(payload: dict):
|
||||
stockplatform = payload["stockplatform_data_freshness"]
|
||||
assert stockplatform["freshness_endpoint_readback_present"] is True
|
||||
assert stockplatform["ingestion_endpoint_readback_present"] is True
|
||||
assert stockplatform["freshness_blockers"] == [
|
||||
"core_margin_short_daily_missing",
|
||||
"ai_recommendations_stale",
|
||||
]
|
||||
assert stockplatform["ingestion_blockers"] == [
|
||||
"core.margin_short_daily_incomplete"
|
||||
assert stockplatform["freshness_blockers"] == ["ai_recommendations_stale"]
|
||||
assert stockplatform["ingestion_blockers"] == []
|
||||
assert stockplatform["margin_short_recovery"]["status"] == "recovered"
|
||||
assert stockplatform["margin_short_recovery"]["successful_source_run_ids"] == [
|
||||
3390,
|
||||
3389,
|
||||
]
|
||||
assert stockplatform["eod_window"]["final_retry_window_passed"] is False
|
||||
assert stockplatform["controlled_recovery_gate"]["required"] is False
|
||||
|
||||
Reference in New Issue
Block a user