diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/BucketListEntryListCell.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/BucketListEntryListCell.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/BucketListEntryListCell.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/BucketListEntryListCell.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/ExpenseListEntryListCell.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/ExpenseListEntryListCell.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/ExpenseListEntryListCell.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/ExpenseListEntryListCell.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/Invitation.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/Invitation.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/Invitation.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/Invitation.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/InvitationDialogScene.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/InvitationDialogScene.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/InvitationDialogScene.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/InvitationDialogScene.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/MainScene.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/MainScene.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/MainScene.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/MainScene.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/PermissionTreePane.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/PermissionTreePane.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/PermissionTreePane.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/PermissionTreePane.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlanModel.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlanModel.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlanModel.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlanModel.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlanView.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlanView.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlanView.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlanView.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlanViewModel.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlanViewModel.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlanViewModel.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlanViewModel.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlannerApp.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlannerApp.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/monotonic_acl/TravelPlannerApp.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/monotonic_acl/TravelPlannerApp.scala diff --git a/Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/travelplanner/TravelPlan.scala b/Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/travelplanner/TravelPlan.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/main/scala/lofi_acl/example/travelplanner/TravelPlan.scala rename to Modules/Examples/Misc JVM/src/main/scala/ex2024travel/lofi_acl/example/travelplanner/TravelPlan.scala diff --git a/Modules/Local-first Access Control/Example/src/test/scala/lofi_acl/example/travelplanner/TravelPlanTest.scala b/Modules/Examples/Misc JVM/src/test/scala/ex2024travel/lofi_acl/example/travelplanner/TravelPlanTest.scala similarity index 100% rename from Modules/Local-first Access Control/Example/src/test/scala/lofi_acl/example/travelplanner/TravelPlanTest.scala rename to Modules/Examples/Misc JVM/src/test/scala/ex2024travel/lofi_acl/example/travelplanner/TravelPlanTest.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/DeltaSurgeon.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/DeltaSurgeon.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/DeltaSurgeon.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/DeltaSurgeon.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/EncryptedDeltaParts.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/EncryptedDeltaParts.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/EncryptedDeltaParts.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/EncryptedDeltaParts.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/Filter.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/Filter.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/Filter.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/Filter.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/InvalidPathException.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/InvalidPathException.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/InvalidPathException.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/InvalidPathException.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/KeyHierarchy.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/KeyHierarchy.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/KeyHierarchy.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/KeyHierarchy.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/PermissionManager.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/PermissionManager.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/PermissionManager.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/PermissionManager.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/PermissionTree.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/PermissionTree.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/PermissionTree.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/PermissionTree.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/access/Rule.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/access/Rule.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/access/Rule.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/access/Rule.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/base/StandardLibrary.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/base/StandardLibrary.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/base/StandardLibrary.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/base/StandardLibrary.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/AddWinsMap.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/AddWinsMap.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/AddWinsMap.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/AddWinsMap.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/AddWinsSet.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/AddWinsSet.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/AddWinsSet.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/AddWinsSet.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/LWW.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/LWW.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/LWW.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/LWW.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/MultiValueRegister.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/MultiValueRegister.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/MultiValueRegister.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/MultiValueRegister.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/ORMap.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/ORMap.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/ORMap.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/ORMap.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseMap.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseMap.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseMap.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseMap.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseSet.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseSet.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseSet.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/ardt/datatypes/TwoPhaseSet.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/DeltaMapWithPrefix.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/collections/DeltaMapWithPrefix.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/DeltaMapWithPrefix.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/collections/DeltaMapWithPrefix.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/DeltaStore.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/collections/DeltaStore.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/DeltaStore.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/collections/DeltaStore.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/DotMap.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/collections/DotMap.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/DotMap.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/collections/DotMap.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/MutableDeltaStore.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/collections/MutableDeltaStore.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/collections/MutableDeltaStore.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/collections/MutableDeltaStore.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/CertificatePem.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/CertificatePem.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/CertificatePem.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/CertificatePem.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/Ed25519Util.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/Ed25519Util.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/Ed25519Util.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/Ed25519Util.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/IdentityFactory.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/IdentityFactory.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/IdentityFactory.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/IdentityFactory.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/KeyDerivationKey.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/KeyDerivationKey.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/KeyDerivationKey.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/KeyDerivationKey.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/PrivateIdentity.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/PrivateIdentity.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/PrivateIdentity.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/PrivateIdentity.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/PrivateKeyPem.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/PrivateKeyPem.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/PrivateKeyPem.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/PrivateKeyPem.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/PublicIdentity.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/PublicIdentity.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/PublicIdentity.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/PublicIdentity.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/X509Util.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/X509Util.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/crypto/X509Util.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/crypto/X509Util.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/CausalityCheckingMessageHandler.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/CausalityCheckingMessageHandler.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/CausalityCheckingMessageHandler.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/CausalityCheckingMessageHandler.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/ConnectionManager.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/ConnectionManager.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/ConnectionManager.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/ConnectionManager.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/JsoniterCodecs.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/JsoniterCodecs.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/JsoniterCodecs.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/JsoniterCodecs.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/MessageReceiver.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/MessageReceiver.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/MessageReceiver.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/MessageReceiver.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/MessageSerialization.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/MessageSerialization.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/MessageSerialization.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/MessageSerialization.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/FilteringAntiEntropy.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/FilteringAntiEntropy.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/FilteringAntiEntropy.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/FilteringAntiEntropy.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAcl.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAcl.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAcl.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAcl.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAclSyncMessage.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAclSyncMessage.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAclSyncMessage.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/MonotonicAclSyncMessage.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/PartialReplicationPeerSubsetSolver.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/PartialReplicationPeerSubsetSolver.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/PartialReplicationPeerSubsetSolver.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/PartialReplicationPeerSubsetSolver.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/SignatureVerifyingMessageSerialization.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/SignatureVerifyingMessageSerialization.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/SignatureVerifyingMessageSerialization.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/SignatureVerifyingMessageSerialization.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/Sync.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/Sync.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/Sync.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/Sync.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/SyncWithMonotonicAcl.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/SyncWithMonotonicAcl.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/acl/monotonic/SyncWithMonotonicAcl.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/acl/monotonic/SyncWithMonotonicAcl.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSync.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSync.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSync.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSync.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSyncMessage.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSyncMessage.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSyncMessage.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/sync/no_acl/MutuallyTrustingSyncMessage.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/transport/P2PTlsTcpConnector.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/transport/P2PTlsTcpConnector.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/transport/P2PTlsTcpConnector.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/transport/P2PTlsTcpConnector.scala diff --git a/Modules/Local-first Access Control/src/main/scala/lofi_acl/transport/P2PX509TrustManager.scala b/Modules/Replication/jvm/src/main/scala/lofi_acl/transport/P2PX509TrustManager.scala similarity index 100% rename from Modules/Local-first Access Control/src/main/scala/lofi_acl/transport/P2PX509TrustManager.scala rename to Modules/Replication/jvm/src/main/scala/lofi_acl/transport/P2PX509TrustManager.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/access/DeltaSurgeonTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/access/DeltaSurgeonTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/access/DeltaSurgeonTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/access/DeltaSurgeonTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/access/FilterTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/access/FilterTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/access/FilterTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/access/FilterTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/access/KeyHierarchyTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/access/KeyHierarchyTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/access/KeyHierarchyTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/access/KeyHierarchyTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/access/PermissionTreePropertyChecks.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/access/PermissionTreePropertyChecks.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/access/PermissionTreePropertyChecks.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/access/PermissionTreePropertyChecks.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/access/PermissionTreeTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/access/PermissionTreeTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/access/PermissionTreeTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/access/PermissionTreeTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/access/RuleTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/access/RuleTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/access/RuleTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/access/RuleTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/ardt/base/CausalSpec.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/ardt/base/CausalSpec.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/ardt/base/CausalSpec.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/ardt/base/CausalSpec.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/collections/DeltaStoreTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/collections/DeltaStoreTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/collections/DeltaStoreTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/collections/DeltaStoreTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/collections/DotMapTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/collections/DotMapTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/collections/DotMapTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/collections/DotMapTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/collections/MutableDeltaStoreTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/collections/MutableDeltaStoreTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/collections/MutableDeltaStoreTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/collections/MutableDeltaStoreTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/Ed25519UtilTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/Ed25519UtilTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/Ed25519UtilTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/Ed25519UtilTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/HkdfTests.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/HkdfTests.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/HkdfTests.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/HkdfTests.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/KeyDerivationKeyTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/KeyDerivationKeyTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/KeyDerivationKeyTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/KeyDerivationKeyTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/X25519Test.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/X25519Test.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/X25519Test.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/X25519Test.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/X509TestHelper.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/X509TestHelper.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/X509TestHelper.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/X509TestHelper.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/X509UtilTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/X509UtilTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/crypto/X509UtilTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/crypto/X509UtilTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/sync/ConnectionManagerTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/sync/ConnectionManagerTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/sync/ConnectionManagerTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/sync/ConnectionManagerTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/transport/P2PTlsTcpConnectorTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/transport/P2PTlsTcpConnectorTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/transport/P2PTlsTcpConnectorTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/transport/P2PTlsTcpConnectorTest.scala diff --git a/Modules/Local-first Access Control/src/test/scala/lofi_acl/transport/P2PX509TrustManagerTest.scala b/Modules/Replication/jvm/src/test/scala/lofi_acl/transport/P2PX509TrustManagerTest.scala similarity index 100% rename from Modules/Local-first Access Control/src/test/scala/lofi_acl/transport/P2PX509TrustManagerTest.scala rename to Modules/Replication/jvm/src/test/scala/lofi_acl/transport/P2PX509TrustManagerTest.scala diff --git a/build.sbt b/build.sbt index d9c678e83..3e0610aab 100644 --- a/build.sbt +++ b/build.sbt @@ -14,8 +14,6 @@ lazy val bismuth = project.in(file(".")).settings(scala3defaults).aggregate( exampleLenses, examplesMiscJVM, loCal, - lofiAcl, - lofiAclExample, lore.js, lore.jvm, loreCompilerPlugin, @@ -133,7 +131,7 @@ lazy val exampleLenses = project.in(file("Modules/Examples/ReactiveLenses")) lazy val examplesMiscJVM = project.in(file("Modules/Examples/Misc JVM")) .enablePlugins(JmhPlugin) - .dependsOn(reactives.jvm, replication.jvm) + .dependsOn(reactives.jvm, replication.jvm, deltalens) .settings( scala3defaults, fork := true, @@ -158,30 +156,6 @@ lazy val loCal = project.in(file("Modules/Examples/Lore Calendar")) SettingsLocal.deployTask ) -lazy val lofiAcl = project.in(file("Modules/Local-first Access Control")) - .dependsOn(deltalens, rdts.jvm % "compile->compile;test->test") - .settings( - scala3defaults, - Settings.javaOutputVersion(17), - Settings.safeInit(Compile / compile, Test / compile), - Dependencies.munit, - Dependencies.munitCheck, - Dependencies.jsoniterScala, - Dependencies.tink, - Dependencies.slf4j, - Dependencies.bouncyCastle, - Test / fork := true, - ) - -lazy val lofiAclExample = project.in(file("Modules/Local-first Access Control/Example")) - .dependsOn(lofiAcl) - .settings( - scala3defaults, - libraryDependencies += Dependencies.scalafx, - Dependencies.jsoniterScala, - Dependencies.munit, - publish / skip := true, - ) lazy val lore = crossProject(JSPlatform, JVMPlatform).crossType(CrossType.Full).in(file("Modules/Lore")) .dependsOn(reactives) @@ -219,7 +193,7 @@ lazy val loreCompilerPluginExamples = project.in(file("Modules/LoRe Compiler Plu lazy val microbenchmarks = project.in(file("Modules/Microbenchmarks")) .enablePlugins(JmhPlugin) - .dependsOn(reactives.jvm, rdts.jvm, replication.jvm, lofiAcl) + .dependsOn(reactives.jvm, rdts.jvm, replication.jvm) .settings( scala3defaults, Settings.explicitNulls(Compile / compile), @@ -290,10 +264,13 @@ lazy val replication = crossProject(JVMPlatform, JSPlatform, NativePlatform).in( Settings.javaOutputVersion(17), Settings.explicitNulls(Compile / compile), Settings.safeInit(Compile / compile), + SettingsLocal.publishSonatype, Dependencies.munitCheck, Dependencies.munit, Dependencies.jsoniterScala, - SettingsLocal.publishSonatype + ).jvmSettings( + Dependencies.tink, + Dependencies.bouncyCastle, ) lazy val todolist = project.in(file("Modules/Examples/TodoMVC"))