Custom models
that earn their keep.
We design, fine-tune, and train custom AI models — but only when a frontier API can't do the job, the unit economics work, and the dataset earns the build. This is how Cassandra T1.5 was trained for DiagBuddy.AI, end to end.
Three versions.
One philosophy.
Our in-house masked-diffusion language model lineage. T1 is open + Apache 2.0. T1.5 powers DiagBuddy.AI in production today. T2 was designed in full and never trained, because evaluation moved the line from block to fusion to compositional. That route shipped as Mnema V1, which is live.
Cassandra T1
Original masked-diffusion edge model. 1.3B params. Trained from scratch with anchor-token masking. Validated 1.67× OOD generalization advantage over baseline.
Cassandra T1.5
Fully-trained successor with extended pretraining + LTMi-XT-grounded retrieval baked into the loss function. 59× corpus-overlap lift over T1 baseline. Powers the DiagBuddy.AI diagnostic engine in production.
Cassandra T2
Architecture and training plan built out in full, with success criteria pre-registered before any run. The run was never made, because by then the evaluation work had moved the line on: block, then fusion, then a compositional architecture that was returning better numbers on the same benchmarks. That route shipped as Mnema V1. The design document is published rather than withdrawn, because the branch not taken is part of the record.
Four phases.
No magic.
How we trained Cassandra T1.5 on the DiagBuddy corpus — from raw diagnoses through LTMi-XT crystallization, anchor-token masking, LENS XT constraint embedding, and into production. Every step is reproducible.
Corpus assembly
- DiagBuddy.AI captured 3,000+ field diagnoses
- Each diagnosis paired with: model number, fault chain, repair sequence, outcome
- Indexed into LTMi-XT 64³ lattice for structured retrieval
▊Anchor-token masking
- Critical tokens (part numbers, codes, torque values) marked as anchors
- Masking strategy preserves anchors during training noise
- Forces model to generate around them deterministically
▊LENS XT constraint training
- Constraint grammar compiled from DiagBuddy repair specs
- Model trained to generate within verified envelope
- Hallucinated motor torques become structurally impossible
▊Validation + deploy
- Hold-out test set of unseen appliance models
- Bench-tested against ground-truth field outcomes
- Shipped into DiagBuddy.AI when 95th-percentile passed
▊LTMi crystallizes.
LENS XT constrains.
Two systems work in tandem. LTMi-XT turns a messy corpus into a structured 64³ lattice with topologically-grounded retrieval. LENS XT applies declarative constraints so the model can't generate outside the verified envelope.
Topological retrieval
BLAKE2b hash places every chunk at a 3D coordinate. Semantically similar content clusters in lattice space — fast retrieval, structurally grounded.
Declarative constraints
Token-level filtering on the diffusion path. The model proposes; LENS XT ratifies. Invalid candidates never see daylight.
When to train.
When not to.
Custom IS the answer
- Domain has structured vocabulary your model must respect (part codes, error codes, regulations)
- Latency or cost makes API-only approaches infeasible at scale
- Privacy/compliance requires on-prem inference with proprietary weights
- You have ≥1,000 high-quality labeled examples for the target task
Custom is NOT the answer
- A frontier model already does the task well with prompting + retrieval
- Your data volume is under 100 examples (fine-tune a smaller adapter instead)
- You need to ship in under 6 weeks (custom training takes longer to validate)
- The unit economics don't survive a fully-loaded training + serving cost
Got a dataset?
Let's see if it's worth training.
Send us a dataset summary. We'll tell you honestly whether a custom model makes sense — or whether retrieval, fine-tuning, or just better prompting would get you there for a tenth of the budget.