Migration: from NeMo Guardrails
Colang flows → Policy clauses. Action server → Guardian. Self-check rails → Glass Box Ledger replay.
Why move
NeMo Guardrails is excellent for conversation-flow control (when to say no, when to ask a clarifying question). It is less suited to content-correction at scale — every guardrail call invokes an LLM evaluation under the hood, which adds latency and inherits drift.
Trinitite's Guardian is a fine-tuned LoRA model purpose-built for the decision: faster, cheaper, and deterministic.
Concept mapping
| NeMo concept | Trinitite equivalent |
|---|---|
| Colang flow | Policy clause + Guardian rubric |
| Input rail / output rail | Pre-call / post-call Guardian phases (built-in) |
| Self-check rail (LLM-evaluated) | Guardian decision (deterministic, sub-400ms) |
| Action server | Guardian + MCP per-tool Guardians |
disallow: / allow: lists | Permitted / Forbidden subspaces of the Policy Manifold |
bot refuse action | outcome: blocked |
| Trace / inspect mode | Glass Box Ledger replay (bit-exact) |
API translation
POST /v1/chat
{
"guardian": "auth-and-security",
"input": [{
"role": "assistant",
"content": "<ai output>"
}]
}
← 200 OK
{
"outcome": "blocked",
"reason": "Authentication-bypass intent",
"ledger_id": "lg_01HZ2V..."
}Single Guardian invocation, ~140ms p99. The verdict is hashed and Merkle-chained — a year from now you can replay this exact decision bit-for-bit.