Validation

September 21, 2026 ยท View on GitHub

Recorded on 2026-09-20. Test judgments are examples, not an accuracy benchmark.

0.2.0 records and Cloudflare (2026-09-21)

./mvnw clean verify -Prelease passed 115 tests, 0 failures/errors/skips. Record tests cover every supported field type, explicit threshold boundaries, nested/reused records, immutable multi-label collections, Optional no-match, invalid/recursive/generic schemas rejected before HTTP, question identity, concurrent schema reuse, constructor rejection and async/Reactor cancellation. Cloudflare tests cover account-scoped URLs, exact endpoint overrides, request envelopes, direct/enveloped responses, error envelopes and Spring configuration.

The live RecordExample typesafe call returned a Triage record containing BILLING, urgent=true, refund probability 0.99 and score 1.19; the same evaluation retained model jev-1.13.0, four questions and 409 input tokens. This confirms record construction from a real response, not classification accuracy. Cloudflare live inference was not tested: account ID and API token were unavailable.

0.1.1 OpenRouter and endpoint support

./mvnw clean verify -Prelease passed 78 tests, 0 failures/errors/skips. Coverage adds the OpenRouter default route, exact custom path/query over a local HTTP server, request and response contract mapping, optional distributions and metadata, invalid criteria/legend rejection, all three Spring provider endpoint bindings, and mutual exclusion with baseUrl. Existing TypeSafe/Vercel tests remain in the suite. The prior boolean internal constructors/codec overloads remain present for binary compatibility with 0.1.0 provider clients.

OpenRouter live inference is not verified: OPENROUTER_API_KEY was unavailable. Contract sources are linked in provider protocols.

0.1.0 offline baseline

./mvnw clean verify -Prelease passed 55 tests, 0 failures/errors/skips locally. The suite covers:

  • Direct/Gateway request headers, paths, wire types and metadata mapping.
  • Enum result types, question identity, defensive JSON copies and invalid responses.
  • JDK/WebClient timeouts, HTTP retries, cancellation and close behavior.
  • Large error responses and very large Retry-After values in WebClient.
  • Lazy Reactor subscriptions and future cancellation propagation.
  • Boot properties, custom-client backoff, actual injected WebClient use, disabled configuration, imports discovery and a classpath without WebFlux/Reactor.

Local development runtime: OpenJDK 25.0.2, source/target release 17. Boot 3.5.16 and 4.1.1 were tested. GitHub CI separately runs Java 17/21/25 against both Boot versions; consult the commit's workflow checks for their status.

Live

The following opt-in examples returned successful results using environment credentials, with synthetic input only:

PathEvidence
TypeSafe + JDK HttpClientResolved jev-1.13.0; enum Choice, Noul and Score received
TypeSafe + WebClientUser WebClient filter observed one exchange; Noul received
TypeSafe + Spring Boot/WebClientAuto-configuration started; reactive bean returned Noul
Vercel GatewayHTTP 403 customer_verification_required; no inference result

The Vercel result confirms reaching the Gateway account check, not successful Jev inference. Offline tests cover its adapter using the pinned official schema. No credentials, actual customer data or account identifiers are included in fixtures or release assets.

Release verification

./mvnw clean verify -Prelease
./scripts/package-release.sh 0.1.0
cd dist/release/0.1.0
shasum -a 256 -c SHA256SUMS

Javadoc and sources are built with the binaries. The dependency-only starter contains no Java API documentation. GitHub release publication runs the release build again from the pushed tag.

Maven Central 0.1.0

Central deployment 3bea6bf0-b85f-4771-a1e3-f1f61af9681b reached PUBLISHED. The parent POM and all six SDK modules are published under io.github.gudcks0305. The Central build uses explanatory sources/Javadoc placeholders for the dependency-only starter.

  • Signed upload and validation workflow
  • 25 signatures verified; public-key fingerprint 0E33C3E5CAE942F0B98F4C34E4C08305A1115D16.
  • Public key available from keys.openpgp.org.
  • README's five standalone Java examples compile with release 17.
  • A separate consumer project, empty Maven cache and clean settings resolved the published starter/WebFlux dependencies (all six SDK JARs and seven POMs) from Central and compiled with release 17. No local SDK installation was used.

The initial two uploads failed Central's public-key lookup. After registering the public key on keys.openpgp.org and allowing time for lookup availability, the subsequent deployment validated. A specific Central cache policy was not established.