Ulexite โ the conversation-first language for LLM interactions | Ulexite
Skip to main content<br>๐ฌ Conversation-first<br>History is automatic and structural โ every message, in order, content-addressed. You never hand-roll a reducer to thread state through calls.<br>๐งฉ Multimodal artifacts<br>text, image, pdf, audio, embedding, and more โ routing a video into a model that only accepts [text, image] is a compile error, not a runtime 400.<br>โ๏ธ Built-in judges<br>judge returns a typed, exhaustively-matched Verdict โ Pass, Fail(reason), Score(value), Escalate โ not a hand-written grading prompt glued to string matching.<br>๐ Traces & replay<br>Every run produces a complete, replayable trace โ resume a conversation from any point, with model calls memoized instead of re-invoked.
๐ What it looks like<br>A complete, runnable conversation: translate, have a judge check fluency, retry once on failure, escalate to a human if the judge can't decide.translate.ulx<br>judge Fluency(subject: text) -> Verdict {
rubric: """Is this an accurate, fluent translation of the source?
Answer Pass, Fail(reason), or Escalate if you cannot tell."""
conversation Translate(source: text, target_lang: text) -> text {
system: """You are a professional translator."""
user: """Translate to {target_lang}: {source}"""
assistant -> draft: text
match judge Fluency(draft) {
Pass => draft
Fail(reason) => retry(2) {
user: """Rejected: {reason}. Try again."""
assistant -> draft
} else escalate(human_approval, reason: reason)
Escalate => escalate(human_approval, reason: "judge could not decide")
Score(_) => draft
Try it yourself in the live playground โ no install needed โ or see the full examples gallery for eleven more.<br>๐ฌ See it run<br>ulx run translate.ulx Translate --provider anthropic โ the judge can't decide, so it escalates to a human instead of guessing. It suspends, a reviewer runs ulx approve, and the same run resumes to completion.bash<br>$ ulx run translate.ulx Translate --arg source=hello --arg target_lang=fr --provider anthropic<br>๐งญ system: You are a professional translator.<br>๐ง user: Translate to fr: hello<br>๐ค assistant: Bonjour<br>โ๏ธ judge Fluency: Escalate<br>๐ escalate human_approval: judge could not decide (suspended)<br>suspended: waiting on `human_approval` โ judge could not decide
run id7f2c9a1e4b0d6f83<br>statussuspended<br>capabilitieschat, judge, escalate<br>provideranthropic โ chat (claude-haiku-4-5), judge (claude-sonnet-4-5)
resume with: ulx approve 7f2c9a1e4b0d6f83 --value (or: ulx deny 7f2c9a1e4b0d6f83)<br>$ ulx approve 7f2c9a1e4b0d6f83 --value "Bonjour"<br>๐ escalate human_approval: judge could not decide => Bonjour<br>Bonjour
run id7f2c9a1e4b0d6f83<br>statusok<br>capabilitieschat, judge, escalate<br>provideranthropic โ chat (claude-haiku-4-5), judge (claude-sonnet-4-5)