YAML Engine
Configuration replaced code.
200 lines of Python state management becomes 15 lines of YAML. Zero custom code. Full production capability — validation, conflict detection, compliance, all included.
Before and after
The same fitness intake agent — one with raw Python, one with TrueNorth.
state = {}
conversation_history = []
current_field_index = 0
retry_count = 0
# ... 60 more lines of state ...
def validate_age(value):
if not isinstance(value, int):
raise ValidationError(...)
if value < 0 or value > 120:
raise ValidationError(...)
# ... 40 more validators ...
def detect_conflict(prev, curr):
# ... 50 more lines ...
def score_confidence(field, val):
# ... 40 more lines ...
id: fitness_plan
persona: "You are Alex, a fitness coach."
fields:
- name: age
type: integer
range: [16, 90]
required: true
- name: goal
type: enum
options: [weight_loss, muscle_gain]
# Validation ✓ Conflict detection ✓
# Confidence scoring ✓ Firewall ✓ Compliance ✓
How it works
Three steps from schema to structured output.
Step 01
Write your schema in YAML
Define fields, types, ranges, personas, and output templates. One file is all you need.
Step 02
TrueNorth builds the pipeline
Validation, conflict detection, confidence scoring, hallucination firewall — all compiled from your YAML.
Step 03
Get structured JSON out
The engine runs the conversation and returns fully validated, typed JSON — ready for your database or API.
Supported field types
Every type handles natural language extraction — not just exact string matching.
| Type | Description | Extracted from |
|---|---|---|
| text | Free-form string input | "I'm Priya Sharma" |
| integer | Whole number with optional min/max range | "I'm 28" → 28 |
| float | Decimal number | "about 5 and a half" → 5.5 |
| date | Date in any format, normalized to ISO 8601 | "born in 1995" → 1995-01-01 |
| enum | Constrained to one of predefined options | weight_loss | muscle_gain | endurance |
| boolean | Yes / no values, normalised from natural language | "yeah sure" → true |
| Validated email address | priya@example.com | |
| phone | Validated phone number, India-first | +91 98765 43210 |
| list | Array of values extracted from a single response | ["Python", "Go", "Rust"] |
Try the YAML Engine now
Write a schema in the playground, run it live, and see structured JSON come out of a real conversation.