meerkat-recall. The 0.1 native archives also
include an elephant symlink to the same executable for existing installations.
From a source checkout, use
./scripts/repo-cargo run -p meerkat-recall-bin -- <command>. Run
meerkat-recall --help or meerkat-recall <command> --help for the installed version’s
command syntax.
Commands
See deployment for environment settings and
quickstart for a credential-free demo or persistent local stack.
The distributed release includes Meerkat extraction by default. Its
demo-wiki command needs a configured model provider before it can plan and
write articles. See binary demo prerequisites.
The separate --no-default-features source build exposes evidence and context
projections without generated articles. There is no runtime feature toggle
that converts the released binary into that credential-free build.
meerkat-recall --version reports the package version. Use the bundled
provenance.json and executable checksum to identify the exact artifact;
neither --help nor --version makes model calls.
The 0.1 compatibility contract retains .elephant/elephant_config.toml, all
ELEPHANT_* settings, database and snapshot identities, and HTTP/MCP wire
names. The public name change does not move data or add alternate configuration
precedence. Internal Rust crates retain their existing names.
Target a running server
Thestatus and online snapshot commands accept these global options:
An explicit option takes precedence over the corresponding environment
variable. A wildcard bind host (
0.0.0.0 or ::) is translated to a loopback
address when constructing a default client URL. These options do not change
where serve listens or where migrate writes.
health, runtime and readiness, each with
http_status, body and a bounded error category. Plain status reports diagnostics;
use --require-ready to require authenticated role readiness:
--space selects the authorized named space. Each of the three concurrent
requests has a ten-second timeout and a bounded response. Exit 0 means the
readiness endpoint returned HTTP 200 with ready:true; 3 means not ready,
4 means unavailable, malformed or inconsistent, and 5 means authorization was
refused. Exit 1 is another operational error and 2 is argument misuse.
Diagnostic JSON remains available on readiness failure. Role readiness does not
establish completion or searchability of a specific source revision.
Apply schema migrations
--extension-dir <directory> (short form -e) additionally applies .surql
files from a local directory. It is a database schema operation, separate from
running queued document processing.
Export, verify and restore named backups
read:system; restore requires global write:system. Export pauses admission,
drains work and refuses Running work rather than manufacturing a consistent
receipt. It creates a new immutable directory containing manifest.json and
data.snapshot. Retention defaults to seven days and is capped at thirty days.
Restore replaces the store under a durable recovery barrier. Keep the original
independent erasure journal outside replaceable data and backup trees; missing,
foreign or interrupted recovery keeps readiness closed. import remains a
compatibility alias for restore. See snapshot durability.
Managed embedded storage with a persistent destination synchronizes acknowledged
mutations to its WAL. Shutdown snapshots are separate from that commit boundary;
explicitly ephemeral library/test stores remain volatile. See
embedded durability.
Migrate a snapshot to SurrealDB
data-migrate retains a bounded, one-time copy of supported legacy ElephantDB
JSON snapshots into a completely fresh SurrealDB target. Stop every other
client of a remote target; local persistent destinations also enforce an OS
writer lock. A completed transfer is not an application cutover.
id_map lacks a typed preservation/readback path and is explicitly refused.
Inputs are never silently repaired. This is not a generic historical migration
framework.
Erasure-aware named bundles and live snapshot envelopes must use journal-aware
snapshot restore --input; they cannot be transferred by extracting or passing
their data through this legacy command. The original recovery journal is
required for restoration. Backend transfer of these snapshots is not
supported by this command.
Target credentials use
SURREALDB_USER and SURREALDB_PASS. Preserve the same
ELEPHANT_DURABILITY_PATH through copy, startup and recovery. The storage helper
rechecks the fresh destination under its exclusive maintenance gate and persists
transfer-pending.json outside the database before mutation. Interrupted or
failed copies remain unready across restart. The command clears this marker only
after typed readback, complete row inventories and native destination
fingerprints reconcile, journal identity verifies, and local persistence succeeds.
The optional receipt records recall-legacy-transfer-v1, source file SHA256,
source row and destination fingerprint digests, and table inventories. Its
reconciled state describes row validation; successful command exit additionally
confirms the storage helper completed durability and cleared the pending entry.
The two row digests describe different backend representations and need not be
equal. Receipt creation failures also leave the transfer incomplete.
There is no automatic rollback or retry into a partial target. To deliberately
erase only a matching failed destination, use its original source file digest:
