v0.1.4
Changes since v0.1.3.
Highlights
Federation foundations (M4 Phases 1-3) - two nodes can now replicate and converge
The groundwork for hub-and-spoke knowledge sharing, specified first
(docs/federation.md: invariants F1-F20 and the convergence propositions
Prop A-D, each pinned to a test) and then built in three phases:
- Node identity and signed attestations (Phase 1): every node holds an ed25519 keypair;
node_idis the public-key fingerprint (self-certifying, immutable). Attestations gain an
optional sync block - origin, per-(node, workspace) sequence, a hybrid logical clock stamp, and
an ed25519 signature that covers the content id and the origin's lineage declaration, so a relay
can forge nothing. Sync metadata lives outside the content address: the same fact observed on two
nodes keeps ONE id and dedups on arrival. - Sync core (Phase 2): export-boundary stamping (backfill covers pre-federation and new
knowledge uniformly), version-vector delta exchange under selective sharing (a workspace leaves
the node only if explicitly shared), and a verify -> dedup/absorb -> re-project apply pipeline
that is idempotent and hole-tolerant.Engine::reprojectre-materializes entities/relations by
replaying the log in HLC order, so last-write-wins fields converge across nodes instead of
depending on local arrival order. - Sync transport (Phase 3, library-level): an HTTP sync API (
/sync/advertise|pull|push) with
in-process rustls TLS and per-node bearer/allowlist wire auth, plus a client that runs a full
sync round (push surplus, pull deficit, apply). A non-loopback bind is refused unless TLS is
enabled and the allowlist is non-empty; the MCP/viewer loopback guard is untouched.
Viewer - reading direction, flow, and context at a glance
- Edge flow animation: the edges of the hovered/focused node animate marching dashes from
source to target - direction reads instantly. - Curved parallel edges: multiple links between the same two nodes fan into arcs - a
bidirectional pair opens into a lens (cycles are visible), several verbs in one direction fan
out, and each curve carries its own relation label (capped, with a "+K more" summary). - Region-style hull labels: co-occurrence context names render like map region labels - sized
by context, collision-culled, crisply stroked - and the hull overlay is now on by default. - Legend hover highlight: hovering a node-type or edge-kind chip lights up the matching
nodes/edges (edge-kind hover animates its edges), labels the highlighted set, and fades
non-matching hulls - render-only, the layout never reheats. - Arrowheads scale with zoom; all graph input is locked behind the loading indicator while the
layout settles.
Release engineering
- Linux release binaries are now built on ubuntu-22.04, so they run on glibc 2.35+ systems
(v0.1.3 binaries required GLIBC 2.38+ and failed on Ubuntu 22.04 servers).
Install
curl -fsSL https://raw.githubusercontent.com/Ashon/supragnosis/main/scripts/install.sh | shOr download the platform tar.gz from the assets below, extract it, and put supragnosis
on your PATH. Supported: macOS (arm64 / x86_64), Linux (x86_64); each asset ships a .sha256.
- CLI:
supragnosis --help. Register with an MCP client:claude mcp add supragnosis -- ~/.local/bin/supragnosis.
Notes / limitations
- Federation is library-level in this release: the sync API, client, stamping, and
re-materialization are implemented and tested (in-process and over HTTP), but there are no CLI
commands or config wiring yet -supragnosis sync, the server role, and thesync_*MCP tools
are Phase 4. Nothing changes in a running deployment's behavior. - Federated deployment stays single-principal until the governance enforcement phase lands
(canon-policy artifact, I9/I17 checks in the proposal fold, the tbox_change gate - Phase 5). - Storage-format note: attestations may now carry a sync block (origin/seq/HLC/signature).
Reads are backward compatible (old rows simply have none), but a DOWNGRADED binary that rewrites
a stamped observation will drop the stamps - avoid downgrading after stamping begins. - The MCP tool surface is unchanged (10 tools). HTTP daemon / viewer remain loopback-only
(no auth); remote access to a deployed node is an SSH tunnel until the hub read tier
(Phase 3.5) ships. - The prebuilt binary is keyword + hashing search. For local ONNX semantic search, build
from source withcargo build --release --features fastembed. - 0.x early release - the storage format and surfaces may still change.