Failure paths are explicit
Retries, fail-fast gathers, budget fallbacks, and bounded review loops are becoming part of the workflow model instead of hidden control flow.
Voss is a small AI-native language that compiles to readable Python. The core move is turning recurring AI workflow code into explicit constructs the compiler and runtime can reason about.
agent Classifier {
ctx(token_budget: 1000) {
intent = ask "Classify this request" probable<string>
if intent @ 0.80 {
return intent.value
}
fallback "unknown"
}
}Recent direction
The language track is tightening the parts of agent work that usually leak into prompts: failure behavior, editor ergonomics, and context budgets.
Retries, fail-fast gathers, budget fallbacks, and bounded review loops are becoming part of the workflow model instead of hidden control flow.
Formatting, completions, hover text, and go-to-definition make .voss files easier to read and maintain in normal editor workflows.
The roadmap treats long-running context as a budgeted resource: recent work stays detailed, older work is summarized, and savings must be measurable.
Runtime constructs
The pieces Voss treats as first-class instead of framework convention — confidence, context, routing, budget, and concurrency.
Model calls return values with confidence attached. Gates like `intent @ 0.80` make trust explicit instead of burying it in app code.
Context blocks define token budgets, inputs, compression, and eviction as part of the program structure.
Route by meaning with embedding indexes prepared ahead of runtime, not by sprinkling ad hoc similarity calls through handlers.
Budgets and fallbacks are explicit language constructs, so overruns have a designed path instead of a surprise bill.
Parallel agent work, timeouts, and fallbacks are written directly, with the runtime owning lifecycle and coordination.
Coordination spec
The same language scales up from one agent to an engineering organization. Roles, principles, gates, and memory become declared, compiler-checked coordination — so a team run is shorter and clearer than the equivalent Python.
Declare the principles every agent inherits — smallest diff, no claim without evidence, stay in scope. They compile to immutable config and are recorded in the audit.
Roles, scope, budget, tools, and model tier compile to a frozen team config. The EM can only dispatch to declared roles, and scope can never widen past the ceiling.
A done gate names what must hold before a card ships: tests passed, independent review, evidence references. Agents can't mark their own work done.
Point decisions, sessions, and semantic memory at durable paths so context — and the session tree — survives across runs.
gate done {
require tests_passed
require independent_review
require evidence_refs
}
memory {
decisions: ".voss/decisions"
sessions: ".voss/sessions"
semantic: ".voss-cache/semantic"
}