Saphan StudioDocs
Reference/Command reference

saphan wave

Wave views: branch / gate / merge state of the fleet's streams

saphan wave

Wave views: branch / gate / merge state of the fleet's streams

saphan wave

Subcommands

SubcommandWhat it does
saphan wave showShow wave/PR state: stream → branch → base, gate decisions, observed merges (§7)

saphan wave show

Show wave/PR state: stream → branch → base, gate decisions, observed merges (§7)

saphan wave show [flags]

Render the wave view: every stream with its resolved state (ingest + human gates + observed git), its branch → base line, its latest gate decision, and whether a real merge commit was observed (§1.7). Ends with the one notification (§3.3); a pending human gate exits 2.

--json defaults to detail=summary (stream/state/valence/last_gate/liveness, last_gate carrying no signature blob); --detail full adds evidence_recipe/ phase_spans/merge_message/last_gate.sig. --state/--since/--streams narrow which rows render, on both --json and the table (rider mcp-contract klasa #2, STOP1_PLAN Decision 6) — total_count in --json always names the fleet's real size, even when narrowed. --changed-since is the heartbeat-poll cursor (RS-5): pass back a prior --json response's as_of_ts to see only what changed. --json also carries machines — the machine × identity × role × pulse projection (RS-0b's admitted machines, RS-5).

Options

OptionTypeDefaultDescription
--changed-sincestringunsetheartbeat-poll cursor (RS-5): narrow to streams that changed at or after a PRIOR response's as_of_ts
--detailstringunsetsummary (default: stream/state/valence/last_gate/liveness) | full (adds evidence_recipe/phase_spans/merge_message)
--sincestringunsetnarrow to streams whose ingest updated_ts is at or after this RFC3339 timestamp
--statestringunsetnarrow to streams whose resolved state renders exactly this (e.g. "in-flight", "gated:accept")
--streamsstringSlice[]narrow to these stream slugs (comma-separated, or repeat the flag)

On this page