dent8 v0.7.2
Install: cargo install dent8-cli --locked · pip install dent8 · npm install dent8 · prebuilt archives below. Docs: https://xyzzylabs.github.io/dent8/
The headline: dent8 ui — the stock binary now serves its own local, read-only memory dashboard (Memory / What-if / Health), read-only by construction.
Added
-
dent8 ui— a local, human-first memory dashboard (the first deliverable of
ADR 0020, unfrozen): one command
opens a dashboard in your browser, served straight from the stock binary, designed
around the belief base rather than the plumbing. Four views:- Memory (the landing): a headline verdict (everything verified / N contested /
N stale / integrity failed), stat tiles, and the believed facts as cards — the
value shown large, a freshness color-bar down the side, authority + freshness badges,
contested facts showing both rival values inline. Click any card for a slide-in drawer
with the full integrity receipt (authority, hash, chain, corroboration, survived
challenges, validity window) and the complete replay timeline. - Activity: every event across the log, newest first (rejected supersessions appear
as thefact.challenge_rejectedevents recorded on their incumbents). - What-if: re-fold the log under a different trust policy and see now-vs-under-policy
with per-fact diffs — deterministic, no model calls. - Health: a status-page rollup — a healthy/attention banner, integrity/witness/doctor
status cards, and collapsible detail (doctor checks, witness coverage + TAMPER/ROLLBACK,
native scan/reconcile per agent profile, and the raw runtime env under system details).
Plus a light/dark toggle, deep-linkable tabs (
#healthetc.), and a click-to-pause live
poll. Read-only by construction — every endpoint is a GET over the sameop_*/snapshot
code the CLI and MCP use, so no separate write path exists (the ADR's hard constraint);
the transport is a minimal hand-rolled HTTP responder over tokio (zero new dependencies)
that binds 127.0.0.1 only, refuses non-localhostHostheaders (DNS-rebinding), and
answers GET only. Fact values are HTML-escaped everywhere — agent-supplied text can never
execute in the operator's browser. Default port 3368 ("dent" on a phone keypad);
--port/--no-opento adjust. The Tauri desktop shell remains the later packaging step
and will wrap this same surface. - Memory (the landing): a headline verdict (everything verified / N contested /
Full changelog: https://github.com/xyzzylabs/dent8/blob/main/CHANGELOG.md