$ mvn verify   # after/ : Boot 4.1.2, one starter per technology, -test companions, Jackson 3, new packages
CSRFPROBE status=403
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS

$ java -jar migration-demo-1.0.0.jar
GET /summary
{"author":"ankur","createdAt":"2026-01-02T03:04:05Z","id":1,"title":"Hello"}  -> HTTP 200
GET /greetings/1
{"id":1,"title":"Hello #1","createdAt":"2026-01-02T03:04:05Z","author":"ankur"}  -> HTTP 200
GET /greetings/count
{"rows":3}  -> HTTP 200
GET /aspect
{"interceptions":1}  -> HTTP 200
GET /gateway
{"client":"DefaultRestClient"}  -> HTTP 200
GET /actuator/metrics (first 60 chars)
{"names":["application.ready.time","application.started.time
GET /actuator/health   (groups and status only)
  groups=['liveness', 'readiness'] status=UP components=['db', 'diskSpace', 'livenessState', 'ping', 'readinessState', 'ssl']
GET /actuator/health/liveness
  -> HTTP 200
after 40 more requests, log directory holds:  1 app.log; 5 app.log.<date>.<n>.gz;  (app.log is 513 bytes; limit set is logging.file.max-size=2KB or its 4.1 replacement)
