Files
kandev/docs/plans/acp-shell-command-output/task-04-e2e-and-verification.md
T
2026-08-24 11:09:03 +00:00

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
02-acp-live-updates
03-frontend-command-row
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.ts only if a small reusable command-row helper is justified
  • docs/specs/ui/requirements/acp-shell-command-output.md only if implementation reveals a contract correction
  • docs/plans/acp-shell-command-output/plan.md

Dependencies

Tasks 02 and 03.

Inputs

  • All spec scenarios.
  • Existing seedSessionMessage pattern in mobile-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, and make lint commands 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.