cli.md

August 29, 2026 · View on GitHub

This page documents the public CLI surface. The source of truth is src/cli/; run sivtr --help and sivtr <command> --help for installed-version help.

Top-level

sivtr [COMMAND]
sivtr --all              # with bare TTY: also select remote mounts on open

With no command:

  • TTY → multi-source workspace browser (Source / Sessions / Dialogues / Content).
  • Piped stdin → same as sivtr pipe: write to history and open the external editor.

run

sivtr run <COMMAND> [ARGS...]

Runs a command, captures combined stdout/stderr, reports the exit status, saves history when enabled, and opens the captured output in the external editor.

sivtr run cargo test
sivtr run git status --short

pipe

sivtr pipe

Reads stdin and opens it. Piping directly to sivtr is equivalent:

cargo build 2>&1 | sivtr

import

sivtr import

Opens the current structured shell session log. Requires shell integration.

init

sivtr init <TARGET>

Supported targets:

TargetPurpose
powershellInstall Windows PowerShell hook
pwshAlias for PowerShell integration
bashInstall Bash hook
zshInstall Zsh hook
nushell / nuInstall Nushell hook
tmuxInstall tmux picker binding
linux-shortcutGenerate Linux desktop/terminal picker launcher
macos-shortcutGenerate macOS Terminal/LaunchAgent picker launcher

copy

sivtr copy [MODE] [SELECTOR] [OPTIONS]

Command-block modes:

ModeMeaning
no modeCopy input plus output
inCopy input
outCopy output
cmdCopy bare command

Aliases:

AliasExpands to
sivtr csivtr copy
sivtr cisivtr copy in
sivtr cosivtr copy out
sivtr ccsivtr copy cmd

Common options:

OptionMeaning
--ansiCopy ANSI-decorated text when available
--pickOpen the interactive picker
--printPrint copied text after copying
--regex <PATTERN>Keep lines matching regex
--lines <SPEC>Keep selected 1-based lines

Input-capable modes also support:

OptionMeaning
--prompt <TEXT>Rewrite the copied input prompt

Examples:

sivtr copy
sivtr copy 3 --print
sivtr copy --prompt ":"
sivtr copy in 2..4
sivtr copy out --pick --regex panic
sivtr copy cmd --pick

copy agent provider sessions

sivtr copy <PROVIDER> [MODE] [SELECTOR] [OPTIONS]

Providers come from the AgentProvider registry (not a hand-written CLI list):

ProviderCommand
Codexsivtr copy codex
Claude Codesivtr copy claude
Cursorsivtr copy cursor
OpenCodesivtr copy opencode
OpenClawsivtr copy openclaw
Hermessivtr copy hermes
Groksivtr copy grok
Pisivtr copy pi

Modes:

ModeMeaning
no modeLast completed user + assistant turn
inLast user message
outLast assistant reply
toolLast tool output
allWhole parsed session

Agent copy options include all common copy options plus:

OptionMeaning
`--session <NID>`

Examples:

sivtr copy claude
sivtr copy claude out --print
sivtr copy cursor out --print
sivtr copy hermes out --print
sivtr copy grok out --print
sivtr copy claude --session 2
sivtr copy codex 2..4
sivtr copy codex out --pick
sivtr copy opencode all --lines 1:20
sivtr copy pi tool --regex error

diff

sivtr diff <LEFT> <RIGHT> [OPTIONS]

Compares two recent command blocks from the current shell session. Each selector must resolve to exactly one block.

Content options:

OptionMeaning
--outputCompare output text. This is the default.
--blockCompare input plus output
--inputCompare input with prompt
--cmdCompare bare command text

View option:

OptionMeaning
--side-by-sideShow a two-column text view

Examples:

sivtr diff 1 2
sivtr diff 3 1 --block
sivtr diff 2 1 --side-by-side
sivtr search <TARGET> [QUERY] [OPTIONS]

Searches captured terminal records and supported AI workspace sessions. The target chooses where to search; filters choose which records match. A plain-text positional QUERY (no regex) ranks the source by BM25 relevance and becomes the default sort; --match optionally bounds the set with a regex first.

Targets:

TargetMeaning
terminal[/<session>[/<record>[/p<part>]]]Terminal command records
agent[/<session>[/<turn>[/p<part>]]]All registered AI/agent records
codex / claude / cursor / opencode / openclaw / grok / hermes / pi / qoder [/<session>[/<turn>[/p<part>]]]One provider's records
<origin>:<target>Named remote or other local workspace origin, for example desk:terminal or docs:codex/4

Use * for wildcard path segments, for example terminal/*/3 or pi/*/*. Origins come from sivtr remote add <alias> ... or local workspace names listed by sivtr ws list.

Options:

OptionMeaning
QUERYPlain-text search query; BM25 ranks the source by these terms (no regex). Default sort becomes relevance.
--match <REGEX>, -m <REGEX>Case-insensitive regex that bounds the set before relevance ranking
--exclude <REGEX>, -v <REGEX>Case-insensitive exclusion filter applied after matches are found
--in <FIELD>, -i <FIELD>content, title, session, input, output, command, or all; default is content
--kind <KIND>Part kind filter: prompt, command, user, assistant, tool, tool_call, tool_result, skill, thinking, output, or error
--status <STATUS>success, failure, or unknown
--exit-code <CODE>Exact terminal process exit code
--min-duration <DURATION>Minimum command duration, e.g. 500ms, 2s, 1m
--max-duration <DURATION>Maximum command duration
--sort <SORT>newest (default), relevance (default with a QUERY or --match), oldest, duration, duration-asc, exit-code, or exit-code-asc
--cwd <PATH>Workspace directory used to resolve records
--since <TIME>Only include records at or after this time
--until <TIME>Only include records at or before this time
--last <DURATION>Recent time window, e.g. 30m, 2h, 7d
--latest <N>Return the latest N matching records before final sort. Defaults to 5 when neither --latest nor --limit is set (relevance sort ranks the whole set and skips the recency window).
-l, --limit <N>Maximum result groups to print (hard ceiling after latest/sort)
--exclude-current, --otherExclude the current agent session from agent searches
--jsonAlias for --format workset
--refsAlias for --format refs; prints refs, one per line
--format <FORMAT>, -f <FORMAT>full, timeline, compact, md, refs, or workset; terminal stdout defaults to full, piped stdout defaults to workset

When stdout is piped and no explicit format is selected, WorkSet commands emit WorkSet JSON for the next command. Use --refs or -f timeline only at the final display step.

Time filters accept RFC3339 timestamps, Unix seconds/milliseconds, relative durations like 30m, 2h, 7d, and aliases such as today, yesterday, tomorrow, this morning, this afternoon, this evening, tonight, and now.

Examples:

sivtr search terminal --status failure --latest 1 --json
sivtr s terminal "docker pull failed" --latest 20 --refs
sivtr s terminal -m "panic|failed" -v "example|sample" --since today --refs
sivtr s terminal -m "panic|failed" | sivtr filter @ -v "demo" -i title -f timeline
sivtr search agent --match "TODO|failed|next step" --since yesterday --format md
sivtr search pi --since today --sort oldest --format timeline
sivtr search pi/019e5941 --match "cargo test" --format compact
sivtr search terminal/session_13104/3 --format workset

eval

sivtr eval [OPTIONS]

Benchmarks retrieval quality against golden queries: freezes the current workspace records into a snapshot, then ranks the corpus per query and reports recall@k / precision@k / MRR / NDCG@k. See docs/retrieval-eval.md for the methodology and measured results.

OptionMeaning
--k <K>Evaluation depth (default 5)
--sort <SORT>Sort strategy to benchmark (default newest)
--snapshot <PATH>Frozen eval snapshot file (queries + corpus JSON)
--create-snapshot <PATH>Dump current workspace records into a new snapshot (queries start empty)
--export <DIR>Write qrels.txt and results.txt (trec_eval format) into this directory
--jsonEmit the report as JSON

Example workflow:

sivtr eval --create-snapshot snap.json   # then edit snap.json: add labeled queries { name, query, relevant: [...] }
sivtr eval --snapshot snap.json --sort relevance --json

filter

sivtr filter [SOURCE] [OPTIONS]

Filters a source or piped WorkSet with the same shared WorkSet filter surface used by search. If SOURCE is omitted it defaults to @, meaning WorkSet JSON from stdin.

Options:

OptionMeaning
--partsSelect matching part anchors instead of preserving the input anchor granularity
--match <REGEX>, -m <REGEX>Case-insensitive content filter
--exclude <REGEX>, -v <REGEX>Case-insensitive exclusion filter
--in <FIELD>, -i <FIELD>content, title, session, input, output, command, or all
--kind <KIND>Part kind filter: prompt, command, user, assistant, tool, tool_call, tool_result, skill, thinking, output, or error
--status <STATUS>success, failure, or unknown
--exit-code <CODE>Exact terminal process exit code
--min-duration <DURATION>Minimum command duration
--max-duration <DURATION>Maximum command duration
--sort <SORT>newest, oldest, duration, duration-asc, exit-code, or exit-code-asc
--cwd <PATH>Workspace directory used to resolve records
--since <TIME> / --until <TIME> / --last <DURATION>Time filters
--latest <N>Return the latest N matching anchors before final sort
-l, --limit <N>Maximum result anchors to print
--exclude-current, --otherExclude the current agent session from agent searches
--jsonAlias for --format workset
--refsAlias for --format refs
--format <FORMAT>, -f <FORMAT>full, timeline, compact, md, refs, or workset
--save <NAME>Save the result WorkSet as @name

Examples:

sivtr search terminal --json | sivtr filter @ -m error --refs
sivtr filter terminal --status failure --refs
sivtr filter @last --parts --kind tool_result --refs

var

sivtr var <COMMAND>

Manages named WorkSet variables.

CommandMeaning
set <name> [source]Save a source or piped WorkSet as @name
listList saved variables with item counts and creation time
rm <name>Remove one saved variable
merge <name> <source>...Merge sources into a saved variable, deduplicating by anchor
drop <name> <source>...Remove source anchors from a saved variable
cleanupRemove all saved variables

Examples:

sivtr var set ctx @last
sivtr filter terminal -m panic --json | sivtr var set failures
sivtr var list
sivtr var merge ctx @failures @last[1]
sivtr var drop ctx @noise
sivtr nav <SOURCE> <MOTION> [OPTIONS]

Moves WorkSet anchors deterministically through record/part/session structure. nav does not default-expand children; child movement must specify a 1-based index with >N.

Motion tokens compose left-to-right:

TokenMeaning
<Parent. Part/line to record; record to containing session records.
>NNth child, 1-based. Record children are its parts.
+NNext sibling by N at the current level.
-NPrevious sibling by N at the current level.
[A..B]Sibling window at the current level, relative to the current anchor.
~Containing session records.

Options:

OptionMeaning
--cwd <PATH>Workspace directory used to resolve records
--jsonAlias for --format workset
--refsAlias for --format refs
--format <FORMAT>, -f <FORMAT>full, timeline, compact, md, refs, or workset

Examples:

sivtr nav @hit '<' --refs
sivtr nav @hit '>1' --refs
sivtr nav @hit '<+1>1' --refs
sivtr nav @hit '<[-2..+2]' --refs
sivtr nav @hit '~' --refs

Use zoom for simple neighboring record context. Use nav when the exact movement path matters.

show

sivtr show <SOURCE> [OPTIONS]

Prints a workspace ref or WorkSet source such as @last, @name, or @.

Ref syntax:

source/session[/record-or-turn[/p<part>]]

Options:

OptionMeaning
--cwd <PATH>Workspace directory used to resolve sessions
--jsonAlias for --format workset
--refsAlias for --format refs
--fullAlias for --format full
--format <FORMAT>, -f <FORMAT>full, timeline, compact, md, refs, or workset

Examples:

sivtr show claude/<session-id>
sivtr show claude/<session-id>/3
sivtr show claude/<session-id>/3/p7 --json
sivtr show terminal/current/2
sivtr show desk:terminal/session_42/3/p1 --full
sivtr show @last --full
sivtr show @ctx -f timeline

zoom

sivtr zoom [SOURCE=@last] [OPTIONS]

Expands each target WorkRecord with neighboring records from the same session. Defaults to @last when no source is given.

Options:

OptionMeaning
-C, --context <N>Records before + after each anchor (default 1)
--before <N>Records before each anchor
--after <N>Records after each anchor
--cwd <PATH>Workspace directory used to resolve sessions
--jsonAlias for --format workset
--refsAlias for --format refs
-f, --format <FORMAT>full, timeline, compact, md, refs, or workset
--save <NAME>Save the expanded set as a named WorkSet var
sivtr zoom                        # expand @last
sivtr zoom claude/<session>/3 -C 2
sivtr zoom @failures --before 2 --after 0 --refs

work

sivtr work <COMMAND>

Traverses workspace sessions, records, and parts without printing full content — marker-level output you can pipe into other commands.

CommandMeaning
sessions [SOURCE]List terminal and agent sessions in the current workspace
records <SOURCE>Turn sessions or saved variables into event-level refs
parts <SOURCE>Extract only useful inputs/outputs from matching events

Common flags: --provider <NAME> filter, --cwd <PATH>, --json, --refs, --save <NAME>.

sivtr work sessions
sivtr work records codex/ --refs
sivtr work parts @last --kind output --save out_parts

serve

sivtr serve <COMMAND>

Manages the local remote-memory daemon. Share and remote commands auto-start it when needed.

CommandMeaning
startStart the daemon in the background
stopStop the running daemon cleanly
restartRestart the daemon
statusShow daemon identity and runtime state
logsPrint the daemon log path
foregroundRun the daemon in the foreground
sivtr serve start
sivtr serve status
sivtr serve logs
sivtr serve stop

publish

publish projects a local WorkSet into an immutable, client-encrypted browser snapshot. It is not share: share is a live workspace mount that needs Sivtr/daemon; publish uploads the encrypted envelope with the publication ID and X-Sivtr-Management-Token/X-Sivtr-Published-At request metadata, while the viewer key stays in the URL fragment and viewers need no Sivtr install.

sivtr publish <SOURCE> [--title <TITLE>] [--expires 7d] [--yes] [--allow-warnings]
sivtr publish preview [<SOURCE>] [--title <TITLE>] [--expires 7d] [--format human|json]
sivtr publish list [--json]
sivtr publish link [<PUBLICATION_ID>]
sivtr publish revoke [<PUBLICATION_ID>] [--yes]

Whole-record WorkSets use v1: they accept consecutive local agent records from one provider and session, and publish only User/Assistant text. publish preview without a source opens the existing workspace picker; it returns a WorkSet and prints the final snapshot locally. v2 supports User, Assistant, Tool, Skill, and Thinking atoms plus non-contiguous parts; ToolCall and ToolResult remain inseparable.

Both versions reject terminal records, remotes/groups, mixed sessions/providers, attachments, and cross-session evidence bundles. WorkRefs remain valid selection inputs, but public snapshots omit WorkSets, WorkRefs, cwd, session paths, and provider envelopes; whole and part anchors cannot be mixed. Search defaults to newest-first and --latest 5; v1 publish sorts by record index before the continuity check. [publish].endpoint defaults to https://share.hnnulwh.cn and can be changed in config.toml. Non-interactive publish requires --yes. Path/email/internal-URL warnings require --allow-warnings in every environment, including a TTY.

Typical flow:

sivtr search codex/<session-id> --sort oldest --latest 50 --save share_ready --refs
sivtr publish preview share_ready
sivtr publish share_ready --expires 7d --yes

Interactive preview flow:

sivtr publish preview
sivtr publish preview share_ready --format human
sivtr publish share_ready --expires 7d --yes

publish <SOURCE> also accepts an existing saved WorkSet name without @, which avoids PowerShell splatting syntax. Bare terminal, agent, provider names, and sources containing /, :, or * are selectors; other bare identifiers are saved WorkSet names and fail directly when missing. In the workspace picker, p opens the lifetime panel, Tab focuses an optional WorkSet name, and a non-empty name is saved once before the selected publish/preview action continues. In an interactive terminal, list includes clickable active links; link and revoke open a selection prompt when their ID is omitted.

share

sivtr share [OPTIONS]
sivtr share <COMMAND>

Explicitly shares a local workspace for remote peers. Bare sivtr share is interactive: pick a workspace (Enter = current) and ensure the share exists (no invite). Create an invite with sivtr share invite <name>.

Default interactive options:

OptionMeaning
--path <PATH>Workspace path; skips the picker after confirm
--name <NAME>Stable share name; defaults to the workspace directory name
--no-redactDisable secret redaction for this share

Subcommands:

CommandMeaning
add [PATH] [--name NAME] [--no-redact]Expose a workspace through the daemon
listList local shares
remove <SHARE>Remove a share and all grants and invitations attached to it
enable <SHARE> / disable <SHARE>Toggle a share without deleting it
invite <SHARE> [--expires DURATION]Create a single-use invite; prints the bare key on stdout
grants <SHARE>List active peer grants for a share
revoke <SHARE> <PEER>Revoke a peer's access to a share
sivtr share
sivtr share add --name alice-desk
sivtr share invite alice-desk --expires 10m
sivtr share list
sivtr share grants alice-desk
sivtr share revoke alice-desk <peer>

remote

sivtr remote <COMMAND>

Names a peer share in the current git workspace (like git remote). The name is the left side of name:path refs.

CommandMeaning
listList remotes in the current workspace
add <NAME> <INVITE>Redeem an invite and add the remote
remove <NAME>Remove a local remote name (grant remains until the owner revokes it)
rename <NAME> <NEW>Rename a remote in this workspace
test <NAME>Reachability + authorization probe
sivtr remote add desk <invite-key>
sivtr remote test desk
sivtr remote list
sivtr s desk:terminal --status failure --latest 5 --refs
sivtr show desk:agent/<session>/3 --full
sivtr remote rename desk bob-desk
sivtr remote remove desk

peer

sivtr peer <COMMAND>
CommandMeaning
listList known peer identities
forget <PEER>Forget a peer and remove all local remotes and grants involving it
sivtr peer list
sivtr peer forget <peer>

group

sivtr group <COMMAND>

Groups are a named set of devices that share memory with each other: every member contributes workspaces, and roster changes sync automatically.

CommandMeaning
create <NAME> [--workspace PATH] [--share-name NAME]Create the group and contribute the current workspace in one transaction
invite <GROUP> [--expires DURATION] [--max-uses N]Owner-only; mint a multi-use join link (stdout = bare key)
join <INVITE> [--workspace PATH] [--share-name NAME] [--no-redact]Redeem an invite and contribute workspaces; re-run to adjust contributions
listList groups you belong to
members <GROUP>List members and their contributions
remove <GROUP> <PEER>Owner-only; remove a member
rename <GROUP> <NAME>Owner-only; rename the group
leave <GROUP>Leave the group (owner leaving disbands it)
sync <GROUP>Force a roster pull from the owner
sivtr group create team
sivtr group invite team --expires 1d --max-uses 10
sivtr group join <invite-key>
sivtr group list
sivtr group members team
sivtr group sync team

Membership changes broadcast to every member automatically (and re-pull on a 5-minute TTL). Group access to a member's contributions is read-only and redacts secrets like shares do.

origin

sivtr origin <COMMAND>

One rename path for every addressable source — a name is either a local workspace alias or a remote mount, unified through an origin registry.

CommandMeaning
rename <NAME> <NEW_NAME>Rename a local workspace alias or a remote mount; both kinds resolve through the same command
sivtr origin rename docs knowledge
sivtr origin rename desk alice-desk

workspace

sivtr workspace [list]
sivtr ws list

Lists known local workspaces and their origin labels for name:body refs (for example docs:codex/4). Alias: sivtr ws.

sivtr ws list

Exact syntax for every remote subcommand is above. For the model, setup path, and safety defaults, see Remote Access. For a teammate scenario, see Remote collaboration memory.

mcp

sivtr mcp serve
sivtr mcp install [OPTIONS]
sivtr mcp uninstall [OPTIONS]
sivtr mcp print-config <claude|cursor|codex>

Read-only MCP server for agent hosts, plus one-shot host registration.

serve

Runs the MCP server on stdio:

sivtr mcp serve
sivtr mcp serve --idle-exit 60

--idle-exit <SECS> makes the server exit after that many seconds with no tool calls; the host respawns it on the next tool use, so an idle server never lingers (each agent session otherwise keeps one alive until it exits). 0 = stay alive until the host closes stdin. The same value can be set globally with the [mcp] idle_exit_secs config key, which defaults to 60 (idle exit on; set 0 to disable); the CLI flag wins over the config.

Tools:

ToolPurpose
sivtr_searchSearch terminal/agent memory; supports desk:... origins. Same bounds as CLI search (latest=5 by default).
sivtr_showExpand a ref or WorkSet handle
sivtr_zoomNeighboring record context
sivtr_filterNarrow @last / @name / a source
sivtr_statusVersion, hooks, providers, daemon, ws local origins, remotes, vars

install / uninstall

Writes or removes the sivtr MCP entry in agent host config (same idea as codegraph install):

sivtr mcp install -y                      # detect installed hosts, global
sivtr mcp install -p claude,cursor -l global
sivtr mcp install -p claude -l local      # project .mcp.json
sivtr mcp uninstall -p all -y
FlagMeaning
-p, --providerProvider host(s): claude, cursor, codex, opencode, openclaw, grok, hermes, pi, qoder, qodercn, gemini, qwen, goose, or all. Omit to detect installed hosts.
-l, --locationglobal (default) or local
-y, --yesNon-interactive

Install locations (registry-driven; paths are host defaults):

TargetGlobal path
Claude Code~/.claude.jsonmcpServers.sivtr
Cursor~/.cursor/mcp.jsonmcpServers.sivtr
Codex~/.codex/config.toml[mcp_servers.sivtr]
OpenCodeOpenCode MCP config → mcp.sivtr
OpenClawOpenClaw config → mcp.servers.sivtr
GrokGrok config TOML → MCP entry
HermesHermes YAML → mcp_servers.sivtr
PiPi config → mcpServers.sivtr
Qoder / Qoder-CNQoder settings.json → MCP entry
GeminiGemini settings.json → mcpServers.sivtr
QwenQwen settings.json → MCP entry
GooseGoose config.yaml extensions → MCP entry

Registered command is always:

sivtr mcp serve

Print a snippet without writing files:

sivtr mcp print-config claude
sivtr mcp print-config cursor
sivtr mcp print-config codex
sivtr mcp print-config grok
sivtr mcp print-config goose

MCP is not a full CLI mirror. Interactive, write, and capture commands stay on the CLI. Strategy still lives in the sivtr-memory skill.

version

sivtr version [--verbose]

Prints the Sivtr version. Use --verbose to diagnose which binary is running and whether it differs from the local debug build in the current repository.

sivtr version
sivtr version --verbose

Verbose output includes:

  • package version;
  • binary path;
  • current working directory;
  • debug/release profile;
  • git commit and build time when available;
  • detected repo root;
  • local target/debug/sivtr binary status;
  • a warning when a different global binary is being used inside the repo.

doctor

sivtr doctor [--fix] [--json]

Diagnoses the installation and environment: binary, config, session logs, shell hooks, provider session counts, clipboard, and available updates.

OptionMeaning
--fixAttempt to repair detected problems automatically
--jsonMachine-readable JSON output
sivtr doctor
sivtr doctor --fix
sivtr doctor --json

update

sivtr update

Self-updates to the latest GitHub release: downloads the matching platform asset, verifies its SHA256, and replaces the binary in place.

sivtr update

setup

sivtr setup

One-command setup for a fresh install: detects the environment, installs shell hooks, registers the MCP server with detected agent hosts, installs the sivtr-memory skill when missing, and runs a smoke test. Equivalent to running sivtr init, sivtr mcp install, the skill install, and sivtr doctor step by step.

sivtr setup

history

sivtr history [COMMAND]

Subcommands:

CommandMeaning
list [-l, --limit <N>]List recent entries
search <KEYWORD> [-l, --limit <N>]Search saved capture history
show <ID>Show a specific history entry

If no history subcommand is provided, list is used.

config

sivtr config [COMMAND]

Subcommands:

CommandMeaning
showShow config path and content
initCreate default config
editOpen config in editor

If no config subcommand is provided, show is used.

hotkey

sivtr hotkey [COMMAND]

Subcommands:

CommandMeaning
start [--chord <CHORD>] [--provider <PROVIDER>]Start Windows global hotkey daemon
statusShow daemon status
stopStop daemon

If no hotkey subcommand is provided, status is used.

Examples:

sivtr hotkey start
sivtr hotkey start --chord alt+y
sivtr hotkey start --provider claude
sivtr hotkey status
sivtr hotkey stop

codex export

sivtr codex export --dest <PATH> [OPTIONS]

Exports local Codex rollout JSONL files into a target directory containing a sessions/ tree.

Options:

OptionMeaning
--dest <PATH>Destination directory that will receive the sessions/ tree
--limit <N>Keep only newest N session files; 0 means export all
--watchContinue mirroring with native filesystem wakeups and periodic reconciliation
--interval <SECONDS>Maximum seconds between reconciliation passes; default is 1
--interval-ms <MILLISECONDS>Maximum milliseconds between reconciliation passes; overrides --interval

Native filesystem events can trigger an earlier pass. If native watching is unavailable or disconnects, export falls back to periodic polling. Stable files are not republished; verified append-only growth writes only the new suffix. After a restart or filesystem migration, export verifies file content before resuming incremental writes.

Examples:

sivtr codex export --dest /srv/sivtr/root-codex
sivtr codex export --dest /srv/sivtr/root-codex --watch
sivtr codex export --dest /srv/sivtr/root-codex --limit 100

clear

sivtr clear [--all]

Clears current shell session logs. --all clears all recorded session logs and state files managed by sivtr.

Shared syntax

See Selectors and Filters for recency selectors, --session, providers, --regex, --lines, --ansi, --print, and workspace refs.