Collect what matters
Ingest Markdown, text, and source code, or register out-of-process collectors. Retrieval returns exact citations through an authorized evidence boundary; documents you cannot read never influence a result.
EVIDENCE / SNAPSHOTSSharkbite connects authorized evidence, local models, and execution controls so systems can explain what they know—and stop when they don't. One Go engine, embedded or clustered, on your disk or your object store.
Sharkbite makes the path from observation to action explicit. Each step is bounded, inspectable, and durable.
Ingest Markdown, text, and source code, or register out-of-process collectors. Retrieval returns exact citations through an authorized evidence boundary; documents you cannot read never influence a result.
EVIDENCE / SNAPSHOTSRun a deterministic or local provider against a bounded context pack. Record model and prompt provenance, the exact snapshot, and the outcome as append-only records.
CLASSIFY / ADJUDICATEEnforce declared effects against host policy through gateways that need no cooperation from the caller: an OpenAI-compatible LLM gateway that asks for admission before every model call, and an effects gateway that performs each approved action at most once. Missing authority, evidence, or confidence means the action does not proceed.
EXECUTE / FAIL CLOSEDA decision layer for teams that have data everywhere and certainty nowhere.
Explore the repository ↗Documents, graphs, vectors, and ontologies over sorted key/value tablets, stored as RFile or Parquet on local disk, S3, GCS, Azure Blob, or HDFS.
Provider-neutral inference with a deterministic offline default, Ollama, or any OpenAI-compatible endpoint. Local decisions run shadow-only today, with cohort exports and evaluation records.
Snapshots, citations, receipts, outcomes, adjudications, and an operational record that survives the moment.
Declared effects, host policy, leases, and fail-closed controls. Govern any OpenAI-compatible client by changing one base URL, run HTTP effects through a fenced worker, or serve an authorized corpus to agents over MCP.
Sharkbite stores its own data. The Shoal engine is a sorted key/value store with a WAL, flush, and compaction. It runs in-process with no cluster, or as serving roles when you need them, with RFile or Parquet tablets on local disk or object storage.
shoal-embed runs standalone. No ZooKeeper, no coordinator, no external process. Splits, flush, and compaction are built in. Point it at a directory or a bucket.
go run ./cmd/shoal-embed init \ --table graph --data ~/.shoal/data go run ./cmd/shoal-embed write \ --table graph --data ~/.shoal/data < mutations.jsonl
ShoalQL with predicates, ranges, ordering, and aggregation. Graph traversal and latent-edge discovery. Document and term-index predicates. Exact vector search, with a distributed IVF-PQ index for scale. One EXPLAIN shows the plan.
Byte-compatible RFiles, an Accumulo 4 client in Go, a stable C ABI, and a Python binding over that ABI (import sharkbite or import pysharkbite). Scan server, tablet server, and compactor roles speak Accumulo-native protocols. Status per role is in FEATURES.md.
python -m pip install ./python from sharkbite import Client
A valid record tells you what was known at that point. It does not make a changed world true.
— the Sharkbite READMEOpen source · Apache 2.0
Shoal engine in Go · local-first