Files
SubMiner/backlog/tasks/task-82 - Add-end-to-end-smoke-suite-for-launcher-mpv-ipc-and-overlay-runtime.md

3.9 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
id title status assignee created_date updated_date labels dependencies priority
TASK-82 Add end-to-end smoke suite for launcher mpv ipc and overlay runtime In Progress
codex-task82-smoke-20260222T002523Z-3j7u
2026-02-18 11:43 2026-02-22 00:27
testing
e2e
launcher
mpv
TASK-74
high

Description

Current coverage is strong at unit/service level but thin on end-to-end behavior across launcher, mpv socket lifecycle, IPC wiring, and overlay runtime initialization. This task introduces an observable e2e smoke suite to reduce refactor risk.

Suggestions

  • Start with deterministic smoke flows, not full UI automation.
  • Use minimal fixtures and fakeable mpv socket harness where possible.
  • Treat this as release gate signal, with clear pass/fail logs.

Action Steps

  1. Define smoke scenarios:
    • launcher command branch sanity
    • mpv socket ready/not-ready handling
    • IPC channel registration + key command dispatch
    • overlay runtime bootstrap lifecycle
  2. Build test harness that can run headless in CI/local environments.
  3. Add stable fixtures/mocks for mpv and external tool boundaries.
  4. Produce concise logs/artifacts for failures.
  5. Integrate smoke suite into pre-release validation flow.
  6. Document smoke test usage and troubleshooting.

Acceptance Criteria

  • #1 E2E smoke suite exists and runs in automated workflow
  • #2 Core launcher/mpv/ipc/overlay startup scenarios are covered
  • #3 Failures produce actionable logs/artifacts
  • #4 Smoke suite documented in development/release docs

Implementation Plan

Plan-of-record (2026-02-22, codex-task82-smoke-20260222T002523Z-3j7u)

Goal

  • Add deterministic e2e smoke coverage for launcher -> mpv IPC socket -> app overlay start/stop runtime wiring.
  • Run suite in CI + release quality gates with actionable failure artifacts.
  • Document command, coverage, and release-checklist linkage.

Execution slices (parallel where safe)

  1. Launcher smoke harness (core implementation)

    • Create launcher/smoke.e2e.test.ts with fake mpv + fake app fixtures in temp dir.
    • Validate startup path, socket readiness, app --start args/env, and post-run --stop behavior.
    • Emit actionable artifact logs under .tmp/launcher-smoke/.
  2. Script + workflow wiring (can run in parallel after command exists)

    • package.json: add test:launcher:smoke:src and include in launcher lane.
    • .github/workflows/ci.yml: run launcher smoke suite and upload smoke artifacts on failure.
    • .github/workflows/release.yml: mirror quality-gate step and failure artifact upload.
  3. Docs wiring (parallel with workflows)

    • docs/development.md: command usage + what it validates + artifact path.
    • docs/installation.md: release/checklist reference to launcher smoke gate.
  4. Validation + closure

    • Run focused lane: bun run test:launcher:smoke:src and bun run test:launcher.
    • Run integration lane: bun run test:fast.
    • Run dist confidence lane: bun run build && bun run test:smoke:dist (or record unrelated blockers).
    • Update TASK-82 AC/DoD checks with exact evidence and final summary.

Scope guardrails

  • No commit/push in this run.
  • Keep smoke suite dependency-free (local fakes only).
  • If new required scope appears, pause and request user scope decision before expanding AC.

Implementation Notes

2026-02-22: Started execution with opencode-task82-smoke-20260222T002150Z-p5bp via writing-plans -> executing-plans workflow.

Definition of Done

  • #1 Smoke suite passes on baseline branch
  • #2 Release checklist references smoke suite