mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-12 01:07:46 +00:00
Per commons/ARCHITECTURE.md, quartz is protocol/NIPs/crypto/relay framing while commons owns the relay-subscription client and StateFlow state holders. The paging *orchestrators* are exactly that — StateFlow-backed, subscription-loading state — so they belong in commons, not quartz: - BackwardRelayPager, PerRelayLoadTracker, WindowLoadTracker (+ trackingListener) -> commons/relayClient/paging (jvmAndroid source set, same as before). - BackwardRelayPagerTest -> commons jvmTest. The pure protocol-paging primitives stay in quartz commonMain: - RelayLoadingCursors (the until+limit cursor mechanics) and RelayPagingProgress. They had no upward deps, so the move is downhill (commons -> quartz): the orchestrators now import RelayLoadingCursors / RelayPagingProgress from quartz. Consumers (the six DM managers/assemblers + WindowLoadTrackerIdleTest) repoint their imports to the commons package. The quartz geode wire test keeps testing the relay contract; its lone BackwardRelayPager KDoc link is demoted to a backtick (no longer reachable from quartz). No behaviour change. DM suite green (26/26); quartz + commons compile on iOS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>