Files
cc-ci/BACKLOG-kuma.md
autonomic-bot 8da59cff22
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
feat(kuma): implement wizard+monitor Playwright test (tests/uptime-kuma/playwright/)
Phase kuma M1 impl: resolves the 2026-05-28 DEFERRED uptime-kuma create-a-monitor item.

Approach: Playwright (option b) — python-socketio not in cc-ci Nix env; Playwright
handles Socket.IO transparently via the real browser. Selectors confirmed in 2.2.1
compiled bundle (data-cy setup wizard + data-testid monitor form/status badge).

Test flow (test_monitor_wizard_and_probe):
1. Setup wizard: admin create via data-cy form → auto-login → /dashboard
2. Create self-probe monitor (https://{live_app}/) → wait ≤90s for "Up" badge
3. Heartbeat table row check: isFirstBeat=important, row has real datetime stamp
4. Negative: dead-port monitor (http://127.0.0.1:19999/dead) → wait ≤60s for "Down"

All waits are bounded poll with page.wait_for_function/wait_for_url/wait_for_selector.
Admin password: 64-char UUID hex, never printed/logged.

Also: DECISIONS.md records Playwright choice; phase state files bootstrapped.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 18:15:13 +00:00

956 B

BACKLOG — phase kuma (uptime-kuma create-a-monitor functional test)

Build backlog

DONE

  • Phase state files created (STATUS-kuma.md, BACKLOG-kuma.md, REVIEW-kuma.md, JOURNAL-kuma.md)
  • Approach decision: Playwright over python-socketio (recorded in DECISIONS.md)
  • Inspect uptime-kuma 2.2.1 source for exact DOM selectors
  • Implement tests/uptime-kuma/playwright/test_monitor_wizard.py

IN PROGRESS

  • Open recipe-maintainers/uptime-kuma PR and trigger !testme
  • Confirm drone run green (M1 acceptance)
  • Claim M1 gate

PENDING (after M1 Adversary PASS)

  • Second !testme run (flake check — 2 consecutive green)
  • Update PARITY.md (note the new playwright/ test)
  • Close DEFERRED.md entry "2026-05-28 — uptime-kuma create-a-monitor"
  • Claim M2 gate
  • Write ## DONE after M2 Adversary PASS

Adversary findings

(Adversary-owned — no items yet; populated as issues are found)