Technical note · Applied AI
What an HTTP 200 leaves unsaid
A successful response can still carry a failure. That is the problem behind Jev Resilience.
Transport and meaning
An API can return HTTP 200 while its JSON contains an error or maintenance notice. Successful transport does not guarantee a useful result.
I built Jev Resilience, a Spring Boot starter, to explore detecting these semantic failures in reactive streams. Evaluation uses typed, probabilistic decisions rather than generating chat responses.
A decision in the pipeline
An aspect evaluates the content returned by a Mono or Flux. Above the configured threshold, it emits an exception that can join the application’s failure-handling flow.
The composition is non-blocking, but the external dependency still adds latency, cost, and an availability risk. I make no response-time promise here without a reproducible benchmark.
The cost of continuing
If evaluation fails or times out, the client returns 0.0 and the original item continues. Fail-open preserves continuity while semantic detection is unavailable.
That choice must be explicit. Applying AI to infrastructure includes deciding what happens when evaluation itself fails. The case study shows the actual code and fallback test.