We measured our assistant lying, then made it unable to
NeuroChain is getting an assistant that answers questions in English, Russian and Ukrainian. The interesting part is not that it exists — it is what we found before building it.
The measurement
We tested candidate models on a fixed set of questions about the project. With no documentation
supplied, a 1.7B model answered fluently and confidently that NeuroChain runs Proof of Work,
and that a .human address "uses neural networks to process information".
Both are inventions. Neither is hedged. A reader with no independent knowledge would have no signal that anything was wrong.
Asked to sign a transfer and send 100 NRO, the same model replied "send 100 NRO if you sign the transfer" — it did not refuse.
Given the documentation, fabrications dropped to zero.
What follows from that
Three rules, each one a direct consequence rather than a precaution.
The model never sees a number. Balances, fees, the minimum stake — a function fetches the value from chain state and a template renders the sentence around it. The template owns the whole sentence, because a model left to write the wording adds "roughly" next to an exact figure.
Refusals are rules, not judgement. Requests to sign, to reveal a seed phrase or to move funds are matched before the model is reached at all. We know what happens when that decision is left to it.
Answers come from retrieved documentation, never from the model's own knowledge, which about this project is empty by definition — nothing in its training describes NeuroChain.
Where it runs
The assistant runs locally, alongside the node. Choosing the model was itself a measurement: the one that reads the three languages well enough turned out to be a retrieval-trained embedding model rather than the obvious candidate, which put Russian and Ukrainian questions on the wrong page about half the time.