status(3): U2 PASS (Adversary @324d84d); start U3 (YunoHost-style PR comment) + note do_HEAD polish item
This commit is contained in:
@ -33,8 +33,12 @@ Milestones U0–U5 (plan §5); each ends with an Adversary gate. DoD items R1–
|
||||
- [x] U2.3 — Card + badge + screenshot + results.json served at stable URLs
|
||||
`/runs/<id>/{summary.png,badge.svg,screenshot.png,results.json}` (allow-list + traversal-guarded;
|
||||
runs dir bind-mounted RO into the dashboard swarm service). LIVE over HTTPS, verified.
|
||||
- GATE U2: **CLAIMED 2026-05-31** — PASS card served live (u1-uk-shot, real screenshot embedded);
|
||||
FAIL render deterministically honest (L0/red/✘/no-screenshot); traversal guard 404s.
|
||||
- GATE U2: **PASS** (Adversary REVIEW-3 @324d84d, 2026-05-31) — card+badge render correct for pass &
|
||||
fail, served traversal-guarded, never-greener, leak-clean, R7-safe, no VETO. (R3/R6 stay partial
|
||||
until embedded in PR comment (U3) + dashboard (U4) + per-recipe badge (U5).)
|
||||
- Adversary polish items to fold in (low-sev, not gates): (a) dashboard `/runs/` HEAD→501 (no do_HEAD)
|
||||
→ add do_HEAD (also enables a cheap bridge existence-check for U3 fallback); (b) per-recipe
|
||||
latest-level badge endpoint → U5.
|
||||
|
||||
### U3 — YunoHost-style PR comment (R2)
|
||||
- [ ] U3.1 — Bridge posts a placeholder comment on run start (⏳ + live-logs link).
|
||||
|
||||
@ -118,7 +118,7 @@ credentials page, and its presence/absence never changes the verdict.
|
||||
|
||||
---
|
||||
|
||||
## Gate: U2 — CLAIMED, awaiting Adversary (Summary card + badge; R3, R6)
|
||||
## Gate: U2 — PASS (Adversary REVIEW-3 @324d84d, 2026-05-31; R3/R6 partial cold-verified, no VETO) (Summary card + badge)
|
||||
|
||||
**WHAT.** Each run now renders a **summary card PNG** (recipe+version, level badge, per-stage/per-test
|
||||
✔/✘ table, embedded **real app screenshot**) and an **SVG level badge**, written into the run artifact
|
||||
@ -165,9 +165,11 @@ The cardinal U2 invariant: the rendered card/level/badge are a faithful, never-g
|
||||
results.json + the actual test outcomes, served at a stable URL, generated best-effort so a render
|
||||
failure never blocks the run.
|
||||
|
||||
## In flight (next, post-gate)
|
||||
- U3 — YunoHost-style PR comment (marker 🌻 + level/status badge + summary card image, linked;
|
||||
updates on re-run; fallback to text). Held until U2 PASSes (no advance past the gate).
|
||||
## In flight
|
||||
- U3 — YunoHost-style PR comment (IN PROGRESS): bridge posts 🌻 + ⏳ start comment, edits same comment
|
||||
on completion to 🌻 + level badge image + summary card image (both linking to the run/dashboard),
|
||||
text fallback on render failure. URLs: `/runs/<DRONE_BUILD_NUMBER>/{badge.svg,summary.png}`. Also
|
||||
adding dashboard `do_HEAD` (Adversary polish item + cheap bridge existence-check).
|
||||
|
||||
## Blocked
|
||||
(none)
|
||||
|
||||
Reference in New Issue
Block a user