claim(3 U1): app screenshot wired + captured — uptime-kuma working UI no-secrets, graceful degradation; gate CLAIMED

This commit is contained in:
autonomic-bot
2026-05-31 07:01:45 +00:00
parent 5fa15d4949
commit d7e812e96d
3 changed files with 96 additions and 8 deletions

View File

@ -14,13 +14,17 @@ Milestones U0U5 (plan §5); each ends with an Adversary gate. DoD items R1
flags) to the run-scoped artifact dir; assembly wrapped so it NEVER changes the verdict (R7).
- [x] U0.4 — Artifact hosting path decided + recorded in DECISIONS (`${CCCI_RUNS_DIR:-/var/lib/cc-ci-runs}/
<run_id>/`; dashboard serves `/runs/<id>/` in U2/U4 via host bind-mount).
- GATE U0: **CLAIMED 2026-05-31**real runs: custom-html-tiny=L2 (cap L3 N/A), uptime-kuma=L4 (cap L5 N/A).
- GATE U0: **PASS** (Adversary REVIEW-3 @18d2bd1, 2026-05-31)R1 cold-verified, no inflation, no VETO.
### U1 — App screenshot (R4)
- [ ] U1.1 — Harness captures a real Playwright screenshot of the deployed app while it is up
(post-login where the landing page needs it), secret-safe (never shoot a credentials page).
- [ ] U1.2 — Screenshot saved to the run artifact dir; degrades gracefully (no screenshot ≠ run fail).
- GATE U1: screenshot of a sample recipe shows the working UI, no secrets.
- [x] U1.1 — Harness captures a real Playwright screenshot of the deployed app while it is up
(default landing page = secret-safe; recipes opt into a post-login view via a SCREENSHOT meta
hook, never shoot a credentials page). Wired into run_recipe_ci.py post-healthy, pre-teardown.
- [x] U1.2 — Screenshot saved to run artifact dir (`screenshot.png`); results.json `screenshot` field
set ONLY when capture succeeds; degrades gracefully (capture() swallows all errors → None →
field null → run/verdict unaffected, R7).
- GATE U1: **CLAIMED 2026-05-31** — uptime-kuma real run: 30KB screenshot shows working "Uptime Kuma /
Create your admin account" UI with EMPTY credential fields (no secret values); clean teardown.
### U2 — Summary card + badge (R3, R6)
- [ ] U2.1 — HTML results-card template (recipe+version, level badge, per-stage/per-test ✔/✘ table,