The agent team finished their groupId+package migration; this commit
flips the corresponding consumer side here. Closes the dichotomy noted
in the prior "Registry naming" doc — io.cameleer is now uniform across
all three repos (server, agent, saas).
- 46 .java files: import com.cameleer.common.* → io.cameleer.common.*
- pom.xml + cameleer-server-core/pom.xml: cameleer-common dep groupId
- CLAUDE.md: drop the obsolete "stays on com.cameleer until institutionalized"
qualifier on Related Project; flip Key Conventions dep coordinate
- cameleer-license-minter/README.md: GAV strings + main-class FQN
Verification: full reactor mvn test -DskipITs — 416 unit tests pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Splits the pure license contract types (LicenseInfo, LicenseValidator,
LicenseState, LicenseStateMachine, LicenseLimits, DefaultTierLimits) into a
new cameleer-license-api module under package com.cameleer.license.
Why: cameleer-license-minter previously depended on cameleer-server-core for
these types, dragging cameleer-server-core + cameleer-common onto the
classpath of every minter consumer (notably cameleer-saas). The SaaS
management plane has no business carrying server-runtime types — it only
needs the license contract to mint and verify tokens.
After:
cameleer-license-minter -> cameleer-license-api (no server internals)
cameleer-server-core -> cameleer-license-api
cameleer-saas -> cameleer-license-minter -> cameleer-license-api
Verified: mvn -pl cameleer-license-minter dependency:tree shows the minter
no longer pulls cameleer-server-core or cameleer-common. Full reactor
verify (-DskipITs) green: 371 tests pass.
LicenseGate stays in server-core (server-runtime state holder, not contract).
Closescameleer/cameleer-server#156
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>