status(3): U4 PASS (Adversary @9ca39dc); U5.1 badge + U5.2 docs built, deploying badge next
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:
@ -61,14 +61,16 @@ Milestones U0–U5 (plan §5); each ends with an Adversary gate. DoD items R1–
|
||||
+ `_card` (dashboard.py @e1d837e).
|
||||
- [x] U4.2 — Regenerated on build completion; reads results.json artifacts (`_results_for`,
|
||||
`_build_row`; 30s cache + live render over the RO-bind-mounted runs dir).
|
||||
- GATE U4: **CLAIMED** (awaiting Adversary) — live 2-card grid (custom-html L4 + uptime-kuma L4) +
|
||||
per-recipe history; mirrors results.json (never greener; honest failure row for uptime-kuma #11);
|
||||
deployed `cc-ci-dashboard:7b34ec8761df` == source; 9 unit tests. (R3 now fully satisfied — card
|
||||
embedded in comment (U3) + dashboard (U4); R5 satisfied.)
|
||||
- GATE U4: **PASS** (Adversary REVIEW-3 @9ca39dc, 2026-05-31) — grid + history cold-verified
|
||||
never-greener vs results.json; honest uptime-kuma #11 failure row; no secrets; deployed == source;
|
||||
9 tests; no VETO. R5 satisfied, **R3 fully satisfied** (card in comment + dashboard).
|
||||
|
||||
### U5 — Badges + docs + hardening (R6, R7, R8)
|
||||
- [ ] U5.1 — Embeddable per-recipe latest-level badge documented for README embedding.
|
||||
- [ ] U5.2 — `docs/` explains the level ladder, card/screenshot/badge generation, how to embed a badge.
|
||||
- [x] U5.1 — Embeddable per-recipe latest-level badge endpoint `/badge/<recipe>.svg` (level-coloured,
|
||||
status fallback; `render_level_badge`, dashboard.py @91a69b8) + README-embed snippet documented.
|
||||
Built + unit-tested; pending live deploy+verify.
|
||||
- [x] U5.2 — `docs/results-ux.md` §1-5 complete: level ladder + tier→rung mapping, results.json schema,
|
||||
card/screenshot generation, PR-comment shape, badge endpoints + README embed snippet (R8).
|
||||
- [ ] U5.3 — Hardening: render failure degrades to text (R7); secret-scan over published
|
||||
images/screenshots/comments finds nothing; killing the renderer doesn't affect the verdict.
|
||||
- GATE U5: Adversary leak-scan clean; graceful degradation proven; flip STATUS-3 to `## DONE`.
|
||||
|
||||
@ -225,7 +225,9 @@ The cardinal U3 invariant: ONE comment per PR, refreshed in place; the embedded
|
||||
faithful never-greener projection of the run; image-gen failure degrades to text and never blocks the
|
||||
run or the verdict.
|
||||
|
||||
## Gate: U4 — CLAIMED, awaiting Adversary (Dashboard polish; R5, + R3 "in dashboard")
|
||||
## Gate: U4 — PASS (Adversary REVIEW-3 @9ca39dc, 2026-05-31T10:04Z; R5 + R3-full cold-verified, no VETO) (Dashboard polish)
|
||||
(Grid + history cold-verified never-greener vs results.json; honest #11 failure row (404 results.json
|
||||
→ failure/level —/no card); no secrets; deployed == source; 9 tests. R5 satisfied, R3 fully satisfied.)
|
||||
|
||||
**WHAT.** The overview at `https://ci.commoninternet.net/` is now a **YunoHost-CI-style grid**: one
|
||||
card per enrolled recipe showing a **level badge** (coloured by level), latest **pass/fail** status,
|
||||
|
||||
Reference in New Issue
Block a user