2.9 KiB
2.9 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | ||
|---|---|---|---|---|---|---|---|---|
| 04-e2e-and-verification | Command output E2E verification | done | 3 |
|
plan.md | ../../specs/ui/requirements/acp-shell-command-output.md |
Task 04: Command Output E2E Verification
Acceptance
- Desktop E2E proves persisted success, failure, and unknown-exit command rows expand to the expected output and exact exit labels.
- Mobile E2E proves wrapped/truncated output and exit status remain readable without overlap or page-level horizontal overflow.
- Targeted E2E, backend tests/lint, frontend tests/typecheck/lint, and formatting complete successfully, with failures reported rather than hidden.
Verification
make -C apps/backend fmt
(cd apps/backend && go test ./internal/agentctl/server/adapter/transport/acp)
(cd apps && pnpm --filter @kandev/web test -- components/task/chat/messages/tool-execute-message.test.tsx)
(cd apps/web && pnpm run typecheck)
(cd apps && pnpm --filter @kandev/web lint)
(cd apps/web && pnpm e2e:run --project chromium tests/chat/tool-execute-output.spec.ts)
(cd apps/web && pnpm e2e:run --no-build --project mobile-chrome tests/chat/mobile-tool-execute-output.spec.ts)
make -C apps/backend test
make -C apps/backend lint
make fmt
make typecheck
make test
make lint
Files likely touched
apps/web/e2e/tests/chat/tool-execute-output.spec.ts(new)apps/web/e2e/tests/chat/mobile-tool-execute-output.spec.ts(new)apps/web/e2e/pages/session-page.tsonly if a small reusable command-row helper is justifieddocs/specs/ui/requirements/acp-shell-command-output.mdonly if implementation reveals a contract correctiondocs/plans/acp-shell-command-output/plan.md
Dependencies
Tasks 02 and 03.
Inputs
- All spec scenarios.
- Existing
seedSessionMessagepattern inmobile-repeated-tool-activity.spec.ts. - Existing desktop/mobile Playwright projects and active-chat scoping in
SessionPage.
Output contract
Report exact commands and pass/fail results, desktop/mobile projects exercised, failure artifact paths, files changed, blockers, and residual risks. Set this task to done, update plan.md, and change the spec to shipped only when all acceptance criteria pass.
Completion Report
- Desktop Chromium covered success, failure, unknown exit, transcript expansion, and exact labels; mobile Chrome (Pixel 5) covered wrapping, truncation, exit readability, and horizontal overflow.
- The repository-root
make fmt,make typecheck,make test, andmake lintcommands passed, along with generated web metadata, the production Vite build, and both targeted Playwright projects. - Added the desktop/mobile chat specs and updated the plan, task reports, feature spec index, and ADR index. No failure artifacts or blockers remain.
- Residual risk is limited to new provider wire shapes and provider-side output omitted before ACP delivery.