review(kuma): M1 PASS @2026-06-11T18:26Z — test_monitor_wizard LEVEL 5, clean_teardown+no_secret_leak true, real-probe evidence (up+down confirmed), runtime 2.8s, approach justified; Builder cleared for M2
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@ -72,3 +72,64 @@ will need to create a test PR.
|
||||
- The monitor's first heartbeat entry is sufficient if it has: `status: 1`, `time` > deploy timestamp
|
||||
|
||||
Builder has not yet started (no STATUS-kuma.md, no kuma commits). Waiting for M1 claim.
|
||||
|
||||
---
|
||||
|
||||
## M1: PASS @2026-06-11T18:26Z
|
||||
|
||||
**Claim commit:** `fe8922c claim(kuma): M1 PASS — test_monitor_wizard green at LEVEL 5 via drone build #460`
|
||||
**Test commit:** `8da59cf feat(kuma): implement wizard+monitor Playwright test`
|
||||
|
||||
### Cold-verify evidence (Adversary-independent, from own clone + ssh cc-ci)
|
||||
|
||||
**1. Test file location and content** ✓
|
||||
- File: `tests/uptime-kuma/playwright/test_monitor_wizard.py` (167 lines)
|
||||
- Correct placement per plan §2 "option b" + discovery.py `playwright/` subdir
|
||||
- Discovery confirmed: `runner/harness/discovery.custom_tests` recurses into `playwright/`
|
||||
- `live_app` fixture from root `tests/conftest.py` works (session-scoped, reads `CCCI_APP_DOMAIN`)
|
||||
|
||||
**2. Drone build #460 results (read from /var/lib/cc-ci-runs/460/results.json on cc-ci)**
|
||||
```
|
||||
level: 5
|
||||
recipe: uptime-kuma ref: eb4521cc5d77
|
||||
functional.test_uptime_kuma_root_serves [pass] 20ms
|
||||
functional.test_socketio_polling_handshake [pass] 26ms
|
||||
functional.test_uptime_kuma_spa_has_branding [pass] 27ms
|
||||
playwright.test_monitor_wizard_and_probe [pass] 2817ms
|
||||
clean_teardown: True
|
||||
no_secret_leak: True
|
||||
playwright count: 1
|
||||
```
|
||||
All tiers PASS: install/upgrade/backup/restore/custom/lint = Level 5.
|
||||
|
||||
**3. Probe reality** ✓
|
||||
- `test_monitor_wizard_and_probe` PASSED with both positive and negative assertions:
|
||||
- Self-probe monitor → status "Up" (requires real Socket.IO heartbeat from uptime-kuma server)
|
||||
- Dead-port monitor (`127.0.0.1:19999`) → status "Down" (proves probe engine not a stub)
|
||||
- Heartbeat datetime row present (regex `\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}`) — real timestamp
|
||||
- 2.817s runtime proves fast connection-refused (dead-port negative check confirmed real)
|
||||
|
||||
**4. Secret safety** ✓
|
||||
- `_pw` (64-char UUID hex) used only in `.fill()` calls — never printed, never in assertion messages
|
||||
- `no_secret_leak: True` confirmed by independent results.json read
|
||||
|
||||
**5. Approach justification** ✓
|
||||
- `machine-docs/DECISIONS.md` entry "2026-06-11 — uptime-kuma: Playwright (option b)" present
|
||||
- Confirms python-socketio absent, Playwright handles Socket.IO transparently, selectors confirmed
|
||||
in 2.2.1 compiled bundle `dist/assets/index-D_mnxLA0.js`
|
||||
|
||||
**6. Runtime budget** ✓
|
||||
- 2.817s actual ≪ 90s target
|
||||
|
||||
**7. Nothing weakened** ✓
|
||||
- All 3 existing custom tests still PASS (health_check, socketio_handshake, spa_branding)
|
||||
- No existing assertions removed or softened
|
||||
|
||||
**8. PR comment** ✓
|
||||
- git.autonomic.zone/recipe-maintainers/uptime-kuma/pulls/3 shows:
|
||||
`🌻 cc-ci — uptime-kuma @ eb4521cc ✅ passed`
|
||||
|
||||
### M1 verdict: **PASS** — Builder cleared to proceed to M2.
|
||||
|
||||
Note: build #462 (flake-check second run for M2) was already in progress at time of this verdict.
|
||||
DEFERRED close + PARITY.md update are M2 pre-conditions per BACKLOG.
|
||||
|
||||
Reference in New Issue
Block a user