JevCode / 网站地图 / 生态案例

JevCode 文档 · 模型是 clavue-jev

Kev API compatibility: a third-party conformance report

Kev-0.8B (MLX, M1 Pro) passes all 32 MUST requirements of a third-party Jev API conformance suite — 255 options, 10 score levels, mixed question batteries, typesafe-sdk parsing — with the two SHOULD-level notes the author filed back.

该文档的当前语言版本尚未完成,以下为默认语言内容。compatibilityconformancekevapi
逐项核对的兼容性清单与认证徽章

Compatibility you can test, not compatibility you claim

“Compatible with the Jev API” is easy to say and hard to verify. So a community member wrote it down as a testable spec: jevcompat — 48 requirements for the POST /v1/systemone contract, each one citing TypeSafe’s docs, the OpenAPI file, or SDK source. Then the suite was run against the eight most-starred open servers implementing the API.

Kev-0.8B (2874258, MLX, M1 Pro) is one of two servers that pass every MUST: 32/32, including:

  • choice options accepted up to the 255-option limit
  • score levels accepted up to the 10-level limit
  • model: "jev-latest" alias resolution
  • mixed batteries — noul, choice, and score questions in one request, answers keyed by your ids
  • non-ASCII text round-tripping through option names
  • the official typesafe-sdk parsing every answer type unmodified

Full report with every recorded exchange: results/kev/report.md — serve command and weights in RUN.md, reproducible on your own machine.

What conformance does not cover

The suite also tracks SHOULD-level requirements (Kev passes 10 of 12; the two misses are auth-error responses, untested because the reported run ran with auth off, and one further check was not exercised because the server never produced the error it covers). The two SHOULD-level notes the author filed back are the more interesting part, because both are places where a byte-identical response can still be a worse answer:

Score confidence normalization. Kev computes score confidence as 1 − E|level − mode| / (L − 1); TypeSafe’s documented examples compute 1 − E|level − mode| / D, where D is the distribution’s spread. Same evidence, different denominator — measured on a 3-level question, Kev returned confidence 0.7535 where the reference formula gives 0.260. A client comparing confidence numbers across backends will see different distributions for identical judgement quality. If you route on absolute thresholds (the confidence-routing pattern), calibrate per backend — or route on the raw distribution, which both backends expose.

Long-context degradation is a model property, not a spec violation. The suite passes; accuracy beyond Kev’s 384-token training context does not survive into the spec. On the suite’s TypeSafe selections, Kev-9B scored 0.92 inside the training context but 0.75–0.79 on longer documents (Kev-4B: 0.88 / 0.88 / 0.81) — see the long-context recipe for the full breakdown and the author’s proposed fixes. The state design guidance applies to any backend: keep the state the size of the decision, not the size of the page.

The broader point

The 48-requirement spec is backend-agnostic. If you are evaluating Kev against other self-hosted Jev API servers, run the same suite and compare numbers instead of READMEs. The two conformant implementations also disagree in measurable ways outside the spec — confidence distribution shape, long-context retention — which is exactly the kind of thing a conformance report makes visible and a feature grid hides.

Getting started