fix(aihr): keep pilot gate readable on old case schema

This commit is contained in:
2026-07-15 01:53:33 +08:00
parent bb810b5567
commit 1f31dfd506
2 changed files with 16 additions and 1 deletions
+5 -1
View File
@@ -152,7 +152,11 @@ check_pilot_samples() {
hire_date_schema_count="$(pilot_sql_scalar "SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = 'aihr_org_snapshot' AND column_name = 'hire_date'")"
sop_document_count="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_knowledge_attach WHERE tenant_id = '$pilot_tenant' AND type = 'sop' AND status = 2")"
case_stored_count="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_case_record WHERE tenant_id = '$pilot_tenant' AND status = '已入库'")"
case_unmasked_count="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_case_record WHERE tenant_id = '$pilot_tenant' AND status = '已入库' AND CONCAT_WS(' ', title, transcript, summary, learning_points, supervisor_comment) REGEXP '1[3-9][0-9]{9}|[[:alnum:]._%+-]+@[[:alnum:].-]+\\.[[:alpha:]]{2,}|[0-9]{1,2}(栋|幢|号楼|单元)[0-9]{3,4}|[0-9]{1,2}[--][0-9]{3,4}'")"
local case_pii_columns="title, transcript, summary"
if (( case_learning_schema_count == 2 )); then
case_pii_columns+=", learning_points, supervisor_comment"
fi
case_unmasked_count="$(pilot_sql_scalar "SELECT COUNT(*) FROM aihr_case_record WHERE tenant_id = '$pilot_tenant' AND status = '已入库' AND CONCAT_WS(' ', ${case_pii_columns}) REGEXP '1[3-9][0-9]{9}|[[:alnum:]._%+-]+@[[:alnum:].-]+\\.[[:alpha:]]{2,}|[0-9]{1,2}(栋|幢|号楼|单元)[0-9]{3,4}|[0-9]{1,2}[--][0-9]{3,4}'")"
completed_people="$(pilot_sql_scalar "
SELECT COUNT(*)
FROM (
@@ -221,4 +221,15 @@ grep -Fq 'strict pilot check requires AIHR_PILOT_START_DATE and AIHR_PILOT_END_D
exit 1
}
pilot_sql_scalar "ALTER TABLE aihr_case_record DROP COLUMN learning_points, DROP COLUMN supervisor_comment" >/dev/null
old_case_schema_output="$(AIHR_PILOT_START_DATE=2026-07-07 AIHR_PILOT_END_DATE=2026-07-10 check_pilot_samples)"
[[ "$old_case_schema_output" == *'case_learning_schema=0/2'* ]] || {
echo "FAIL: old case schema did not remain inspectable: $old_case_schema_output" >&2
exit 1
}
[[ "$old_case_schema_output" == *'case_unmasked=0'* ]] || {
echo "FAIL: old case schema PII fallback failed: $old_case_schema_output" >&2
exit 1
}
echo "PASS: demo pilot gates use a bounded window and unique formal identities"