Skip to main content
kremis hash [OPTIONS]
Computes a BLAKE3 cryptographic hash of the graph’s canonical export. The hash is deterministic: the same graph state always produces the same 64-character hex digest.

Options

OptionShortDescriptionDefault
--json-mode-Output as JSONfalse
--database-DPath to database filekremis.db
--backend-BStorage backend (file or redb)redb

Output

Default (human-readable):
BLAKE3: a3b4c5d6e7f8a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a1b2c3d4e5f6a7b8
Checksum (XOR): 14823901234567890
JSON mode (--json-mode):
{
  "hash": "a3b4c5d6e7f8a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a1b2c3d4e5f6a7b8",
  "algorithm": "blake3",
  "checksum": 14823901234567890
}

Examples

# Hash default database (redb, empty)
kremis hash

# Hash persistent graph
kremis hash -D kremis.db -B file

# JSON output for scripting
kremis --json-mode hash -D kremis.db -B file

# Compare hashes before and after ingestion
H1=$(kremis --json-mode hash -D kremis.db -B file | jq -r '.hash')
kremis ingest --file signals.json -D kremis.db -B file
H2=$(kremis --json-mode hash -D kremis.db -B file | jq -r '.hash')
[ "$H1" != "$H2" ] && echo "Graph changed"
Last modified on March 9, 2026