fix(priority): expose runtime readback freshness
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 47s
CD Pipeline / build-and-deploy (push) Successful in 4m22s
CD Pipeline / post-deploy-checks (push) Successful in 1m44s

This commit is contained in:
Your Name
2026-07-02 15:54:03 +08:00
parent dc4547b1de
commit 2bbbd458bc
3 changed files with 55 additions and 0 deletions

View File

@@ -812,6 +812,7 @@ def load_latest_awoooi_priority_work_order_readback(
_enrich_from_current_readbacks(payload)
_require_mainline_consistency(payload, str(path))
_apply_commander_inserted_requirement_work_items(payload)
_mark_runtime_generated_at(payload)
return payload
@@ -960,6 +961,8 @@ def apply_controlled_cd_lane_live_metric_readback(
active_blockers
)
_mark_runtime_generated_at(payload)
def apply_stockplatform_public_api_runtime_readback(
payload: dict[str, Any],
@@ -3329,6 +3332,27 @@ def _apply_commander_inserted_requirement_work_items(
)
def _mark_runtime_generated_at(payload: dict[str, Any]) -> None:
snapshot_generated_at = str(
payload.get("snapshot_generated_at") or payload.get("generated_at") or ""
)
runtime_generated_at = _taipei_now_iso()
if snapshot_generated_at:
payload["snapshot_generated_at"] = snapshot_generated_at
payload["generated_at"] = runtime_generated_at
payload["runtime_readback_generated_at"] = runtime_generated_at
summary = _dict(payload.setdefault("summary", {}))
if snapshot_generated_at:
summary["snapshot_generated_at"] = snapshot_generated_at
summary["generated_at"] = runtime_generated_at
summary["runtime_readback_generated_at"] = runtime_generated_at
rollups = _dict(payload.setdefault("rollups", {}))
rollups["runtime_readback_generated_at_present"] = True
def _require_schema(payload: dict[str, Any], label: str) -> None:
actual = payload.get("schema_version")
if actual != _SCHEMA_VERSION:

View File

@@ -43,6 +43,10 @@ def test_awoooi_priority_work_order_readback_loader_returns_mainline_order():
payload = load_latest_awoooi_priority_work_order_readback()
assert payload["schema_version"] == "awoooi_priority_work_order_readback_v1"
assert payload["snapshot_generated_at"] == "2026-06-29T23:50:52+08:00"
assert payload["generated_at"] != payload["snapshot_generated_at"]
assert payload["generated_at"].endswith("+08:00")
assert payload["runtime_readback_generated_at"] == payload["generated_at"]
assert payload["status"] == "p0_006_blocked_reboot_auto_recovery_slo_not_ready"
assert payload["mainline_execution_state"]["active_p0_workplan_id"] == "P0-006"
assert payload["mainline_execution_state"]["active_p0_state"] == (
@@ -248,6 +252,12 @@ def test_awoooi_priority_work_order_readback_loader_returns_mainline_order():
payload["summary"]["controlled_service_data_backup_readback_present"]
is True
)
assert payload["summary"]["snapshot_generated_at"] == payload[
"snapshot_generated_at"
]
assert payload["summary"]["runtime_readback_generated_at"] == payload[
"runtime_readback_generated_at"
]
assert payload["summary"]["controlled_service_data_backup_blocker_count"] == 4
assert payload["summary"][
"controlled_service_data_backup_next_safe_action"
@@ -373,6 +383,10 @@ def test_awoooi_priority_work_order_readback_endpoint_returns_snapshot(
assert response.status_code == 200
data = response.json()
assert data["snapshot_generated_at"] == "2026-06-29T23:50:52+08:00"
assert data["generated_at"] != data["snapshot_generated_at"]
assert data["runtime_readback_generated_at"] == data["generated_at"]
assert data["summary"]["runtime_readback_generated_at"] == data["generated_at"]
assert data["status"] == "p0_006_blocked_ai_loop_current_blocker_execution_queue"
assert data["mainline_execution_state"]["active_p0_workplan_id"] == "P0-006"
assert data["mainline_execution_state"]["active_p0_state"] == (