Skip to content

jev-resilience

Spring WebFlux starter: a semantic circuit breaker where Jev flags HTTP 200 responses whose bodies actually encode failures.

Projectbeta

Overview

jev-resilience is an unofficial Spring Boot starter that adds semantic failure detection to Spring WebFlux services. Standard circuit breakers only see transport-level failures such as 5xx, timeouts and connection errors, and miss silent failures: HTTP 200 responses whose body contains an error, a stack trace or a maintenance notice. This starter evaluates response payloads with Jev and converts suspected silent failures into a SemanticFailureException.

You annotate a method returning Mono or Flux with @SemanticCircuitBreaker and a confidence threshold; an AspectJ aspect composes the Jev call into the reactive pipeline without blocking threads, with a configurable timeout (750 ms default). It is fail-open: any TypeSafe error, timeout or malformed response is treated as not a failure, so a Jev outage cannot trip your breaker. The exception works with onErrorResume, @ExceptionHandler or Resilience4j's recordExceptions. It is published via JitPack.

What the decision model decides

TypeQuestionAnswers
Yes / noIs this HTTP 200 response actually a disguised failure?yes · no

How it works

  1. Annotate a WebFlux method with @SemanticCircuitBreaker
  2. The response payload is sent to Jev non-blockingly
  3. Above the confidence threshold, emit SemanticFailureException
  4. Handle it with existing error handling or Resilience4j

Strengths

  • Catches failures that transport-level breakers miss
  • Non-blocking and fail-open
  • Integrates with standard Spring error handling

Caveats

  • Adds latency to each guarded call
  • Response payloads are sent to TypeSafe
  • Unofficial early release (0.1.1)

Getting started

Add the JitPack repository and com.github.vicente-md:jev-resilience:0.1.1, set typesafe.jev.api-key, then annotate methods with @SemanticCircuitBreaker.

At a glance

Type
Project
Status
beta
Language
Java
Runtime
Spring Boot starter (WebFlux)
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Whether a successful-looking response actually encodes an error or maintenance notice.

What if Jev is down?

The starter fails open and treats the response as not a failure.

Does it block threads?

No. The call is composed into the reactive pipeline.

Related projects

  • Apache NiFi processor that routes FlowFiles yes, no, review or failure based on a Jev yes/no question and a confidence band.

    ProjectbetaJava
  • Ax, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.

    PluginproductionTypeScript
  • Cline's official curated plugin collection, which includes jev-browser, jev-guard and jev-playground plugins.

    PluginproductionTypeScript
  • Composio agent SDK with an optional TypeSafe provider that uses Jev to shortlist and pick tools and closed-set arguments.

    ProjectproductionTypeScript
  • Effect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.

    ProjectproductionTypeScript
  • elizaOS autonomous agent framework, listed for an optional TypeSafe System One HTTP adapter in its source.

    ServiceproductionTypeScript