Shared inference interfaces (TextModel, Backend, Token). Zero deps, compiles everywhere.
Add comprehensive tests for all three Phase 1 items: - Option application: DefaultGenerateConfig idempotency, field isolation (WithMaxTokens leaves others at defaults), bad-input acceptance (negative temperature, negative TopK), empty variadic StopTokens, WithLogits default-is-false, partial-options preserve defaults, last-wins overrides for all GenerateOption and LoadOption types. - Backend registry: concurrent read/write safety (70 goroutines with -race), overwrite-keeps-count, capturingBackend verifies LoadModel forwards all options to both explicit and default backends, Get after overwrite returns latest, List returns independent slices. - Default() platform preference: registration order is irrelevant (metal wins regardless), all-preferred-unavailable falls back to custom, multiple custom backends finds the available one, empty path forwarding. 85 tests, 100% statement coverage, -race clean. Co-Authored-By: Charon <developers@lethean.io> |
||
|---|---|---|
| CLAUDE.md | ||
| discover.go | ||
| discover_test.go | ||
| FINDINGS.md | ||
| go.mod | ||
| go.sum | ||
| inference.go | ||
| inference_test.go | ||
| options.go | ||
| options_test.go | ||
| README.md | ||
| TODO.md | ||
go-inference
Shared inference interfaces (TextModel, Backend, Token). Zero deps, compiles everywhere.