Skip to content

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 22 Jul 12:25

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_id is 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::reproject re-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 | sh

Or 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 the sync_* 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 with cargo build --release --features fastembed.
  • 0.x early release - the storage format and surfaces may still change.