fix(agent99): separate external self health from deploy gate
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 2m34s
CD Pipeline / build-and-deploy (push) Successful in 15m35s
AWOOOI Harbor 110 Local Repair / workflow-shape (push) Successful in 0s
AWOOOI Harbor 110 Local Repair / harbor-110-local-repair (push) Successful in 16s
CD Pipeline / post-deploy-checks (push) Successful in 2m5s
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 2m34s
CD Pipeline / build-and-deploy (push) Successful in 15m35s
AWOOOI Harbor 110 Local Repair / workflow-shape (push) Successful in 0s
AWOOOI Harbor 110 Local Repair / harbor-110-local-repair (push) Successful in 16s
CD Pipeline / post-deploy-checks (push) Successful in 2m5s
This commit is contained in:
@@ -71,7 +71,11 @@ function Get-AgentLivePreflightDecision {
|
||||
$warningReasons += "performance_warning"
|
||||
}
|
||||
}
|
||||
"critical" { $blockingReasons += "self_health_critical" }
|
||||
# Self-health also aggregates external host performance and Telegram
|
||||
# delivery. Keep the preflight exit degraded, but emit the receiver's
|
||||
# canonical external-health reason so unrelated asset pressure cannot be
|
||||
# mistaken for a runtime-plane integrity failure.
|
||||
"critical" { $blockingReasons += "self_health_not_ok" }
|
||||
default { $blockingReasons += "self_health_unclassified" }
|
||||
}
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ def test_warning_receipt_is_visible_without_weakening_integrity_blockers() -> No
|
||||
assert '$warningReasons += "self_health_warning"' in decision
|
||||
assert '$warningReasons += "performance_warning"' in decision
|
||||
assert '$warningReasons += "fresh_alert_pending_next_inbox_tick"' in decision
|
||||
assert '"critical" { $blockingReasons += "self_health_critical" }' in decision
|
||||
assert '"critical" { $blockingReasons += "self_health_not_ok" }' in decision
|
||||
assert 'default { $blockingReasons += "self_health_unclassified" }' in decision
|
||||
assert '$blockingReasons += "runtime_manifest_identity_invalid"' in decision
|
||||
assert '$blockingReasons += "runtime_manifest_mismatch"' in decision
|
||||
@@ -148,7 +148,7 @@ def test_decision_behavior_when_powershell_is_available() -> None:
|
||||
(
|
||||
_with_overrides(selfHealthSeverity="critical"),
|
||||
False,
|
||||
("self_health_critical",),
|
||||
("self_health_not_ok",),
|
||||
(),
|
||||
),
|
||||
(
|
||||
|
||||
@@ -162,7 +162,7 @@ def test_live_preflight_is_no_secret_and_no_remote_write() -> None:
|
||||
assert '"warning" {' in preflight
|
||||
assert '$warningReasons += "self_health_warning"' in preflight
|
||||
assert '$warningReasons += "performance_warning"' in preflight
|
||||
assert '"critical" { $blockingReasons += "self_health_critical" }' in preflight
|
||||
assert '"critical" { $blockingReasons += "self_health_not_ok" }' in preflight
|
||||
assert 'default { $blockingReasons += "self_health_unclassified" }' in preflight
|
||||
assert 'if ($selfHealthSeverity -ne "ok")' not in preflight
|
||||
assert 'Write-Output "DEPLOYMENT_ELIGIBLE=$([int]$result.summary.deploymentEligible)"' in preflight
|
||||
|
||||
Reference in New Issue
Block a user