Most agent stacks hand off decisions that barely deserve the name to a large model: which tool to call, whether an input looks hostile, where a request should go. Fastino Labs has built a 340M-parameter model for that layer of work. GLiNER2.5-Decide accepts text alongside a schema of typed questions and hands back structured answers, each carrying a probability distribution, a confidence score and constraint metadata.
Apache 2.0 covers the weights, and the model can run on CPUs or GPUs, or inside an air-gapped network. Nothing about it is generative: built on a DeBERTa-v3-large encoder and fine-tuned from gliner2-large-v1, it is a classifier that emits no tokens and needs no prompt template, which keeps it stable across thousands of calls.
Permissions travel with each call. A question in the schema states which answers it will accept and whether it wants one, several or an ordered value, while schemas themselves can carry instructions, examples and rules that tie answers together.
Two stages do the work, and the first is a scoring pass: the encoder weighs text and schema together, giving every answer the schema allows a number. A decoder that respects those constraints then searches the candidate assignments and returns the best joint combination the rules permit. Fastino’s guardrail example shows why the second stage earns its keep. Split apart, the two reads disagree: the model put a prompt injection at 0.82 confidence, yet called that same prompt safe at 0.52. A single rule resolves the conflict. Where harm of any kind is detected, the verdict must be unsafe, and the two readings merge into one usable answer.
Scope is limited by design. Fastino itself is clear that reasoning, explanation and open-ended questions sit outside what the model does.