Skip to content

Releases: SoundBlaster/SwiftDecision

SwiftDecision 0.7.0

Choose a tag to compare

@SoundBlaster SoundBlaster released this 08 Oct 23:45
0ea5a2c

Added

  • Add the optional SwiftDecisionOpenAI product for OpenAI's Decisions API, mapping Noul, Choice, and Score to native predicate, choice, and score questions.
  • 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 /decisions endpoint so the official API root and nested gateway roots resolve correctly.

SwiftDecision 0.6.0

Choose a tag to compare

@SoundBlaster SoundBlaster released this 02 Oct 11:12
fc28e77

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

Choose a tag to compare

@SoundBlaster SoundBlaster released this 24 Sep 09:26
344db60

Highlights

  • Adds DecisionResult.orderedTrace, a single invocation-scoped timeline that interleaves SwiftDecision lifecycle checkpoints with SpecificationCore evaluation spans.
  • Adds decisionTraceHandler snapshots 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

Choose a tag to compare

@SoundBlaster SoundBlaster released this 23 Sep 13:56
2a0a99b

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

Choose a tag to compare

@SoundBlaster SoundBlaster released this 23 Sep 08:01
4523a08

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

Choose a tag to compare

@SoundBlaster SoundBlaster released this 21 Sep 16:19
7af9416

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.
  • JevDecisionBackend integrates with the hosted TypeSafe System One API.
  • The opt-in MLX SwiftPM Trait provides native local inference for the English Laya MLX checkpoint on Apple Silicon.
  • DecisionBackend supports 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.