Repository navigation
Releases: SoundBlaster/SwiftDecision
Release list
SwiftDecision 0.7.0
Added
- Add the optional
SwiftDecisionOpenAIproduct for OpenAI's Decisions API, mapping Noul, Choice, and Score to nativepredicate,choice, andscorequestions. - Support explicit HTTPS API roots for compatible gateways without adding an OpenAI SDK dependency to the core product.
Fixed
- Preserve the leading slash when constructing the
/decisionsendpoint so the official API root and nested gateway roots resolve correctly.
SwiftDecision 0.6.0
Adds a monotonic DecisionBudget shared across Noul, Choice and Score calls and provider-independent DecisionFailureCategory. Existing calls without a budget retain per-inference timeout behavior. Invalid budgets are rejected; cancellation and observability are preserved. CI passed on Swift 6.3.3, Swift 6.4, iOS Simulator and the MLX trait before merge.
SwiftDecision 0.5.0
Highlights
- Adds
DecisionResult.orderedTrace, a single invocation-scoped timeline that interleaves SwiftDecision lifecycle checkpoints with SpecificationCore evaluation spans. - Adds
decisionTraceHandlersnapshots for successful and thrown calls, including partial traces on cancellation and backend errors. - Uses the released SpecificationCore 2.1.0 dependency, which supplies the shared monotonic timeline API.
Compatibility
SwiftDecision 0.5.0 requires Swift tools 6.3 or later and keeps the iOS 15 minimum introduced in 0.4.0. Apps that need iOS 13 or 14 should stay on the 0.3 series.
Validation
CI passed on Swift 6.3.3 and Swift 6.4, including the iOS 15 Simulator build and native MLX trait on Apple Silicon. Locally on Swift 6.4, default-trait tests passed (29 tests, 0 failures); MLX-trait tests passed for macOS 14 (28 passed, 1 optional checkpoint parity test skipped because no model checkpoint was provided).
SwiftDecision 0.4.0
Changed
- Raise the minimum iOS deployment target from iOS 13 to iOS 15. Apps that still support iOS 13 or 14 should stay on SwiftDecision 0.3.x and pin below the next minor version.
Added
- Add an iOS 15 Simulator build to CI.
Validation
- CI passed on Swift 6.3.3 and Swift 6.4, including the iOS Simulator build.
SwiftDecision 0.3.0
Added
- Expose SpecificationCore evaluation events on DecisionResult.specificationTrace for request validation, policy routing, backend evaluation, output validation, and acceptance thresholds.
- Add SpecificationTraceHandler for specification events from successful and failed decisions.
- Integrate SpecificationCore 2.0.0 with its Tracing trait enabled.
Changed
- DecisionTraceMode.enabled collects decision lifecycle and specification events. .disabled suppresses both trace streams and the specification trace callback.
Validation
- CI passed on Swift 6.3.3 and Swift 6.4 with default traits, and on Swift 6.4 with the native MLX trait.
- A consumer package using result.specificationTrace compiled successfully.
SwiftDecision 0.1.0
SwiftDecision 0.1.0 is the first release of the typed decision layer for Swift applications.
Highlights
- Async Noul, Choice, and Score APIs return typed results, probabilities, confidence, and explicit accepted, abstained, or fallback outcomes.
- Decision policies validate backend output and support caller-configured thresholds, cancellation, and inference timeouts.
JevDecisionBackendintegrates with the hosted TypeSafe System One API.- The opt-in
MLXSwiftPM Trait provides native local inference for the English Laya MLX checkpoint on Apple Silicon. DecisionBackendsupports application-owned providers; tracing, content-free metrics, and an offline Inbox Triage example are included.
Requirements
Swift tools 6.3 or newer. The base package supports macOS 10.15, iOS 13, tvOS 13, and watchOS 6. The native MLX backend requires Apple Silicon and macOS 14 or iOS 17.
Foundation Models / Apple Intelligence adapters, built-in batch scheduling, and agent tool orchestration are outside the scope of 0.1.0.