Six Oracle JD Edwards documents — 844 pages — compiled into a corpus that answers questions with its sources named and a tamper-proof receipt on every reply. It decides deterministically, then renders. It never guesses.
Not a sample. Every one of the six documents Inoapps supplied is read and represented, each atom attributable to the document and section it came from. This is the coverage, shown in full.
Pick a domain, ask in plain English. Switch tabs to see not just the answer but how it was reached, what it depends on, and what it can’t answer. Every reply carries a seal you can break.
Thea isn’t just ours to fill. Paste your own document, name its source, and it becomes a sourced, sealed corpus you can question in seconds — no code, no hand-authoring. This is the same engine a developer calls with three lines.
The 18-step setup isn’t a list — it’s an order with real prerequisites. This graph is built from the functional process doc’s own stated dependencies. Ask “traverse” in the console above to walk any step back to its roots.
The same architecture, applied to maths. Type an idea; it compiles to a glyph program, runs on real deterministic engines, and seals the result. Identical idea → identical hash, every run — the property an LLM cannot have.
One import. The demo above calls this exact file. Every method is real, tested, and runnable right here.
// the whole SDK — no build step import { Thea, verifyChain } from './thea.js'; import { Glyph } from './glyph.js'; const thea = new Thea({ supabaseUrl, supabaseKey }); // one call — decided, sourced, sealed const r = await thea.query(q, { vertical }); r.answer; r.path; r.sources; r.receipt; // inspect & traverse await thea.explain(q); // why this answer await thea.traverse(q); // prerequisite chain await thea.coverage(probes);// gap map await thea.queryAll(q); // cross-domain // throughput & UX await thea.batch(items); // many, one chain await thea.stream(q,{onToken}); thea.on('query', fn); // events // GlyphMath — real maths, sealed await new Glyph().reason(idea); verifyChain(thea.receipts());