Introduce sentinel and structured errors for access review campaign validation failures, and map them to INVALID in GraphQL resolvers via errors.Is rather than matching error message prefixes. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>