Skip to content

Align Choice validation and prepare initial release - #5

Merged
JAORMX merged 1 commit into
mainfrom
feat/contract-release-prep
Sep 21, 2026
Merged

JAORMX merged 1 commit into
mainfrom
feat/contract-release-prep

Conversation

@JAORMX

@JAORMX JAORMX commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Enforce the documented Choice highest-probability rule, accepting ties and preserving empty labels.
  • Keep all existing Score, finite/range, membership, and key validation. Do not invent probability-sum or Score-equality tolerances.
  • Check in the official OpenAPI 0.2.0 snapshot with SHA-256 provenance and offline checks.
  • Prepare draft v0.1.0 release notes, module verification instructions, and an API drift checklist. This PR does not publish a release.

Official contract cross-check

Rechecked https://api.typesafe.ai/openapi.json and https://docs.typesafe.ai/api plus the official retry documentation. ChoiceAnswer explicitly requires the highest-probability option. Usage nonnegativity is semantic token-count validation, not an OpenAPI minimum. Numeric tolerances remain unspecified. Existing Score structural checks are retained.

Verification

Offline unit tests, race tests, vet, both 10-second fuzz smoke targets, and independent spec/security/DevEx/QA review passed. Tests cover ties, exact small differences, extra answers, nil responses, preserved usage, and empty labels. No live inference.

Stacked on #4, which depends on #3. Merge in that order and retarget bases as needed. No guardrails or delegated routing implementation is added to the SDK.

Signed-off-by: Juan Antonio Osorio <ozz@stacklok.com>
@JAORMX
JAORMX changed the base branch from fix/http-status-retries to main September 21, 2026 11:13
@JAORMX
JAORMX merged commit 9d7fe95 into main Sep 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant