50 lines
4.4 KiB
Markdown
50 lines
4.4 KiB
Markdown
# Quick Pane v1 Test Plan and QA Checklist
|
||
|
||
## Automated coverage
|
||
|
||
### Settings
|
||
|
||
- Valid defaults load when no Quick Pane configuration exists.
|
||
- Valid configuration round-trips through native storage.
|
||
- Invalid workspace, model, prompt, and tool-call values show field errors and retain prior saved state.
|
||
- Quick model picker affects quick request only; follow-up model remains configured default.
|
||
|
||
### Runtime guardrails
|
||
|
||
- Quick runtime receives immutable advisory read-only/no-subagent prompt text plus supplemental prompt.
|
||
- Mutation, subagent, multi-step, and complex requests are instructed to preflight-escalate.
|
||
- Quick Pane has no time-based abort; configured tool-call guidance remains prompt-only.
|
||
- Full ordered user/assistant transcript remains visible for follow-ups. Each follow-up clears prior answer/partial-handoff state before model, thinking, or prompt submission.
|
||
- Reflected user messages are resolved by exact submitted raw-prompt mapping. Supplemental instructions and entered requests containing `\n\nUser request:` render only the exact entered multiline request; unknown Quick Pane advisory prompts are hidden and ordinary user text remains visible.
|
||
- Tests/documentation state current limitations: Pi RPC cannot trusted-enforce prompt policy or guarantee memory-only temporary sessions.
|
||
|
||
### UI and bridge
|
||
|
||
- Quick Pane opens/focuses through dedicated native command without changing normal `--new` or `--toggle` behavior.
|
||
- Workspace and quick-model picker values reach runtime creation.
|
||
- Permission and clarification extension requests remain visible inline and send correct response payloads; runtime errors do not erase partial transcript or pending extensions.
|
||
- `Esc` and **Close** hide without cleanup. Reopening an idle chat at or under three minutes preserves runtime, draft/catalog, and transcript; reopening after more than three minutes renews it.
|
||
- `Ctrl+N` prevents browser default, aborts active work when needed, retries queued cleanup, clears draft/transcript/raw-prompt mappings, and prepares a fresh runtime/catalog. Idle reset does not send an abort.
|
||
- Stale runtimes created by superseded preparation are queued after cleanup failure and retried before later stale-chat renewal.
|
||
- Quick Pane opens at 640×360 with a 520×360 native minimum. Content-driven native growth stops at 520px tall; transcript and model results scroll internally after that.
|
||
- Settings-startup and model-catalog errors show **Retry**. Catalog retry cleans up failed runtime before replacement preparation; model selection and Send stay disabled until ready.
|
||
- **Continue in full session** appears after first completed assistant answer with valid handoff settings, plus preserved request/runtime escalation notices. It never starts automatically. Handoff creates normal session with transcript-derived current-chat context, workspace, and follow-up model. Current answer extraction starts only after exact mapped submitted prompt in snapshot transcript; failed follow-ups with no current assistant message never reuse prior answer as partial findings.
|
||
|
||
## Manual smoke checklist
|
||
|
||
1. Configure default workspace, models, prompt, and tool-call guidance.
|
||
2. Add desktop/WM hotkey using Settings launch command.
|
||
3. From no running GUI process, invoke hotkey and verify Quick Pane opens/focuses.
|
||
4. Submit a short answer-only request; verify no time-based abort and visible manual **Continue in full session** after completion.
|
||
5. Submit read-only inspection request; answer any external-read permission prompt inline.
|
||
6. Submit mutation or multi-step request; verify reason and **Continue in full session**.
|
||
7. Continue; verify normal session receives handoff and follow-up model.
|
||
8. Close Quick Pane and reopen within three minutes; verify idle runtime, draft/catalog, and full transcript remain. Repeat after more than three idle minutes; verify fresh chat/runtime appears.
|
||
9. Press `Ctrl+N` while idle and active; verify fresh empty chat in both cases and active work aborts before replacement.
|
||
10. Verify pane opens at 640×360, grows only to 520px tall as transcript grows, then keeps transcript/model results scrolling internally.
|
||
11. Induce settings-startup or model-catalog failure; verify visible **Retry**, disabled model/Send controls until recovery, and successful retry. Verify empty catalog stays blocked without unsupported actions.
|
||
|
||
## Exit criteria
|
||
|
||
All targeted automated tests pass. Manual cold-launch/hotkey smoke completes. No regressions in normal sessions, `--toggle`, or `--new` behavior.
|