Build-time code generation: reads @Table entities and emits their mapper and
repositories.
Nothing here runs in a deployed application — it only ever executes inside javac.
It lives in its own artifact so that it, and JavaPoet with it, can eventually be
dropped from the runtime classpath. Today the runtime still depends on it at
compile scope so that adding the extension keeps generating code with no extra
setup; making that dependency `provided` ...