iop/agent-ops/skills/common/finalize-task-routing/scripts/finalize-task-policy.sh

115 lines
2.9 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
usage() {
printf '%s\n' \
'usage:' \
' finalize-task-policy.sh pair <build-route-basis> <true|false> <build-scope> <build-state> <build-blast> <build-evidence> <build-verification> official-review <review-scope> <review-state> <review-blast> <review-evidence> <review-verification>' \
' build-route-basis: local-fit | capability-gap | grade-boundary' >&2
exit 2
}
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
formatter="$script_dir/finalize-task-route.sh"
field() {
local output=$1
local key=$2
local value
value=$(sed -n "s/^${key}=//p" <<<"$output")
if [[ -z "$value" ]]; then
printf 'missing formatter field: %s\n' "$key" >&2
exit 3
fi
printf '%s\n' "$value"
}
finalize_build() {
local route_basis=$1
shift
local scores=("$@")
local lane
local route
case "$route_basis" in
local-fit)
lane=local
;;
capability-gap|grade-boundary)
lane=cloud
;;
*)
usage
;;
esac
route=$("$formatter" build "$lane" "${scores[@]}")
BUILD_ROUTE_BASIS=$route_basis
BUILD_LANE=$(field "$route" lane)
BUILD_GRADE=$(field "$route" grade)
BUILD_FILENAME=$(field "$route" filename)
if [[ "$route_basis" == local-fit &&
( "$BUILD_GRADE" == G09 || "$BUILD_GRADE" == G10 ) ]]; then
printf 'local-fit is valid only for G01-G08\n' >&2
exit 2
fi
if [[ "$route_basis" == grade-boundary &&
"$BUILD_GRADE" != G09 && "$BUILD_GRADE" != G10 ]]; then
printf 'grade-boundary is valid only for G09-G10\n' >&2
exit 2
fi
}
finalize_review() {
local route_basis=$1
shift
local scores=("$@")
local route
[[ "$route_basis" == official-review ]] || usage
route=$("$formatter" review cloud "${scores[@]}")
REVIEW_ROUTE_BASIS=$route_basis
REVIEW_LANE=$(field "$route" lane)
REVIEW_GRADE=$(field "$route" grade)
REVIEW_FILENAME=$(field "$route" filename)
REVIEW_ADAPTER=codex
REVIEW_MODEL=gpt-5.6-sol
REVIEW_REASONING_EFFORT=xhigh
}
emit_build() {
printf 'build_route_basis=%s\n' "$BUILD_ROUTE_BASIS"
printf 'build_risk_triggered=%s\n' "$BUILD_RISK_TRIGGERED"
printf 'build_lane=%s\n' "$BUILD_LANE"
printf 'build_grade=%s\n' "$BUILD_GRADE"
printf 'build_filename=%s\n' "$BUILD_FILENAME"
}
emit_review() {
printf 'review_route_basis=%s\n' "$REVIEW_ROUTE_BASIS"
printf 'review_lane=%s\n' "$REVIEW_LANE"
printf 'review_grade=%s\n' "$REVIEW_GRADE"
printf 'review_filename=%s\n' "$REVIEW_FILENAME"
printf 'review_adapter=%s\n' "$REVIEW_ADAPTER"
printf 'review_model=%s\n' "$REVIEW_MODEL"
printf 'review_reasoning_effort=%s\n' "$REVIEW_REASONING_EFFORT"
}
mode=${1:-}
[[ "$mode" == pair && $# -eq 14 ]] || usage
case "$3" in
true|false)
BUILD_RISK_TRIGGERED=$3
;;
*)
usage
;;
esac
finalize_build "$2" "${@:4:5}"
finalize_review "$9" "${@:10:5}"
printf 'finalizer=finalize-task-policy.sh\n'
printf 'finalizer_mode=%s\n' "$mode"
emit_build
emit_review