Support custom Jev base URL and OpenRouter System One integration #101

Closed
opened 2026-09-23 13:43:17 +00:00 by yuris · 0 comments
Owner

What to build

Extend the Jev semantic judgment module to support custom base URLs and seamless OpenRouter System One integration. Research shows OpenRouter provides a dedicated System One endpoint at /api/v1/systemone (and /api/alpha/decisions) matching TypeSafe System One request/response shapes with model typesafe/jev-1.13, rather than generic chat completions. Life will support directing judgment queries either to native TypeSafe AI (api.typesafe.ai) or OpenRouter (openrouter.ai/api) while handling base URL path joining, model identification (supporting typesafe/ prefix and dated snapshots), and preserving strict probability validation.

Acceptance criteria

  • JevConfig accepts custom base_url and resolves endpoints correctly whether given base path /api, trailing slashes, or full endpoint URLs
  • Model validation accepts approved Jev 1.13 variants (jev-1.13.0, jev-1.13, typesafe/jev-1.13) and tolerates OpenRouter dated snapshots (typesafe/jev-1.13-YYYYMMDD) while rejecting unapproved models and moving aliases like jev-latest
  • Requests format identical typed questions (choice, score, noul) and pass state without data leakage
  • Response parsing validates probability distributions and handles OpenRouter extra fields (id, provider, cost) cleanly
  • Provider timeouts, rate limits, and authentication errors degrade gracefully to judgment_unavailable or judgment_invalid
  • In-process mock tests verify end-to-end evaluation flow against both TypeSafe AI and OpenRouter System One responses

Blocked by

None - can start immediately

## What to build Extend the Jev semantic judgment module to support custom base URLs and seamless OpenRouter System One integration. Research shows OpenRouter provides a dedicated System One endpoint at /api/v1/systemone (and /api/alpha/decisions) matching TypeSafe System One request/response shapes with model typesafe/jev-1.13, rather than generic chat completions. Life will support directing judgment queries either to native TypeSafe AI (api.typesafe.ai) or OpenRouter (openrouter.ai/api) while handling base URL path joining, model identification (supporting typesafe/ prefix and dated snapshots), and preserving strict probability validation. ## Acceptance criteria - [x] JevConfig accepts custom base_url and resolves endpoints correctly whether given base path /api, trailing slashes, or full endpoint URLs - [x] Model validation accepts approved Jev 1.13 variants (jev-1.13.0, jev-1.13, typesafe/jev-1.13) and tolerates OpenRouter dated snapshots (typesafe/jev-1.13-YYYYMMDD) while rejecting unapproved models and moving aliases like jev-latest - [x] Requests format identical typed questions (choice, score, noul) and pass state without data leakage - [x] Response parsing validates probability distributions and handles OpenRouter extra fields (id, provider, cost) cleanly - [x] Provider timeouts, rate limits, and authentication errors degrade gracefully to judgment_unavailable or judgment_invalid - [x] In-process mock tests verify end-to-end evaluation flow against both TypeSafe AI and OpenRouter System One responses ## Blocked by None - can start immediately
yuris changed title from Support custom Jev base URL and OpenAI compatible Chat Completions adapter to Support custom Jev base URL and OpenRouter System One integration 2026-09-23 13:54:12 +00:00
yuris closed this issue 2026-09-23 14:17:54 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
yuris/life-service#101
No description provided.