agent-orchestrator/backend/internal/cli
Harshit Singh Bhandari 7c4a77d7cc
feat(spawn): add required --name flag for sidebar display name (#2302)
* feat(spawn): add required --name flag for sidebar display name

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(spawn): require --name for sidebar label; cap at 20 chars

Add a required --name flag to `ao spawn` that sets the session's
sidebar display name. The CLI rejects a missing or >20-character name
before contacting the daemon.

The daemon's POST /sessions keeps displayName optional (the desktop
new-task dialog omits it and the read model falls back to the session
id) but enforces the same 20-character cap when present, so a direct
API call cannot exceed it. The value flows CLI -> SpawnSessionRequest
-> SpawnConfig -> session record, and the existing read-model fallback
(displayName ?? issueId ?? id) renders it in the sidebar unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 16:26:48 +05:30
..
client.go Zellij to tmux + ConPTY runtime, session save/restore, crash-proof reconcile (port #404) (#2183) 2026-06-25 15:05:41 +05:30
client_test.go Add `ao spawn` + `ao project add` (spawn a real worker end-to-end) (#77) 2026-06-02 18:39:13 +05:30
completion.go fix(cli): harden daemon control surface and stop CLI from writing the store 2026-06-01 01:55:14 +05:30
doctor.go fix(spawn): fail fast when tmux is missing (#2259) 2026-06-30 00:14:46 +05:30
doctor_test.go fix(spawn): fail fast when tmux is missing (#2259) 2026-06-30 00:14:46 +05:30
dto_drift_e2e_test.go feat(spawn): add required --name flag for sidebar display name (#2302) 2026-06-30 16:26:48 +05:30
e2e_test.go feat(cli): ao start fetches + opens the desktop app; deprecate npm as an app channel (Track A) (#2201) 2026-06-26 19:31:56 +05:30
exitcode_test.go test(cli): pin ExitCode mapping (usage=2, runtime=1, nil=0) 2026-06-01 02:38:25 +05:30
hooks.go fix(codex): reliable activity signals — session-flag hooks, trust bypass, no_signal watchdog (#170) 2026-06-11 10:36:45 +05:30
hooks_test.go fix(codex): reliable activity signals — session-flag hooks, trust bypass, no_signal watchdog (#170) 2026-06-11 10:36:45 +05:30
import.go feat: dashboard legacy-migration popup + app-state migration marker (#2219) 2026-06-27 02:24:36 +05:30
import_test.go feat(import): rewrite-side legacy → rewrite first-boot import (#314) 2026-06-18 19:54:51 +05:30
launch.go feat(windows): ConPTY terminal, zellij discovery, agent launcher trampoline, codex shim resolution (#310) 2026-06-18 21:51:05 +05:30
orchestrator.go feat: add light backend CLI commands (#98) 2026-06-03 16:18:00 +05:30
orchestrator_test.go feat: add light backend CLI commands (#98) 2026-06-03 16:18:00 +05:30
output.go feat(backend): add cobra cli foundation 2026-06-01 01:44:43 +05:30
pr_ref.go feat: ao session claim-pr + spawn --claim-pr wiring (#101) 2026-06-06 00:01:03 +05:30
preview.go feat(cli): add examples to ao preview --help (#388) 2026-06-23 01:28:06 +05:30
preview_test.go feat(cli): add examples to ao preview --help (#388) 2026-06-23 01:28:06 +05:30
process.go refactor: simplify session lifecycle and zellij runtime (#62) 2026-06-01 08:42:49 +05:30
process_unix.go refactor: simplify session lifecycle and zellij runtime (#62) 2026-06-01 08:42:49 +05:30
process_windows.go refactor: simplify session lifecycle and zellij runtime (#62) 2026-06-01 08:42:49 +05:30
project.go feat: require explicit project agents (#355) 2026-06-21 06:07:53 +05:30
project_test.go feat: require explicit project agents (#355) 2026-06-21 06:07:53 +05:30
ptyhost.go Zellij to tmux + ConPTY runtime, session save/restore, crash-proof reconcile (port #404) (#2183) 2026-06-25 15:05:41 +05:30
review.go feat: show multi-PR review status (#2193) 2026-06-29 18:20:28 +05:30
review_test.go feat: show multi-PR review status (#2193) 2026-06-29 18:20:28 +05:30
root.go fix: hide backend subprocess windows on Windows (#2179) 2026-06-25 16:21:18 +05:30
root_test.go feat(cli): ao start fetches + opens the desktop app; deprecate npm as an app channel (Track A) (#2201) 2026-06-26 19:31:56 +05:30
send.go fix: prefix ao send messages with sender session (#85) 2026-06-02 21:39:21 +05:30
send_test.go fix: prefix ao send messages with sender session (#85) 2026-06-02 21:39:21 +05:30
session.go fix(sessions): stop AO hook files from making every worktree permanently dirty (#169) 2026-06-11 11:06:45 +05:30
session_test.go Feat/backend telemetry v0 (#307) 2026-06-18 22:00:25 +05:30
spawn.go feat(spawn): add required --name flag for sidebar display name (#2302) 2026-06-30 16:26:48 +05:30
spawn_test.go feat(spawn): add required --name flag for sidebar display name (#2302) 2026-06-30 16:26:48 +05:30
start.go feat: Global Settings (migration + update channel) + ao start download progress (#2235) 2026-06-27 23:08:55 +05:30
start_test.go feat: Global Settings (migration + update channel) + ao start download progress (#2235) 2026-06-27 23:08:55 +05:30
status.go fix: recover terminal reattach after daemon idle (#354) 2026-06-21 13:59:15 +05:30
stop.go fix(cli): treat run-file removal as stopped in ao stop (#2215) 2026-06-27 20:24:02 +05:30
stop_test.go fix(cli): treat run-file removal as stopped in ao stop (#2215) 2026-06-27 20:24:02 +05:30
version.go refactor: simplify session lifecycle and zellij runtime (#62) 2026-06-01 08:42:49 +05:30