Verantyx — Local AI CLI & Apps
Kumamoto earthquake · August 2026 · a working example<br>33 bulletins. Which towns have water back?<br>Vera reads the actual ministry PDFs and answers with sources — or refuses, with a typed reason. No LLM in the answer path. Deterministic. Offline. Below is its real output on the real documents.<br>Try it in the browser →pip install verantyx-vera
vera field — 127.0.0.1:8900<br>Input: MLIT bulletins #3, #13, #23, #33 (Jul 29 – Aug 7) · 61,083 characters<br>Read: 2,319 / 2,701 sentences (85.9%) · 6 comparable pairs · 6 findings, 6 true<br>熊本市 water out7/29 · mlit_03→restored8/7 · mlit_33約20,970 households · 7/28〜8/3<br>天草市 water out7/29 · mlit_03→restored8/7 · mlit_33約1,100 households · 7/28〜8/1<br>御船町 water out7/29 · mlit_03→restored8/7 · mlit_33約2,600 households · 7/28〜8/1<br>甲佐町 water out7/29 · mlit_03→restored8/7 · mlit_33約500 households · 7/28〜8/7<br>南島原市 water out7/29 · mlit_03→restored8/7 · mlit_33約439 households · 7/28〜29<br>太良町 water out7/29 · mlit_03→restored8/7 · mlit_3341 households · 7/28〜29
This is the engine’s verbatim output rendered as HTML — not a screenshot and not an illustration. Every line names the file it came from, so you can disagree with the engine, which is the only way to find out it is wrong.
How it works<br>The name is the architecture: knowledge lives on stereo crosses, and disagreement is a geometric event.<br>熊本市復旧:断水 ← mlit_03復旧:復旧 ← mlit_33facets…two poles on one aspect of one core = contested, with both sources attached<br>1 · Crosses, not embeddings<br>Each named thing gets one cross: a core and accumulating facets. A state word is stored as aspect:value — 復旧:断水 — so two poles on one aspect surface as a contradiction by structure, not by similarity score.
2 · A subject gate, measured in<br>A pole lands only when the named thing is the subject of the sentence that carries it. Added after measuring 0-of-4 precision without it; with it, 14 of 14 findings on five disaster corpora were true.
3 · Typed refusal, never a guess<br>No model anywhere in the answer path. When evidence is missing the answer is UNKNOWN_NO_EVIDENCE — a name for what is missing, not a fluent sentence about it. Same input, same output, offline.
4 · It repairs its own reader<br>It reads the same documents twice through transforms that cannot change meaning; a claim that appears in only one reading is provably spurious and gets repaired unattended. What a new word means still requires you.
What would you point it at?<br>The boundary is measured, not guessed: it works where named things change state across disagreeing sources.<br>Disaster information desks<br>Bulletin #3 says the water is out; bulletin #33 says restored. Which municipalities changed, which are still contested, and which report said what — without reading 250,000 characters by hand.
Ledgers: contracts, permits, assets<br>Anything named that flips state — valid/expired, running/stopped, open/closed — across documents that disagree. The vocabulary is 12 oppositions and grows by approved proposal.
Auditing agent declarations<br>An agent that says "sandbox on" while requesting "sandbox off" is two sources contradicting each other about a named thing — structurally the same detection, measured to work on typed declarations.
Not: wikis, meeting notes, prose<br>Measured on 93 technical documents: 5 findings, 0 true. Abstract nouns recur across unrelated contexts, so comparing two mentions manufactures contradictions. We publish that number on purpose.
Measured, including the failure<br>corpusfindingstrueprecisionGovernment disaster reports (5 corpora, 4 blind)1414100%Naive keyword baseline, same documents38616%Technical prose, 93 documents500%<br>The 0% row is why the page above says “not for wikis”. Publishing where a tool fails is cheaper than an afternoon of your time finding out.<br>Try the live demo →PyPIGitHubDesign principles