Skip to content

Full tgz-only E2E harness (scripts/e2e-full)#495

Draft
latekvo wants to merge 2 commits into
mainfrom
e2e-full-harness
Draft

Full tgz-only E2E harness (scripts/e2e-full)#495
latekvo wants to merge 2 commits into
mainfrom
e2e-full-harness

Conversation

@latekvo

@latekvo latekvo commented Jul 13, 2026

Copy link
Copy Markdown
Member

⚠️ I still need to take a closer look at this — I'm not certain how well it works. Opening as a draft for now; please don't treat it as ready.

What this is

A release-gating end-to-end harness under scripts/e2e-full/ that starts from only a swmansion-argent-*.tgz bundle and exercises the whole product: the install flow, every CLI command, all 70 tools' argument validation, and a happy-path run of every tool against real devices. Intended to be run on the real Linux box and the real Mac before a release.

Everything runs under a throwaway HOME + npm prefix, so it never touches the machine's real ~/.argent, editor MCP configs, or global packages (safe on a shared box). It emits a JSONL log + a markdown coverage report and exits non-zero if any hard assertion fails.

Phases

phase needs covers
install npm + network npm i -g <tgz>, bundled binaries, init (global + --local), update, uninstall, telemetry, MCP-config generation
introspection --version/--help, tools describe for all 70 tools, feature flags, server start/status/logs/stop, link/unlink
validation per tool: missing-required / bad-enum / bad-type rejection (schema-driven, no hardware)
android Android emulator happy-path of every touch/gesture/screenshot/app-lifecycle tool
chromium Electron (bundled optional dep) + a display boots a generated Electron app; drives CDP tools (scroll/drag/tabs/cookies/storage)
rn ~/dev/bluesky + Android device debugger + react/native profiler + network chain against the real Bluesky app

Tiers auto-skip with a recorded reason when prerequisites are missing. iOS / tvOS / Vega are intentionally out of scope for now.

What I actually verified (real runs, Linux)

  • install 18✓/0✗, introspection 85✓/0✗ (all 70 tools describe), validation 81✓/0✗, chromium 24✓/0✗ (real Electron app + CDP).
  • Holistic run: 190✓ / 0✗ / 34∼, exit 0. Failure-gate confirmed (non-zero on fail), bash -n clean on all files, all 72 android/rn JSON arg literals linted.

What I did NOT verify live (please scrutinize)

  • android and rn tiers were never run against a live device. The Android emulator would not stay up on my box (memory-constrained shared machine; QEMU threads hung seconds after boot across ~7 attempts). The code is complete and uses the same machinery the chromium tier exercised live, but it has not been proven end-to-end. This is the main reason for the "not certain how well it works" caveat.
  • The RN tier's exact debugger/profiler arg shapes are derived from tools describe, not confirmed against a running Metro.

Run it

bash scripts/e2e-full/run-e2e.sh                                   # everything applicable to this OS
bash scripts/e2e-full/run-e2e.sh --skip-install --phase introspection,validation   # fast offline core
bash scripts/e2e-full/run-e2e.sh --phase android --android-serial emulator-5554     # inject a device

latekvo added 2 commits July 13, 2026 16:06
Starts from only a swmansion-argent-*.tgz and exercises the install flow,
every CLI command, all 70 tools' argument validation, and a happy-path run of
every tool against real Android/Chromium targets plus the RN debugger/profiler
chain against Bluesky. Runs under a sandbox HOME + npm prefix; emits a JSONL
log and a markdown coverage report; exits non-zero on any failure.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant