@ -20,4 +20,8 @@ assert(/!props\.hasAnyAnswer/.test(component), "AI actions should disable when n
assert(/proxy\?\.\$modal\?\.confirm/.test(component),"assessment should request confirmation through the modal proxy");
assert(!/v-html/.test(component),"AI reports must be rendered as interpolated text, never v-html");
assert(/scoreCriteria/.test(component),"assessment should display score criteria");
assert(/helpReportJson/.test(component)&&/assessmentReportJson/.test(component),"flat backend report JSON fields should be mapped for display");
assert(/assessmentScore/.test(component),"flat backend assessmentScore should be mapped to the displayed score");
assert(/safeParseJson/.test(component),"flat report JSON should be parsed defensively");
assert(/safeParseJson\([^)]*assessmentReportJson[^)]*\)[\s\S]*criteria|criteria[\s\S]*safeParseJson\([^)]*assessmentReportJson[^)]*\)/.test(component),"score criteria should be read from parsed assessmentReportJson");
assert(/retry/.test(component)||/重试/.test(component),"failed AI operations should expose a retry action");