crewship approvals
Manage the Harbormaster approval queue — list pending human-in-the-loop requests and decide them.Every subcommand requires
OWNER or ADMIN role server-side (403
otherwise) — including list and get, as of #2233. Before then the
read endpoints had no role floor and any workspace member could read the
full queue, including request payloads; the API reference’s
Approvals page has the endpoint-level detail.Subcommands
crewship approvals list
Sample output:
crewship approvals approve <id>
Sample output:
crewship approvals deny <id>
crewship approvals cancel <id>
Withdraw a still-pending request without approving or denying it. The request moves to the cancelled status. Use this when the gated action is no longer relevant (mission aborted, agent retired, duplicate request). Only pending requests can be cancelled — an already-decided or already-cancelled request returns a conflict.
Sample output:
crewship approvals get <id>
Fetch one approval request and render its full detail (kind, args, reason, decision metadata). The entry is workspace-scoped — IDs from other workspaces return 404.
id, status, kind, reason, crew_id, agent_id, mission_id, requested_by, decided_by, decided_at, decision_comment, timeout_at, routine_version when set, created_at) up top, then any extra keys verbatim so an evolving server payload still renders something useful. The names are the row’s own (see the API reference): the decision comment is decision_comment, not comment, and there is no updated_at.
crewship approvals reset-auto-tuning <tool>
Wipe the reward history used by Harbormaster gate auto-tuning for the given tool. Auto-tuning downgrades sync→async after 90%+ approvals and upgrades async→sync after 70%+ denials, over the last 20 decisions per tool+args shape. When that window gets skewed (e.g. automation approving on humans’ behalf for a stretch), reset to make the gate respect the configured mode again until humans re-train it naturally.
rows_deleted from gate_reward_history.