Files
llm-intelligence/scripts/verify_phase6_behavior_test.sh
2026-05-29 18:48:48 +08:00

52 lines
2.3 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
extract_window_metric() {
local name="$1"
local payload="$2"
printf '%s\n' "$payload" | awk -v key="$name" '
$0 ~ key"=" {
for (i = 1; i <= NF; i++) {
split($i, parts, "=")
if (parts[1] == key) {
print parts[2]
exit
}
}
}
'
}
classify_window_failure() {
local payload="$1"
local precondition_missing external_provider_failure collector_runtime_failure unknown_failure
precondition_missing="$(extract_window_metric precondition_missing "$payload")"
external_provider_failure="$(extract_window_metric external_provider_failure "$payload")"
collector_runtime_failure="$(extract_window_metric collector_runtime_failure "$payload")"
unknown_failure="$(extract_window_metric unknown_failure "$payload")"
precondition_missing="${precondition_missing:-0}"
external_provider_failure="${external_provider_failure:-0}"
collector_runtime_failure="${collector_runtime_failure:-0}"
unknown_failure="${unknown_failure:-0}"
if [[ "$precondition_missing" -gt 0 && "$external_provider_failure" -eq 0 && "$collector_runtime_failure" -eq 0 && "$unknown_failure" -eq 0 ]]; then
printf '%s\n' "precondition_missing_only"
elif [[ "$external_provider_failure" -gt 0 && "$precondition_missing" -eq 0 && "$collector_runtime_failure" -eq 0 && "$unknown_failure" -eq 0 ]]; then
printf '%s\n' "external_provider_failure_only"
else
printf '%s\n' "mixed"
fi
}
PRECONDITION_PAYLOAD='window_size=7 success_count=5 failure_count=2 success_rate=71.43 threshold=95 precondition_missing=2 external_provider_failure=0 collector_runtime_failure=0 unknown_failure=0'
EXTERNAL_PAYLOAD='window_size=7 success_count=5 failure_count=2 success_rate=71.43 threshold=95 precondition_missing=0 external_provider_failure=2 collector_runtime_failure=0 unknown_failure=0'
MIXED_PAYLOAD='window_size=7 success_count=4 failure_count=3 success_rate=57.14 threshold=95 precondition_missing=1 external_provider_failure=1 collector_runtime_failure=1 unknown_failure=0'
[[ "$(classify_window_failure "$PRECONDITION_PAYLOAD")" == "precondition_missing_only" ]]
[[ "$(classify_window_failure "$EXTERNAL_PAYLOAD")" == "external_provider_failure_only" ]]
[[ "$(classify_window_failure "$MIXED_PAYLOAD")" == "mixed" ]]