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
Copy file name to clipboardExpand all lines: doc/release-check-list.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,8 +134,8 @@ Net effect: UT shrinks the manual matrix to "did the wiring and UI connect", not
134
134
-[ ]`C054``[E2E]`**Different positions work:** Open/hide/focus works for bottom, right, left, and top pane positions.
135
135
-[ ]`C252``[new]``[E2E]`**Agent pane move is isolated per tab and preserves input focus:**`/move` changes only the current tab's runtime pane position, leaves the global setting and sibling tabs unchanged, and returns keyboard focus to the moved agent input. _(#429; E2E: `Feature.AgentPaneMove`.)_
136
136
-[ ]`C055``[E2E]`**Stash preserves chat:** Hiding and restoring the pane preserves helper process, connection state, and chat history.
137
-
-[ ]`C056``[E2E]`**Tab close cleans up:** Closing the owning tab cleans up the helper and does not leave a broken pane.
138
-
-[ ]`C247``[new]``[E2E]`**Closing a tab mid-turn leaves sibling agent tabs working:** When one tab closes with a prompt in flight, its orphaned result is discarded without terminating the shared agent CLI, and another tab can continue chatting without a restart. _(#419/#425; E2E: `Feature.SharedAgentLifecycle`.)_
137
+
-[ ]`C056``[E2E]`**Tab close cleans up:** Closing the owning tab physically closes its ACP session, cleans up the helper, and does not leave a broken pane.
138
+
-[ ]`C247``[new]``[E2E]`**Closing a tab mid-turn leaves sibling agent tabs working:** When one tab closes with a prompt in flight, only its ACP session is closed; the shared agent CLI remains alive and another tab can continue chatting without a restart. _(#419/#425; E2E: `Feature.SharedAgentLifecycle`.)_
139
139
-[ ]`C215``[new]``[E2E]`**Agent panes are not persisted into saved layout:** Saving and restoring a window layout does not resurrect a previously-open agent pane; restored windows come back without an unexpected agent pane. _(#360/#275.)_
140
140
141
141
### Built-in agent chat matrix
@@ -155,7 +155,10 @@ Net effect: UT shrinks the manual matrix to "did the wiring and UI connect", not
155
155
-[ ]`C062``[E2E]`**Prompt focused appearance is correct:** Input box looks correct when focused.
156
156
-[x]`C063``[UT✓]``[E2E]`**Prompt out-of-focus appearance is correct:** Input box looks correct when focus leaves the agent pane. _(UT: `render_input_box_intact_when_pane_unfocused` renders with `pane_focused=false` and asserts the input box stays intact — prompt marker + connection placeholder still paint, not blanked/broken; only the caret style dims, input.rs:69/90.)_
157
157
-[ ]`C064``[E2E]`**Typing works:** User can type, edit, and submit prompt text correctly.
158
-
-[ ]`C065``[E2E]`**Paste works:** Pasted multi-line text is handled correctly.
158
+
-[ ]`C065``[E2E]`**Paste works:** Pasted multiline text remains in one agent draft without submitting. _(UT: `agent_paste_text_*`; E2E: `Feature.Paste`.)_
159
+
-[ ]`C266``[new]``[E2E]`**Ctrl+V pastes into the agent input:** Ctrl+V invokes the structured paste path and inserts clipboard text exactly once instead of typing a literal `v`; Ctrl+Shift+V remains a positive control. _(E2E: `Feature.Paste`.)_
160
+
-[ ]`C267``[new]``[E2E]`**Ctrl+V paste survives input refocus:** After a physical completed-turn interaction and input-dialog click, Ctrl+V pastes into the visible draft. _(E2E: `Feature.Paste``PasteRefocus`.)_
161
+
-[ ]`C268``[new]``[E2E]`**Ctrl+V paste stays isolated to its owner tab:** Pasting into one focused agent input does not mutate a sibling tab's agent draft. _(UT: `agent_paste_text_ignores_wrong_window_and_non_owner_helpers`; E2E: `Feature.Paste``PasteOwnerIsolation`.)_
159
162
-[ ]`C234``[new]``[E2E]`**Prompt history recall works:** Up/Down recalls submitted prompts from newest to oldest and moves back toward newer entries. _(#478/#479; E2E: `Feature.PromptHistory`.)_
160
163
-[ ]`C235``[new]``[E2E]`**Prompt history preserves drafts and multiline prompts:** Reviewing history keeps each multiline prompt intact and restores the current unsent draft afterward. _(#478/#479; E2E: `Feature.PromptHistory`.)_
161
164
-[ ]`C236``[new]``[E2E]`**Prompt history is isolated per tab:** Each agent tab recalls only prompts submitted in that tab. _(#478/#479; E2E: `Feature.PromptHistory`.)_
@@ -164,6 +167,8 @@ Net effect: UT shrinks the manual matrix to "did the wiring and UI connect", not
164
167
- [ ] `C264` `[new]` `[UT✓]` `[E2E]` **Completed turns toggle and select from rendered prompt targets:** A left-button Down/Up anywhere on the same visible prompt row, including its triangle, prefix, text, explicit blank row, or unused row-end space, collapses or expands only that turn and reuses the keyboard selection, highlight, navigation, Esc, and Enter behavior. Hover uses only a hand cursor: action metadata must not add hyperlink underline or tooltip text. Details, separators, drags, overlays, tab changes, scrolling, and stale/offscreen rows do not toggle; clicking the live input dialog clears the history selection and restores draft input. Multiline, wrapped, wide-cell, and double/triple-click paths preserve their expected geometry and text-selection behavior. _(UT: `clicking_multiline_completed_turn_prompt_selects_and_reuses_enter_toggle`, `completed_turn_user_input_hit_spans_full_row_with_wide_cells`, `completed_turn_prompt_rows_expose_state_aware_action_links`, `overlay_preserves_full_rows_and_cell_styles`, `CompletedTurnActionHyperlinksSuppressUnderlines`, `clicking_input_dialog_restores_input_navigation_after_mouse_turn_selection`, `completed_turn_user_input_multi_click_preserves_turn_state_and_text_selection`, `completed_turn_mouse_selection_continues_with_keyboard_navigation`, `completed_turn_triangle_click_ignores_text_drag_and_hidden_chat`, `completed_turn_triangle_hits_follow_visible_scrolled_turns`, `completed_turn_prompt_hits_survive_a_clipped_header_row`; E2E: `Feature.AgentMouse` `CompletedTurnMouse` / `CompletedTurnPromptMouse`; hand cursor and absence of action underline manually verified on the exact deployed Dev build.)_
165
168
-[ ]`C242``[new]``[UT✓]``[E2E]`**Mouse wheel scrolls chat without changing the draft:** Wheel input scrolls the chat viewport while Up/Down remain prompt-history controls and the unsent draft stays intact. _(UT: `mouse_wheel_scrolls_chat_without_changing_input_history`; #506; E2E: `Feature.AgentMouse`.)_
166
169
-[ ]`C243``[new]``[UT✓]``[E2E]`**Mouse selection copies text and clears after copy:** Double-click selection survives release, `Ctrl+C` copies the exact selected text with confirmation instead of canceling/closing the pane, and the selection is then cleared. _(UT: `mouse_release_does_not_return_text_for_automatic_copy`, `clearing_selection_resets_multi_click_sequence`; #506; E2E: `Feature.AgentMouse`.)_
170
+
-[ ]`C265``[new]``[UT✓]``[E2E]`**Right-click copies the agent text selection:** A physical right-click copies the exact WTA-owned selection through the OS clipboard, clears it, shows the existing copied confirmation, and never also pastes; the next right-click follows the no-selection Default Paste path without replaying selected text. _(UT: `right_click_copy_event_is_forwarded`, `right_click_copies_and_clears_text_selection`; E2E: `Feature.AgentMouse``RightClickCopy`.)_
171
+
-[ ]`C269``[new]``[UT✓]``[E2E]`**Right-click without text selection pastes throughout the Chat pane:** A physical right-click on history, input, blank space, or a completed-turn navigation highlight requests Default Paste exactly once into the visible owner draft without submitting; only an actual WTA text selection takes copy precedence. _(UT: `right_click_without_text_selection_requests_owner_default_paste`, `default_paste_request_is_chat_only`; E2E: `Feature.AgentMouse``RightClickPaste`.)_
167
172
-[ ]`C218``[new]``[UT✓]``[E2E]`**Image paste (Alt+V) works:** A copied screenshot (`CF_DIB`/`CF_DIBV5`) appears as a uniquely numbered cyan inline token such as `[image: image-1.png]`; copied image files retain their real file name. The attachment is sent as an ACP image content block on the next prompt. Left/Right cross the token atomically, Backspace/Delete remove the whole token and attachment, and Esc/Ctrl+C clear the whole draft. The action is gated on the agent advertising image support. When the agent does not support images, or the clipboard has no image, it does not paste but surfaces a clear system message rather than silently ignoring the keypress. _(UT: `clipboard_image`, `image_attachment_*`, and `mock_agent_tests``seen_images` side-channel; #354.)_
168
173
-[ ]`C254``[new]``[UT✓]``[E2E]`**Image attachment tokens edit atomically:** Left/Right cross an inline image token as one input unit, and Backspace removes the complete attachment without damaging adjacent prompt text. _(UT: `image_attachment_left_and_right_skip_the_whole_inline_token`, `image_attachment_backspace_in_text_preserves_images`; #536; E2E: `Feature.AgentImageAttachmentEditing`.)_
@@ -352,6 +357,7 @@ Net effect: UT shrinks the manual matrix to "did the wiring and UI connect", not
352
357
-[x]`C166``[UT✓]``[E2E]`**Multiple windows do not cross-route:** Events from one window do not mutate another window's agent pane/session UI. _(UT: `wt_event_critical_from_other_tab_does_not_surface_in_owner_tab` — a helper owning tab A DROPS a connection-failure event broadcast from tab B (no banner, no chat, no notification), the exact cross-route isolation contract; helpers filter inbound events by window_id + owner_tab_id.)_
353
358
-[ ]`C167``[E2E]`**Close source window is safe:** Closing a source window after moving a tab does not kill the moved tab's agent state.
354
359
-[ ]`C168``[E2E]`**Close target tab cleans up:** Closing moved tabs cleans up helper/session state without affecting other tabs.
360
+
-[ ]`C275``[E2E]`**Move tab back to source window preserves the same ACP session:** Redocking an agent tab keeps its helper, chat, and ACP session alive and does not emit session teardown.
355
361
356
362
## 8. Agent hooks and session tracking
357
363
@@ -439,4 +445,4 @@ Net effect: UT shrinks the manual matrix to "did the wiring and UI connect", not
439
445
- Slash commands: `tools\wta\src\commands.rs`.
440
446
- Session state model: `tools\wta\src\agent_sessions.rs`, `tools\wta\AGENTS.md`.
0 commit comments