Merge remote-tracking branch 'gitea/main' into codex/delivery-workbench-release-20260626-ffsync

This commit is contained in:
ogt
2026-06-27 00:05:47 +08:00
11 changed files with 659 additions and 201 deletions

View File

@@ -37,9 +37,21 @@ def test_load_latest_ai_agent_high_risk_owner_review_queue_reads_newest_file(tmp
assert loaded["program_status"]["current_task_id"] == "P2-409"
assert loaded["program_status"]["next_task_id"] == "P2-410"
assert loaded["program_status"]["read_only_mode"] is True
assert (
loaded["program_status"]["runtime_authority"]
== "controlled_apply_break_glass_queue_readback_no_live_execution"
)
assert loaded["queue_truth"]["all_high_risk_actions_paused"] is False
assert loaded["queue_truth"]["high_risk_owner_review_required"] is False
assert loaded["queue_truth"]["high_risk_controlled_apply_enabled"] is True
assert loaded["queue_truth"]["critical_break_glass_required"] is True
assert loaded["rollups"]["queue_item_count"] == 7
assert loaded["rollups"]["approval_packet_count"] == 7
assert loaded["rollups"]["rejection_guard_count"] == 8
assert loaded["rollups"]["controlled_apply_queue_count"] == 5
assert loaded["rollups"]["critical_break_glass_queue_count"] == 2
assert loaded["rollups"]["owner_response_required_count"] == 2
assert loaded["rollups"]["high_risk_owner_review_required_count"] == 0
assert loaded["rollups"]["telegram_send_count"] == 0
@@ -118,6 +130,26 @@ def test_ai_agent_high_risk_owner_review_queue_requires_rollback_owner(tmp_path)
load_latest_ai_agent_high_risk_owner_review_queue(tmp_path)
def test_ai_agent_high_risk_owner_review_queue_keeps_high_risk_on_controlled_apply(tmp_path):
snapshot = _snapshot()
high_item = next(item for item in snapshot["owner_review_queue_items"] if item["risk_tier"] == "high")
high_item["owner_response_required"] = True
_write_snapshot(tmp_path, snapshot)
with pytest.raises(ValueError, match="owner_response_required"):
load_latest_ai_agent_high_risk_owner_review_queue(tmp_path)
def test_ai_agent_high_risk_owner_review_queue_keeps_critical_on_break_glass(tmp_path):
snapshot = _snapshot()
critical_item = next(item for item in snapshot["owner_review_queue_items"] if item["risk_tier"] == "critical")
critical_item["owner_response_required"] = False
_write_snapshot(tmp_path, snapshot)
with pytest.raises(ValueError, match="owner_response_required"):
load_latest_ai_agent_high_risk_owner_review_queue(tmp_path)
def test_ai_agent_high_risk_owner_review_queue_requires_rollup_consistency(tmp_path):
snapshot = _snapshot()
snapshot["rollups"]["queue_item_count"] = 99

View File

@@ -21,8 +21,12 @@ def test_ai_agent_high_risk_owner_review_queue_endpoint_returns_committed_snapsh
assert data["program_status"]["read_only_mode"] is True
assert (
data["program_status"]["runtime_authority"]
== "high_risk_owner_review_queue_no_live_execution_committed_snapshot"
== "controlled_apply_break_glass_queue_readback_no_live_execution"
)
assert data["queue_truth"]["all_high_risk_actions_paused"] is False
assert data["queue_truth"]["high_risk_owner_review_required"] is False
assert data["queue_truth"]["high_risk_controlled_apply_enabled"] is True
assert data["queue_truth"]["critical_break_glass_required"] is True
assert data["rollups"]["source_readback_count"] == len(data["source_readbacks"]) == 6
assert data["rollups"]["queue_item_count"] == len(data["owner_review_queue_items"]) == 7
assert data["rollups"]["high_risk_queue_count"] == 5
@@ -34,6 +38,10 @@ def test_ai_agent_high_risk_owner_review_queue_endpoint_returns_committed_snapsh
assert data["rollups"]["rollback_owner_required_count"] == 7
assert data["rollups"]["postcheck_required_count"] == 7
assert data["rollups"]["blocked_runtime_action_count"] == 42
assert data["rollups"]["controlled_apply_queue_count"] == 5
assert data["rollups"]["critical_break_glass_queue_count"] == 2
assert data["rollups"]["owner_response_required_count"] == 2
assert data["rollups"]["high_risk_owner_review_required_count"] == 0
assert data["rollups"]["owner_response_received_count"] == 0
assert data["rollups"]["owner_response_accepted_count"] == 0
assert data["rollups"]["auto_worker_run_count"] == 0
@@ -52,8 +60,19 @@ def test_ai_agent_high_risk_owner_review_queue_endpoint_returns_committed_snapsh
assert data["telegram_policy"]["telegram_send_allowed"] is False
assert data["telegram_policy"]["gateway_queue_write_allowed"] is False
assert data["telegram_policy"]["direct_bot_api_allowed"] is False
assert data["routing_policy"]["high_risk_default_route"] == "pause_to_owner_review_queue"
assert data["routing_policy"]["critical_risk_default_route"] == "pause_to_owner_review_queue"
assert data["routing_policy"]["high_risk_default_route"] == "controlled_apply_queue"
assert data["routing_policy"]["critical_risk_default_route"] == "critical_break_glass_queue"
assert data["routing_policy"]["owner_response_required"] is False
assert data["routing_policy"]["verbal_approval_accepted"] is False
assert all(
item["owner_response_required"] is False
for item in data["owner_review_queue_items"]
if item["risk_tier"] == "high"
)
assert all(
item["owner_response_required"] is True
for item in data["owner_review_queue_items"]
if item["risk_tier"] == "critical"
)
assert data["activation_boundaries"]["live_execution_enabled"] is False
assert data["activation_boundaries"]["openclaw_replacement_allowed"] is False