You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The zero-argument launcher is now the first pane users see, so it needs to teach the same dmux/cockpit actions instead of spending the main area on decoration.
Constraint: Existing agent-selection and dry-run launch behavior must stay stable.
Rejected: Implement terminal-pane creation inside agents start | terminal pane runtime already belongs to gx cockpit and would widen this UI pass into session orchestration.
Confidence: high
Scope-risk: narrow
Directive: Keep cockpit-only actions as guidance here until terminal/project pane creation is wired through the cockpit runtime.
Tested: node --test test/agents-selection-panel.test.js test/agents-start-dry-run.test.js
Tested: node --check src/agents/selection-panel.js
Tested: openspec validate agent-codex-improve-gx-launcher-pane-management-ux-2026-04-30-12-02 --type change --strict
Tested: openspec validate --specs
Tested: git diff --check
Co-authored-by: NagyVikt <nagy.viktordp@gmail.com>
- The `gx` zero-argument launcher opens a terminal panel, but the right side was decorative and the visible `[t]erminal` / pane-management cues did not explain how they map to the existing dmux cockpit controls.
4
+
- Users need the launcher home to behave like a compact pane-management command surface: clear task entry, clear selected agent state, and visible dmux pane shortcuts without moving focus to a separate sidebar first.
5
+
6
+
## What Changes
7
+
8
+
- Replace the decorative launcher body with a bounded Pane Management shortcut map modeled on the existing `gx cockpit`/dmux commands.
9
+
- Clarify task-input mode versus launch/action mode so typing a task is not confused with terminal pane shortcuts.
10
+
- Add reducer coverage for `?`, terminal guidance, and `Alt+Shift+M` pane-menu guidance.
11
+
12
+
## Impact
13
+
14
+
- Affects only the terminal launcher render/reducer and focused tests.
15
+
- Does not create new terminal-pane runtime behavior; terminal and pane-management actions point users to the existing `gx cockpit` surface.
### Requirement: Launcher Home Pane Management Guidance
4
+
The interactive `gx` launcher home SHALL present a bounded pane-management shortcut map that mirrors the existing `gx cockpit`/dmux actions while preserving the agent selection workflow.
5
+
6
+
#### Scenario: Empty launcher home
7
+
-**WHEN**`gx agents start --panel --dry-run` is rendered without a task
8
+
-**THEN** the panel shows task-entry guidance
9
+
-**AND** the panel shows pane-management shortcuts including terminal, files, and `Alt+Shift+M` pane menu guidance
10
+
-**AND** no branch or worktree plan is emitted before a task exists.
11
+
12
+
#### Scenario: Shortcut help while entering a task
13
+
-**WHEN** the launcher is in task-entry mode
14
+
-**AND** the user presses `?`
15
+
-**THEN** the task text remains unchanged
16
+
-**AND** the launcher reports that the shortcut map is visible on the right.
17
+
18
+
#### Scenario: Cockpit-only pane actions
19
+
-**WHEN** the launcher is in agent-selection mode
20
+
-**AND** the user presses a cockpit-only pane action such as `t` or `Alt+Shift+M`
21
+
-**THEN** the launcher keeps the current selection state
22
+
-**AND** reports guidance that the action is available from `gx cockpit`.
This change is complete only when **all** of the following are true:
4
+
5
+
- Every checkbox below is checked.
6
+
- The agent branch reaches `MERGED` state on `origin` and the PR URL + state are recorded in the completion handoff.
7
+
- If any step blocks (test failure, conflict, ambiguous result), append a `BLOCKED:` line under section 4 explaining the blocker and **STOP**. Do not tick remaining cleanup boxes; do not silently skip the cleanup pipeline.
8
+
9
+
## Handoff
10
+
11
+
- Handoff: change=`agent-codex-improve-gx-launcher-pane-management-ux-2026-04-30-12-02`; branch=`agent/codex/improve-gx-launcher-pane-management-ux-2026-04-30-12-02`; scope=`TODO`; action=`continue this sandbox or finish cleanup after a usage-limit/manual takeover`.
12
+
- Copy prompt: Continue `agent-codex-improve-gx-launcher-pane-management-ux-2026-04-30-12-02` on branch `agent/codex/improve-gx-launcher-pane-management-ux-2026-04-30-12-02`. Work inside the existing sandbox, review `openspec/changes/agent-codex-improve-gx-launcher-pane-management-ux-2026-04-30-12-02/tasks.md`, continue from the current state instead of creating a new sandbox, and when the work is done run `gx branch finish --branch agent/codex/improve-gx-launcher-pane-management-ux-2026-04-30-12-02 --base main --via-pr --wait-for-merge --cleanup`.
13
+
14
+
## 1. Specification
15
+
16
+
-[x] 1.1 Finalize proposal scope and acceptance criteria for `agent-codex-improve-gx-launcher-pane-management-ux-2026-04-30-12-02`.
17
+
-[x] 1.2 Define normative requirements in `specs/agents-interactive-launcher/spec.md`.
18
+
19
+
## 2. Implementation
20
+
21
+
-[x] 2.1 Implement scoped behavior changes.
22
+
-[x] 2.2 Add/update focused regression coverage.
23
+
24
+
## 3. Verification
25
+
26
+
-[x] 3.1 Run targeted project verification commands.
-[x] 3.2 Run `openspec validate agent-codex-improve-gx-launcher-pane-management-ux-2026-04-30-12-02 --type change --strict`.
30
+
- Evidence: change is valid.
31
+
-[x] 3.3 Run `openspec validate --specs`.
32
+
- Evidence: command completed with `No items found to validate.`
33
+
34
+
## 4. Cleanup (mandatory; run before claiming completion)
35
+
36
+
-[ ] 4.1 Run the cleanup pipeline: `gx branch finish --branch agent/codex/improve-gx-launcher-pane-management-ux-2026-04-30-12-02 --base main --via-pr --wait-for-merge --cleanup`. This handles commit -> push -> PR create -> merge wait -> worktree prune in one invocation.
37
+
-[ ] 4.2 Record the PR URL and final merge state (`MERGED`) in the completion handoff.
38
+
-[ ] 4.3 Confirm the sandbox worktree is gone (`git worktree list` no longer shows the agent path; `git branch -a` shows no surviving local/remote refs for the branch).
0 commit comments