# JPA Test Lanes Java Convention Plan **Goal:** Remove the remaining Map-driven JPA lane factories from Groovy and make lane metadata compile-time checked Java records. **Architecture:** `ca.jpa-test-lanes` lives in build-logic and configures `ca.strict-test-lane`. Typed record lists own the PostgreSQL readiness and tagged platform lane metadata. The JPA leaf keeps source-set/dependency declarations plus the explicit cross-project task edge. ## Constraints - Preserve all 14 PostgreSQL readiness task names and selectors. - Preserve the security method selector in addition to its class selector. - Preserve five tagged platform lanes and the pool contract lane. - Preserve UTC JVM args, PostgreSQL evidence image property, and `jpa.matrix.versions` default `16`. - Keep release orchestration outside the leaf. - Do not stage, commit, amend, or push. ## Steps - [ ] RED TestKit contract for registered lanes, typed selector metadata, and property defaults. - [ ] Implement Java record-backed `JpaTestLanesPlugin` and register `ca.jpa-test-lanes`. - [ ] Apply plugin in persistence-jpa and remove both Groovy `Map` factories plus pool-lane Groovy configuration. - [ ] Run focused build-logic tests, JPA check, adapter dynamic-model scan, and broad verification.