Saphan StudioDocs
Reference/Command reference

saphan capture

Sign and index one capture — the shared capture→sign→store→ACK primitive (STOP1_PLAN)

saphan capture

Sign and index one capture — the shared capture→sign→store→ACK primitive (STOP1_PLAN)

saphan capture [flags]

Capture, sign (sign.KindFile — the workspace key, the same key gate writes use), and index one spark or transcript. This phase indexes only: the row is signed and queryable through capture show/list the instant this returns, but ack/ack_ts stay false/"" until the CouchDB blob write lands (a later, HARD-BLOCKED phase) — a named gap, not a silent one.

--file names the exact bytes to capture, verbatim — no trimming, no normalization; "-" reads stdin. Re-capturing bytes already in this workspace's record is a no-op: it returns the EXISTING row, not a new one (content-addressed idempotency, STOP1_PLAN §3).

Subcommands

SubcommandWhat it does
saphan capture listList capture_index rows, id order (capture_list, contract v3)
saphan capture showShow one capture_index row by id (capture_show, contract v3)

Options

OptionTypeDefaultDescription
--actorstringunsetthe capturing actor/session (falls back to env SAPHAN_ACTOR, then ~/.saphan/config's identity.actor)
--filestringunsetpath to the exact bytes to capture ("-" reads stdin; required)
--kindstringunsetspark | transcript (required, no default)
--refstringunsetoptional free-form provenance note (never a secret VALUE, §1.6)
--streamstringunsetoptional kin anchor: the stream/gate/tray that triggered this capture

saphan capture list

List capture_index rows, id order (capture_list, contract v3)

saphan capture list [flags]

Options

OptionTypeDefaultDescription
--limitint0cap the row count (0 = no limit)
--streamstringunsetnarrow to captures triggered by this stream

saphan capture show

Show one capture_index row by id (capture_show, contract v3)

saphan capture show <id>

On this page