mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
Closes the last two items of documented debt from the commons/commonsUI split. ParentNote (replyingDirectlyTo, isCommunityDefinition) and ReplyContext are pure thread logic used by ViewModels, so they move from the misleading `ui.note` package to `commons.model`, next to ThreadAssembler, together with their tests and the StubCache fixture that shared the package. No `ui.*` package is left in commons. The `ui.note` composables in commonsUI gain explicit imports; consumer imports rewritten. Whether commons still needs the Compose compiler plugin was an open question; it is now measured. With compiler reports on the three GUI modules and full, non-incremental recompiles in both configurations, removing the plugin flips composable parameters typed with unannotated commons classes (TopFilter, TorSettings, ProfileBroadcastStatus, ScheduledPost, EmojiPackState, ...) from runtime-stable to unstable: 20→28 in commonsUI, 33→65 in desktopApp, 90→149 in amethyst. The plugin stays; the numbers are recorded in the build file, ARCHITECTURE.md and the split plan so the question is not reopened. Verified: JVM compiles for commons, commonsUI, cli, desktopApp; Android debug compiles for nappletHost and amethyst; commons/commonsUI/cli/desktopApp JVM test suites. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N56KzPSYiN5edMRamvKEgD