v4.0.1
SmartEngine 4.0.1
Fix: operator_user_id on rollback / add-sign / remove-sign (G-B5)
rollbackTask / addTaskAssigneeCandidateWithReason / removeTaskAssigneeCandidateWithReason previously recorded operator_user_id from taskInstance.getClaimUserId(). For an assigned-but-unclaimed task claimUserId is null, so inserts into se_process_rollback_record / se_assignee_operation_record (operator_user_id NOT NULL) failed with a constraint violation — these three operations were 100% broken at runtime.
4.0.1 adds backward-compatible overloads taking an explicit operatorUserId; old signatures delegate with claimUserId fallback (unchanged). Callers should pass the acting user.
Verified downstream: AuraBoot BpmTaskOperationTest 18/18 (0 skipped) against a real Postgres + this engine.
Co-Authored-By: Claude Opus 4.8 (1M context)