test(aihr): align pilot completion metric
This commit is contained in:
+18
-7
@@ -57,11 +57,22 @@ check_pilot_samples() {
|
||||
return
|
||||
fi
|
||||
|
||||
local scenario_count training_count pending_assignments assignment_total calibration_stats calibration_count calibration_matched sop_total sop_usable sop_pending
|
||||
local scenario_count completed_people pilot_people calibration_stats calibration_count calibration_matched sop_total sop_usable sop_pending
|
||||
scenario_count="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_practice_scenario WHERE tenant_id = '000000' AND position = '生活顾问' AND enabled = 1")"
|
||||
training_count="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_practice_session WHERE tenant_id = '000000' AND mode = 'mobile'")"
|
||||
pending_assignments="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_practice_assignment WHERE tenant_id = '000000' AND status = '待训练'")"
|
||||
assignment_total=$(( training_count + pending_assignments ))
|
||||
completed_people="$(pilot_sql_scalar "SELECT COUNT(*) FROM (SELECT DISTINCT ext_party_id FROM aihr_practice_session WHERE tenant_id = '000000' AND mode = 'mobile') completed_people")"
|
||||
pilot_people="$(pilot_sql_scalar "
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT ext_party_id
|
||||
FROM aihr_practice_session
|
||||
WHERE tenant_id = '000000' AND mode = 'mobile'
|
||||
UNION
|
||||
SELECT ext_party_id
|
||||
FROM aihr_practice_assignment
|
||||
WHERE tenant_id = '000000'
|
||||
AND status = '待训练'
|
||||
AND (source <> 'daily' OR DATE(create_time) = CURRENT_DATE())
|
||||
) pilot_people")"
|
||||
calibration_stats="$(pilot_sql_scalar "
|
||||
SELECT COUNT(*) AS total,
|
||||
COALESCE(SUM(CASE
|
||||
@@ -80,12 +91,12 @@ check_pilot_samples() {
|
||||
sop_total="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_sop_answer_review WHERE tenant_id = '000000' AND status = '已评审'")"
|
||||
sop_usable="$(pilot_sql_scalar "SELECT COALESCE(SUM(CASE WHEN usable = 1 THEN 1 ELSE 0 END), 0) FROM aihr_sop_answer_review WHERE tenant_id = '000000' AND status = '已评审'")"
|
||||
sop_pending="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_sop_answer_review WHERE tenant_id = '000000' AND status <> '已评审'")"
|
||||
echo "OK: pilot gates scenarios=${scenario_count}/12 completion=${training_count}/${assignment_total} calibration=${calibration_count}/20 consistency=${calibration_matched}/${calibration_count} sop_usable=${sop_usable}/${sop_total} sop_pending=${sop_pending}"
|
||||
echo "OK: pilot gates scenarios=${scenario_count}/12 completion=${completed_people}/${pilot_people} calibration=${calibration_count}/20 consistency=${calibration_matched}/${calibration_count} sop_usable=${sop_usable}/${sop_total} sop_pending=${sop_pending}"
|
||||
|
||||
[[ "${AIHR_PILOT_STRICT:-false}" != "true" ]] || {
|
||||
(( scenario_count >= 12 )) || fail "pilot enabled scenarios ${scenario_count}/12"
|
||||
(( assignment_total > 0 )) || fail "pilot completion samples missing"
|
||||
(( training_count * 100 >= assignment_total * 80 )) || fail "pilot completion rate below 80% (${training_count}/${assignment_total})"
|
||||
(( pilot_people > 0 )) || fail "pilot completion samples missing"
|
||||
(( completed_people * 100 >= pilot_people * 80 )) || fail "pilot completion rate below 80% (${completed_people}/${pilot_people})"
|
||||
(( calibration_count >= 20 )) || fail "pilot calibration samples ${calibration_count}/20"
|
||||
(( calibration_matched * 100 >= calibration_count * 70 )) || fail "pilot AI/human band consistency below 70%"
|
||||
(( sop_total > 0 )) || fail "pilot SOP review samples missing"
|
||||
|
||||
Reference in New Issue
Block a user