Activity
cmd/crewship/cmd_activity.go is a journal-backed view: it queries GET /api/v1/journal filtered to the activity entry types (peer.conversation, peer.escalation, and the full assignment lifecycle assignment.created → assignment.running → assignment.completed/assignment.failed), descending by time, narrowable by crew. The journal is the canonical event stream, so this is an event feed (one row per event) — not the entity snapshot the retired /api/v1/activity aggregator returned. The terminal rows are included on purpose: without them the feed would never show an assignment finishing or failing. The parallel run.completed/run.failed entries (keyed by trace_id) are the finer per-run trace — use crewship journal for those.
--since is now a server-side filter (the journal honours since=); --type remains a client-side substring match on the entry type. A repeated peer conversation (its question + answer share one thread_id) is collapsed to a single row.
For a live tail of granular events, use crewship journal --follow or its shortcut crewship watch.
crewship activity
--export and the global --format overlap but differ: --format json|yaml|ndjson
renders the fetched page like any other list command, while --export ndjson|csv is a
dedicated dump path that can write to a file via --out and takes precedence when both
are set.
Examples
assignment.created, peer.conversation, peer.escalation, …), and the entry summary (which already names the participants, e.g. api asked db: …). --export csv columns are ts,entry_type,from_slug,to_slug,summary; the from/to slugs are resolved from the entry payload when present, otherwise from the workspace agent lookup (GET /api/v1/journal/lookup) keyed by actor_id/target_id — so an assignment row, which carries the assigner only as an id, still renders a real from. --export ndjson dumps each raw journal entry enriched with the resolved from_slug/to_slug.
Common errors
bad --since: <reason>— value did not parse as1h/24h/7dor RFC3339.--lines must be between 1 and 500 (got N)— out-of-range page size; pick a value in1–500.--export must be ndjson or csv (got "xlsx")— only those two shapes are supported.open --out: <fs error>— destination file path is unwritable.
See also
crewship journal— filtered tailing/audit (--followfor live).crewship watch— top-level alias ofjournal --follow.crewship recall <query>— free-text search across the journal.