APIs change. Consumers break. Contracts drift. diffray maintains order in your distributed system by catching breaking changes at PR time.
More services, more ways to break things
Change an API response in one service, break 5 consumers. No one knew they depended on that field.
Services bypass APIs and hit each other's databases directly. 'It was faster' becomes tech debt.
API docs say one thing. Code does another. Consumers rely on undocumented behavior.
Missing error handling, no circuit breakers, retry storms. One service down, all services down.
AI enforces your architecture decisions on every PR
AI analyzes OpenAPI specs, GraphQL schemas, and protobufs. Catches removals, type changes, and breaking modifications.
"Removing 'email' from UserResponse will break OrderService and NotificationService."
Define which services can communicate and how. Flag direct database access and inappropriate coupling.
"PaymentService should not import from UserService internals. Use the public API."
Ensure proper error handling, timeouts, retries, and circuit breakers in inter-service calls.
"This HTTP call has no timeout. Add a timeout to prevent cascade failures."
Enforce your API versioning strategy. Ensure changes respect backward compatibility rules.
"Breaking change detected. Either increment API version or make this change additive."
Know before you ship