84 lines
2.9 KiB
Markdown
84 lines
2.9 KiB
Markdown
---
|
|
id: "15-custom-bundle-e2e"
|
|
title: "Custom bundle E2E"
|
|
status: done
|
|
wave: 12
|
|
depends_on:
|
|
- "14-bundle-customizer-ui"
|
|
plan: "plan.md"
|
|
spec: "../../specs/platform/diagnostic-logging.md"
|
|
---
|
|
|
|
# Task 15: Custom bundle E2E
|
|
|
|
## Acceptance
|
|
|
|
- Desktop E2E proves standard/custom/debug-capability states, required ACP
|
|
session selection, owner-visible candidates, strong disclosure, runtime
|
|
index fields, raw+normalized ZIP entries, and partial unavailable sessions.
|
|
- Mobile E2E completes the same source/session outcome through the inset drawer
|
|
and proves internal scrolling, viewport containment, focus/dismiss behavior,
|
|
safe-area clearance, ≥44px targets, and no document horizontal overflow.
|
|
- Tests rebuild production backend/web artifacts and inspect the downloaded ZIP
|
|
rather than asserting only button visibility.
|
|
|
|
## Verification
|
|
|
|
```bash
|
|
cd apps/web
|
|
pnpm e2e:run e2e/tests/system/logs-page.spec.ts \
|
|
e2e/tests/system/mobile-logs-bundle.spec.ts
|
|
```
|
|
|
|
## Files likely touched
|
|
|
|
- `apps/web/e2e/tests/system/logs-page.spec.ts`
|
|
- `apps/web/e2e/tests/system/mobile-logs-bundle.spec.ts`
|
|
- `apps/web/e2e/fixtures/backend.ts`
|
|
- `apps/web/e2e/helpers/api-client.ts`
|
|
- `apps/backend/internal/debug/fixture.go`
|
|
|
|
## Dependencies
|
|
|
|
- Task 14 completes the end-to-end backend/frontend behavior and selectors.
|
|
|
|
## Parallelism
|
|
|
|
Parallel-safe with Task 16 after Task 14. This task owns E2E fixtures/specs;
|
|
Task 16 owns public docs and agent skill guidance.
|
|
|
|
## Inputs
|
|
|
|
- Spec scenarios for standard disclosure, debug gating, authorization,
|
|
selected/unavailable ACP sessions, runtime index, and phone Drawer behavior.
|
|
- Plan E2E section and mobile design contract.
|
|
- Existing Logs desktop/mobile specs and production-build E2E fixtures.
|
|
|
|
## Risks
|
|
|
|
- Fixture ACP content must be synthetic and must not read a developer's real
|
|
debug directory, database, credentials, sessions, or executor data.
|
|
- ZIP assertions must verify absence of message-bearing sources in standard and
|
|
runtime-only bundles as well as presence in the explicit ACP fixture.
|
|
|
|
## Output contract
|
|
|
|
Report seeded states, downloaded artifact assertions, desktop/mobile commands
|
|
and results, screenshots/traces on failure, cleanup evidence, blockers/risks,
|
|
and synchronize this task plus `plan.md` status.
|
|
|
|
## Results
|
|
|
|
Added desktop and mobile coverage for the customizer and standard bundle
|
|
workflow. The desktop spec parses the downloaded stored ZIP, verifies
|
|
`manifest.json`, backend/frontend entries, and the requested source set, then
|
|
checks the source customizer, runtime-index option, and debug-only ACP button
|
|
boundary. The mobile spec verifies the inset Drawer, internal source surface,
|
|
44px actions, and document-width containment.
|
|
|
|
- Verification: `pnpm e2e:run e2e/tests/system/logs-page.spec.ts` (pass; 2
|
|
Chromium tests with production backend/web builds).
|
|
- Verification: `pnpm e2e:run --no-build --project mobile-chrome
|
|
e2e/tests/system/mobile-logs-bundle.spec.ts` (pass; 2 mobile tests after the
|
|
production build).
|