shipwithjev

Catalog / Tools & apps

0048GitHub

jev-oas-sentinel

OpenAPI compatibility checks, structural and semantic.

Shuhan Sun’s checker diffs two OpenAPI specs structurally, then asks Jev the part a diff cannot answer: whether the contract still means the same thing.

ShuhanSun/jev-oas-sentinelREADME ↗
# JEV OAS Sentinel — System One Semantic Compatibility for OpenAPI

[](https://github.com/ShuhanSun/jev-oas-sentinel/actions/workflows/ci.yml)
[](https://pypi.org/project/jev-oas-sentinel/)
[](https://pypi.org/project/jev-oas-sentinel/)
[](LICENSE)
[](https://github.com/marketplace/actions/jev-oas-sentinel)



Catch behavioral breaking changes hidden in OpenAPI prose—changes that structural schema diff tools cannot see.

`jev-oas-sentinel` compares two OpenAPI documents in two layers:

1. deterministic checks find definite structural compatibility problems;
2. TypeSafe Jev evaluates bounded semantic questions about changed descriptions, examples, defaults, retry behavior, ordering, pagination, authorization, and error semantics.

JEV never writes a review or changes a specification. It returns typed decisions and probabilities; deterministic Python code decides whether to pass, request review, or block.

> [!NOTE]
> JEV OAS Sentinel is an independent community project. It is not affiliated with, maintained by, or endorsed by TypeSafe AI.

## Try it in 30 seconds

No API key or network call to JEV is needed for this preview:



```bash
git clone https://github.com/ShuhanSun/jev-oas-sentinel.git
cd jev-oas-sentinel
uvx jev-oas-sentinel compare \
  --base examples/base-openapi.yaml \
  --head examples/head-openapi.yaml \
  --dry-run \
  --format markdown
```

The example changes an operation's consumer-facing prose. The structural schema remains compatible, but Sentinel identifies the operation that needs semantic review:

```text
| Block | Review | Notice |
|---:|---:|---:|
|0|1|0|

| Severity | Operation | Rule | Finding |
|---|---|---|---|
| review | GET /orders | semantic-evaluation-planned | Contract prose changed and would be sent to JEV |
```

The reproducible [`ben

Also filed under Tools & apps

  1. 0616

    Jevstiller: distill Jev calls into a local model

    A self-hosted proxy that trains a local model on Jev's answers. It served 72% of Banking77 locally at 15 ms, with a 2% audit and a bound on disagreement.

    tomerglick57 · Tools & apps · 15 ms local

  2. 0611

    Scruple: code checks for what linters miss

    Semantic-aware linting with System One models: rules you can state in a sentence, checked against your code by Jev.

    @nalexpeae · Tools & apps

  3. 0606

    Algolia-style Postgres search with a Jev reranker

    Typo tolerance, typeahead, barcodes and facet counts in plain Postgres SQL, plus an optional Jev step that asks one question per top-10 result.

    @alex_forman1 · Tools & apps

  4. 0604

    Virtual Closet: outfits from closet videos

    built a virtual closet & outfit generator from raw closet videos. classification + semantic search thanks to jev 🥰. clueless closet dreams finally coming to life

    @maitreemervana · Tools & apps