vlingo/xoom-lattice
54.0
Adequate · 21 September 2026
11.2k
lines of production code
Java
primary language
4
measurements over time
What this system is
This system is a distributed actor framework that provides infrastructure for building scalable, fault-tolerant applications. It enables message routing, streaming, and reliable delivery across a cluster using consistent hashing and grid-based node management. The system also supports distributed data replication, event sourcing, and retryable querying, all within a modular lattice architecture.
Features
Added GraalVM native-image entry point for Xoom
A new Java class, NativeBuildEntryPoint, was added to src/main/java/nativebuild. It provides a C-compatible entry point (Java\_io\_vlingo\_xoom\_latticenative\_Native\_start) that initializes a Vlingo Xoom World with Slf4j logging and starts a StaticClusterConfiguration with one node. This enables the application to be compiled into a native image via GraalVM.
src/main/java/nativebuild · high confidence
Added hash ring and command routing infrastructure
Introduced new classes for consistent hashing and command routing within the lattice. The hash ring implementation includes \HashRing\, \HashedIdentity\, \HashedNodePoint\, and concrete strategies using MD5 (\MD5ArrayHashRing\, \MD5ListHashRing\) and Murmur3 (\MurmurArrayHashRing\, \MurmurSortedMapHashRing\) algorithms. Additionally, a command routing system was added, featuring a \CommandRouter\ interface with \LoadBalancing\, \Partitioning\, and \RoundRobin\ implementations, along with supporting classes like \CommandDispatcher\ and \RoutableCommand\.
src/main/java/io/vlingo/xoom/lattice/grid/hashring, src/main/java/io/vlingo/xoom/lattice/router · high confidence
Introduce distributed space capabilities for grid-based data replication
Added new classes in the \io.vlingo.xoom.lattice.grid.spaces\ package to support distributed data spaces. This includes the \Accessor\ for managing space instances, the \DistributedSpace\ interface and its \DistributedSpaceActor\ implementation which handles write-through replication across grid nodes, and supporting types like \Item\, \Key\, \Lease\, and \Period\. The \DistributedSpaceActor\ implements a configurable write-through factor to control how many remote nodes receive writes synchronously, enabling consistent data distribution across the grid.
src/main/java/io/vlingo/xoom/lattice/grid/spaces · high confidence
Introduce grid-based distributed actor routing and delivery
The grid component now provides distributed actor routing and message delivery across a cluster. The \Grid\ class manages a hash ring to determine target nodes for messages, while \GridMailbox\ routes outbound messages to remote nodes or keeps them local. \GridNode\ handles cluster health status and quorum changes, ensuring that messages are buffered when the cluster is unhealthy and dispatched immediately when healthy. The system also supports actor relocation and state snapshotting across nodes.
src/main/java/io/vlingo/xoom/lattice/grid · high confidence
Introduce retryable query actors for state and object stores
Added new building-block actors—StateStoreQueryActor and StateObjectQueryActor—that handle asynchronous querying for state and object store data. These actors support configurable retry policies for transient failures, allowing developers to specify retry intervals and total attempts when querying by ID. The change also introduces supporting types like QueryAttempt and ObjectQueryFailedException to manage query attempts and failures, providing a more robust foundation for query operations in the lattice layer.
src/main/java/io/vlingo/xoom/lattice/query · high confidence
New composite identity and cache support classes
Added three new classes to the Vlingo Xoom lattice library: a \CompositeIdentitySupport\ interface that provides default methods for composing and splitting string-based identifiers using a separator, a \Cache\ class representing a named cache instance with a default fallback, and a \CacheNodePoint\ class that extends \HashedNodePoint\ to associate cache instances with hash ring nodes. These additions introduce new capabilities for identity management and caching within the lattice grid.
src/main/java/io/vlingo/xoom/lattice, src/main/java/io/vlingo/xoom/lattice/grid/cache · high confidence
New domain model and process abstractions for event sourcing and stateful processing
The lattice model layer introduces new base classes and interfaces to support event sourcing and stateful processing patterns. This includes abstract base classes for commands and domain events, a process interface with methods for processing commands, events, and source lists, and concrete implementations for object-based, sourced, and stateful processes. The change also adds registries for object types and process types, a wrapper for process messages, and an exception class for failed state applications.
src/main/java/io/vlingo/xoom/lattice/model · high confidence
New exchange and feed abstractions for message routing and streaming
The \io.vlingo.xoom.lattice.exchange\ package now includes a comprehensive set of interfaces and classes to support message exchange and feed-based streaming. This includes the \Exchange\ interface and its \LocalExchange\ implementation for in-memory routing, alongside a \Feed\ system (\Feed\, \DefaultFeed\, \Feeder\, \FeedItem\, etc.) for streaming message batches. Supporting infrastructure includes \ConnectionSettings\ for host/port configuration, \Forwarder\ for routing messages to registered \Covey\ components, and adapters like \MessageTypeNameAdapter\ for type name mapping. Additionally, \MessageParameters\ provides a fluent builder for message metadata (e.g., delivery mode, priority, headers).
src/main/java/io/vlingo/xoom/lattice/exchange · high confidence
New message types and serialization for grid communication
The grid communication layer now includes a new set of message types—ActorDeliver, Answer, Forward, GridDeliver, Relocate, Start, and UnAckMessage—along with a Visitor interface to handle them. To support these messages, the system introduces Encoder and Decoder interfaces with concrete implementations (FST and Java Object serialization) for serializing and deserializing grid messages.
src/main/java/io/vlingo/xoom/lattice/grid/application/message · high confidence
Behavioural changes
Grid messaging now buffers during cluster instability
The grid application layer now monitors cluster health to ensure message delivery reliability. Incoming and outgoing messages are dispatched immediately when the cluster is healthy, but are buffered in memory when the cluster is not healthy. Once the cluster returns to a healthy state, the buffered messages are disbursed and processed, preventing data loss during temporary outages.
src/main/java/io/vlingo/xoom/lattice/grid/application · high confidence
Test coverage
Added property and unit tests for the consistent hash ring implementations; Added test configuration files for cluster and logging; Added test coverage for exchange and router components; Added test fixtures for StateStoreQueryActor; Added tests for Grid Space and Accessor functionality; Added tests for StateStoreQueryActor and ObjectQueryFailedException; Added tests for the five-step process and object entity models; Added unit tests for grid, mailbox, and utility components.
Dependencies
Update xoom-lattice to version 1.11.2-SNAPSHOT
The xoom-lattice project has been updated to version 1.11.2-SNAPSHOT. This update includes dependencies on xoom-common, xoom-actors, xoom-streams, xoom-cluster, and xoom-symbio, all at version 1.11.2-SNAPSHOT. Additionally, the FST library has been updated to version 2.57, and the GraalVM SDK dependency has been added with version 21.1.0. The project also includes a new native-image profile for GraalVM support.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 53 → 54 (+1.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 96 → 97 (+0.5)
- Architecture 96 → 100 (+3.6)
- Maturity 45 → 45 (+0.0)
- Readiness 44 → 47 (+3.0)
- Security 60 → 60 (+0.0)
Resolved (18)
- Change coupling clique: GridMailbox.java, Answer.java, GridDeliver.java, Start.java (src/main/java/io/vlingo/xoom/lattice/grid/GridMailbox.java)
- Change coupling: OutboundGridActorControl.java ↔ Visitor.java (src/main/java/io/vlingo/xoom/lattice/grid/application/OutboundGridActorControl.java)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (17 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/spaces/DistributedSpaceActor.java)
- Duplicated block (5 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/object/ObjectEntity.java)
- Duplicated block (5 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/sourcing/Sourced.java)
- Duplicated block (6 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/hashring/MD5ArrayHashRing.java)
- Duplicated block (6 lines × 4) (src/main/java/io/vlingo/xoom/lattice/model/object/ObjectEntity.java)
- Duplicated block (7 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/spaces/DistributedSpaceActor.java)
- Duplicated block (8 lines × 2) (src/main/java/io/vlingo/xoom/lattice/query/StateObjectQueryActor.java)
- Duplicated block (9 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/hashring/MD5ArrayHashRing.java)
- Duplicated block (9 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/projection/BinaryProjectionDispatcherActor.java)
- Duplicated block (9 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/sourcing/Sourced.java)
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- dormant codebase — no living knowledge left to concentrate
New (53)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Duplicated block (10 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/hashring/MD5ArrayHashRing.java)
- Duplicated block (11 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/sourcing/Sourced.java)
- Duplicated block (15 lines × 2) (src/main/java/io/vlingo/xoom/lattice/query/StateObjectQueryActor.java)
- Duplicated block (15 lines × 2) (src/main/java/io/vlingo/xoom/lattice/router/LoadBalancingCommandRouter.java)
- Duplicated block (21 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/spaces/DistributedSpaceActor.java)
- Duplicated block (5 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/object/ObjectEntity.java)
- Duplicated block (5 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/sourcing/Sourced.java)
- Duplicated block (6 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/hashring/MD5ArrayHashRing.java)
- Duplicated block (6 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/hashring/MD5ArrayHashRing.java)
- Duplicated block (6 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/hashring/MD5ArrayHashRing.java)
- Duplicated block (6 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/spaces/DistributedSpaceActor.java)
- Duplicated block (7 lines × 4) (src/main/java/io/vlingo/xoom/lattice/CompositeIdentitySupport.java)
- Duplicated block (8 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/projection/BinaryProjectionDispatcherActor.java)
- Duplicated block (9 lines × 2) (src/main/java/io/vlingo/xoom/lattice/grid/spaces/DistributedSpace.java)
- Duplicated block (9 lines × 3) (src/main/java/io/vlingo/xoom/lattice/model/process/ProcessTypeRegistry.java)
- Duplicated block (93 lines × 2) (src/main/java/io/vlingo/xoom/lattice/model/process/ObjectProcess.java)
- High: security finding (details withheld)
- Members sharing a duplicated core (4 members, 50+ identical tokens) (src/main/java/io/vlingo/xoom/lattice/CompositeIdentitySupport.java)
- No assertions: testAddAllNeverThrowsOnNonNullArgument (src/test/java/io/vlingo/xoom/lattice/util/WeakQueueTest.java)
- …and 33 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
vlingo/xoom-lattice was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 40d7b100ef8cb5ef02813ad3404586abd8fb10e1 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.