• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

thanos / ex_outlines / 74f5f911e606ee73c6ecdb8b931446699ae2fbb9-PR-95
85%
main: 85%

Build:
Build:
LAST BUILD BRANCH: v0.2.0/release
DEFAULT BRANCH: main
Ran 26 Mar 2026 07:38PM UTC
Jobs 1
Files 15
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Mar 2026 07:36PM UTC coverage: 84.976% (-0.7%) from 85.655%
74f5f911e606ee73c6ecdb8b931446699ae2fbb9-PR-95

Pull #95

github

thanos
Phase 3 complete. 501 tests passing (15 doctests + 486 tests), zero Credo issues.

  Phase 3A: Ollama Native Backend - closed #79

  - lib/ex_outlines/backend/ollama.ex -- Full backend with no API key required, default localhost:11434, format: "json" for improved first-attempt success,
  injectable :http_client for testing, SSL-aware (only when URL is HTTPS), 120s timeout for local model inference
  - call_llm_stream/2 -- Parses Ollama's newline-delimited JSON streaming format, converting to {:chunk, text} / {:done, full_text} events
  - 18 tests -- Config validation, request building, response parsing, streaming, integration -- all without network access

  Phase 3B: Tuple Type Support - closed #80

  - {:tuple, [type_spec]} -- New type for fixed-length arrays with positional type validation
  - JSON Schema -- Produces prefixItems with items: false and matching minItems/maxItems
  - Normalization -- Tuple item specs are recursively normalized (constraint validation at build time)
  - 7 tests -- Correct types, wrong length, wrong positional types, non-array values, JSON Schema output, normalization

  Phase 3C: Conditional Fields - closed #81

  - depends_on: %{field: atom, equals: value} -- New field option making a field conditionally required
  - Validation -- field_required?/2 checks the dependency field's value at validation time; combines with required: true (static required always applies)
  - JSON Schema -- Produces allOf with if/then blocks per conditional field
  - 6 tests -- Condition met (required), condition not met (optional), provided when required, static + conditional combined, JSON Schema output, no allOf
  when no conditionals
Pull Request #95: V0.2.0/local models schema extensions

283 of 346 new or added lines in 11 files covered. (81.79%)

62 existing lines in 4 files now uncovered.

888 of 1045 relevant lines covered (84.98%)

50.14 hits per line

Uncovered Changes

Lines Coverage ∆ File
19
87.12
1.37% lib/ex_outlines/spec/schema.ex
16
69.23
lib/ex_outlines/backend/ollama.ex
14
77.05
lib/ex_outlines/backend/gemini.ex
5
72.55
-7.45% lib/ex_outlines/backend/http.ex
4
69.64
-4.87% lib/ex_outlines/backend/anthropic.ex
3
95.0
-1.92% lib/ex_outlines.ex
1
95.45
-4.55% lib/ex_outlines/backend/mock.ex
1
92.31
lib/ex_outlines/stream.ex

Coverage Regressions

Lines Coverage ∆ File
46
87.12
1.37% lib/ex_outlines/spec/schema.ex
9
69.64
-4.87% lib/ex_outlines/backend/anthropic.ex
6
72.55
-7.45% lib/ex_outlines/backend/http.ex
1
95.0
-1.92% lib/ex_outlines.ex
Jobs
ID Job ID Ran Files Coverage
1 74f5f911e606ee73c6ecdb8b931446699ae2fbb9-PR-95.1 26 Mar 2026 07:38PM UTC 15
84.98
GitHub Action Run
Source Files on build 74f5f911e606ee73c6ecdb8b931446699ae2fbb9-PR-95
  • Tree
  • List 15
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #95
  • PR Base - main (#25894A47...)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc