Show HN
Straight Edge AI — cited, scored, contradiction-logged
I got tired of chatbots inventing citations and averaging contested numbers into a single confident figure. This one searches at answer time, ranks what it opened by source tier, prints a 0–100 confidence score with the basis in one line, and dumps the entire reasoning trace as JSON. When the evidence isn't there it says so and stops. Three questions are free with no account — the trace export works on those too.
For technical users
Exportable reasoning trace
Every answer downloads as JSON: each tool call with its exact query, the raw returned text, the ranked sources, the confidence math and the verdict block. Diff two runs, archive them, feed them to your own checker. Available on the free trial, before any payment.
Offline / frozen mode
Flip live verification off and the model is locked to a stated knowledge cutoff plus your own documents. Anything outside that corpus returns 'no evidence in scope' instead of a guess dressed as recall.
Pinned context
Persistent user-supplied context that travels with every thread — your definitions, your datasets, your constraints — without re-pasting it into each prompt.
MCP server
Eight tools over MCP with OAuth: list/read/create/delete threads, list and add pinned context, read the audit log, and describe the tool schemas. Every call is written to an append-only audit table scoped to your user.
The rules it can't break
- Contested numbers are shown side by side with their source and cut-off. Never averaged, never silently overwritten.
- Low confidence opens with the literal words "I don't know the answer to that" before any opinion.
- Uncited claims are labeled reasoning, not fact.
- Speculation only when you ask for it, and it is labeled as speculation.
- Refusals state that a limit stopped it — not a fabricated lack of information.
Stack, plainly
TanStack Start on the edge, Postgres with row-level security for threads, messages, pinned context and audit logs, a live search + fetch tool loop the UI renders in full (you see the exact queries and the raw text that came back), and a machine-readable verdict block the client parses into the instrument panel. Personality is a thin wrapper — it cannot override the epistemic rules.
Known limits: search coverage is the weak link, not the model. If the open web hasn't published it, the honest output is a low score and a stated gap — that's the intended behaviour, not a bug to paper over.