Files
amethyst/quic
Claude 900b046e34 refactor(mls): move the RFC 9420 engine out of marmot/
`quartz/marmot/mls/` is 11,964 LOC of RFC 9420 that has nothing to do with
Marmot: TLS codec, HPKE, X25519/Ed25519, the ratchet tree, the key schedule,
the secret tree, message framing. Only 3 of its 28 files import anything from
`marmot/` at all.

It already has a second consumer, and that consumer had to reach through the
wrong package to get it: `quic/tls/TlsClient.kt` imports
`quartz.marmot.mls.crypto.X25519` for its TLS 1.3 handshake, which is neither
Marmot nor MLS. `:contextvm`/cordn will be the third, needing the engine
without Marmot's bindings.

So the engine moves to `quartz/mls/` and `marmot/` keeps everything else.
Pure `git mv` plus the package rename across all six source sets (commonMain,
jvmAndroid, appleMain, linuxMain, commonTest, jvmAndroidTest) and the five
modules that reference it. No logic change: `:quartz:jvmTest` is 5074 before
and 5074 after.

The dependency still points the wrong way -- `mls/` retains 10 imports of
`marmot/` -- which the next commits fix. Doing the move first keeps that diff
small enough to read.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012BfD4txdnsaPRXmNXbup9n
2026-09-18 15:18:45 +00:00
..