Add ad-test regression tool (Playwright headless ad-flow validator)

After 8148 ASG account recreation + spot rotation debug session,
formalize tooling for automated ad-pipeline regression checks.

- /home/w4/bin/ad-test — wrapper, available globally
- /home/w4/playwright-tests/ — Playwright + Chromium runtime
- scripts/ad-regression.mjs — versioned copy у репо

Per-URL checks (6):
  1. ad-bundle loaded (window._adConfig set)
  2. popunder SDK fetches
  3. /api/users/<vast_spot> returns <Ad> (catches no-fill)
  4. mode = "vast" after popunder cooldown active
  5. .asg-container injects on play click (right data-spot-id)
  6. console clean (no [ASGB LOADER] errors)

Headless limitation documented: network+DOM checks cover 95% of
regressions without need for full video playback validation.
Use `ad-test --full` or real browser w/ ?debug=1 for visual.

Memory: reference_ad_regression_tool.md added — auto-trigger rule
to run ad-test after spot ID changes / mirror swaps / bundle rebuild.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
goboss
2026-05-02 22:45:31 +00:00
parent 3d040eb668
commit c9890a32fe
4 changed files with 328 additions and 0 deletions

View File

@@ -37,6 +37,7 @@
| `trigger-bots [bot...]` | Auto-pull + signal новий task через `~/scripts/trigger_bot.sh` (flock + idle-wait + verify). Стандартний dispatch. Лог: `/tmp/trigger_bot.log`. |
| `restart-bots [bot...]` | kill+start+wait+trigger. Для зависів/нових проектів. |
| `deploy-admin-orest.sh` | (опціонально, інший проект) |
| `ad-test [url1 ...]` | Headless ad-flow regression test (Playwright + Chromium). 6 checks per URL. Default — 3 URLs з 8148. Деталі: [docs/ADS.md § Automated regression test](ADS.md#%EF%B8%8F-automated-regression-test--ad-test). |
## `~/scripts/` — bot communication