Files
Claude 57d4d34bd5 refactor(quartz): consume the MLS engine from mls-kmp instead of quartz/mls
The binding-agnostic RFC 9420 engine moved to vitorpamplona/mls-kmp
(com.vitorpamplona.mls:mls), published like negentropy-kmp. Quartz now
exposes it as an api dependency, so Marmot, cordn, commons, cli and
marmotBench only change imports: com.vitorpamplona.quartz.mls ->
com.vitorpamplona.mls.

- settings.gradle.kts: -PmlsKmpDir=../mls-kmp builds a local checkout in
  place of the artifact, the same way quicKmpDir works.
- quartz/mls/crypto/X25519 stays as a deprecated binary-compat shim: the
  published quic-kmp 1.0.0 calls it in its TLS handshake, and without it
  nests and marmotQuic fail with NoClassDefFoundError at runtime.
- The two engine tests that decode Marmot components as fixtures moved to
  marmot/appComponents; marmot-current-profile.json moved to
  resources/marmot/. Tests reaching engine internals opt in to
  @InternalMlsApi.
- BindingIsolationTest drops the engine half: mls-kmp has no Quartz
  dependency, so the module graph enforces it.
- tsmls-vector-gen moved to mls-kmp; mdk-vector-gen stays (shared MDK pin
  with marmot-profile-gen) and now writes mdk-welcome.json into mls-kmp.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TBPmwJ7qKk977tdjUCNpJZ
2026-10-20 19:18:44 +00:00
..