* feat: implement Immutable pattern #3448
Add immutable/ module with ImmutableUser (final class, defensive copy,
withAge wither method), App demo, JUnit 5 tests, PlantUML diagram, and
README following project conventions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: add withName and withRoles wither methods to ImmutableUser #3448
Every field now has a corresponding wither for consistency.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: add junit-jupiter-api dependency to immutable module #3448
Required for @Test annotations and assert methods in test code.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>