Evidence architecture · Human-in-the-loop AI

A data and AI system that makes every claim traceable.

CANIS began as a fast Rust and WebAssembly graph viewer. I rebuilt its data model and publication path so each displayed claim can be traced to an exact source passage, method, result, and human decision. The current pilot uses biological data, but the product problem is broader: making evidence boundaries visible before information is published.

Architecture prototypeRust/WASM + React

MODEL

Traceable source data

PUBLISH

Deterministic checks

DECISION

Human review required

01

Why the model changed

The original graph joined entities, claims, citations, confidence, and display copy in records that were quick to render but difficult to audit. A citation alone did not show which source version was used, which passage supported a claim, or what method produced the underlying result.

That meant a polished interface could make draft information look more settled than the evidence allowed. I treated the mismatch as a data and publication problem, not a wording problem: the interface could not show boundaries that the model did not preserve.

02

The traceable model

Scientific meaning now lives in a versioned source model. The graph used for layout and analysis is a deliberately simplified projection, so the interactive engine can stay fast without becoming the authority on provenance.

Claim

Stores what the system says, its review status, its confidence, and the evidence it relies on.

Source snapshot

Identifies the exact source revision and passage, so a later edit cannot silently change what was reviewed.

Method and result

Separates what a study did from what it observed, with both connected to the supporting source text.

Review record

Preserves a named human decision and the evidence state it was based on. The interactive graph remains a view, not the source of truth.

03

The publication gate

Exploration can stay flexible. Publication takes a separate path that rejects unresolved sources, changed source text, incomplete methods, contradictory evidence, stale context, or missing human approval.

A material change to the claim, source, method, result, presentation, or policy changes the review-context hash. Earlier approval becomes stale instead of silently carrying forward.

04

Human review

The implementation turns a failed publication check into a bounded review packet. It separates what a source said, what a study did, what it observed, and what CANIS inferred, then records the reviewer's decision against that exact context.

01

Inspect

Assemble the claim, exact source passage, method, result, and possible counter-evidence into one review packet.

02

Challenge

Ask whether the study supports the claim, where uncertainty remains, and what evidence could change the decision.

03

Record

Append a recorded review decision only after the publication path recomputes the source and policy hashes.

Advisory AI comparison

A sealed fixture explores how an AI review could be revealed only after a person records an initial decision, reducing anchoring before comparison. The artifact validates hashes, citations, and the counter-evidence manifest, but it is a reproducible fixture rather than a live-model evaluation or evidence of model quality.

05

Current evidence

Demonstrated in the pilot

The pilot assertions pass the implemented source, exact-passage, method, result, and field-level provenance checks.

Still requires judgment

Every pilot assertion still returns HUMAN_REVIEW_REQUIRED. Passing deterministic checks does not make a scientific claim true.

Publication boundary

The publication gate blocks private excerpt snapshots until they are replaced with permissible source artifacts or a rights decision is made.

The pilot demonstrates implemented source, provenance, policy, and staleness checks, with scientific judgment and source-rights decisions intentionally reserved for human review.

Built with

RustWebAssemblyTypeScriptReactZodWeb WorkersGraph algorithmsContent-addressed provenance