Roadmap
September 21, 2026 · View on GitHub
This roadmap describes proposed development for the Jev adapter. Priorities may change as the TypeSafe API and Mellea integration are exercised by real client projects. A listed feature is not a release commitment.
Provider portability
The goal is to let client projects select another evaluator without changing
their Mellea requirements or depending on a large plugin framework. Add each
stage in a separate pull request and keep JevClient as a supported backend.
- Complete (PR #11). Define small provider-neutral Noul, Choice, and Score contracts. Mellea helpers depend on these contracts, and callers can implement a single primitive without inheriting from package classes.
- Complete (PRs #12 and #14). Isolate TypeSafe request/response handling
behind the official Python SDK while retaining
JevClientas the compatible public entry point. - Complete (PR #13). Implement a Laya-MLX provider using its local System One API, with the dependency and model loading kept optional. Exercise the contracts against this second API and document differences such as its entropy-based Choice confidence.
- Deferred. Keep provider construction explicit. Revisit configuration or entry-point discovery if client projects need dynamic provider selection and there is clear ownership for maintaining the integration.
The second provider now exercises the shared contracts without importing
TypeSafe wire models, while existing Jev callers keep JevClient. This meets
the current portability milestone; it does not by itself establish a need for
plugin discovery.
Completed primitive capabilities
Choice support (PR #3)
- Classify text into a configured set of Choice labels.
- Expose the selected label, confidence, probabilities, model, and request ID.
- Adapt classification to a Mellea
Requirementwith an expected label and an optional minimum-confidence policy. - Exercise the real Mellea
Requirement.validatecontract with mocked Jev HTTP responses; keep live Jev checks opt-in.
Score support (PR #4)
- Add Jev
Scoresupport for ordered scales, with response validation and a MelleaRequirementbridge for configurable inclusive score bounds.
Batched questions (PR #6)
- Support multiple named Noul, Choice, and Score questions in one TypeSafe request; preserve typed per-question results and fail closed on mismatched IDs.
Broaden primitive criteria (PRs #7 and #8)
- Accept the structured Choice criteria forms supported by the TypeSafe API.
- Allow callers to provide Noul criteria in addition to the current instruction.
Completed observability foundations
- Usage metadata (PR #9): expose available TypeSafe token counts without making them part of a validation decision.
- Live smoke checks: Noul and Choice checks require explicit opt-in and an API key; the README describes billing and data-submission implications.
Completed — Measure quality on labeled examples
- Define versioned, task-specific, non-sensitive JSONL examples with explicit expected accept/reject outcomes; include a small museum-opening example as a format demonstration, not a quality benchmark.
- Add an evaluation runner that reports false-acceptance, false-rejection, and uncertain rates by provider, returned model, and threshold pair. Saved raw predictions allow offline threshold comparisons without another request.
- Require
--livebefore provider inference. Publish quality claims only with the dataset version, sample counts, provider/model, thresholds, metric denominators, and limitations; thresholds remain caller policy.
Completed — Compatibility matrix (PR #22)
- The project declares Python 3.11+ and pins the Mellea integration to 0.7.0.
- CI runs the quality and test suites on Python 3.11, 3.12, 3.13, and 3.14 with Mellea 0.7.0. Other Mellea versions are not currently declared compatible.
Before production use
- Decide whether an async client and a Mellea integration point that can await network I/O are needed for target deployments.
- The TypeSafe provider already uses a configurable finite timeout and disables automatic retries. Define any provider-specific rate-limit or idempotency policy without assuming that cancellation stops server-side work.
- Document deployment responsibilities for sensitive text, retention, redaction, application logging, and operational telemetry. The README already explains that candidate text and references are sent to TypeSafe and that the adapter does not log request bodies or API keys.
- Validate latency, cost, and classification quality against each deployment's workload and acceptance policy.
Out of scope until there is a concrete use case
- Streaming, signed receipts, automatic S2 or human-review routing, and a full orchestration layer. These can be composed by client applications today and should be added only when their contracts and ownership are clear.
Completion criteria
A roadmap item is ready to ship when its public API and failure semantics are documented, its response contract has automated coverage, and the relevant Mellea integration has been checked against the supported version. Live quality claims require labeled evaluation data; mocked tests alone do not establish Jev's accuracy, production readiness, or service availability.