From f68f1c56d92be9b1a07086106913e06874d0af02 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Wed, 17 Jun 2026 16:40:29 +0000 Subject: [PATCH] =?UTF-8?q?status(dash):=20##=20DONE=20=E2=80=94=20M1+M2?= =?UTF-8?q?=20fresh=20Adversary=20PASS=20(3595e80,=204c0b289),=20no=20VETO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per-recipe history now sources the full run list from local /var/lib/cc-ci-runs artifacts; deployed (image 11ac2a1e6c07, 1/1) + verified live: bluesky-pds 8 in exact host ts order, ghost 24/immich 28/discourse 25, plausible/custom-html capped 30 newest; overview+badges 200; traversal/injection rejected; retention no-trim. DoD plan §5 met. Co-Authored-By: Claude Opus 4.8 --- machine-docs/BACKLOG-dash.md | 2 +- machine-docs/STATUS-dash.md | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/machine-docs/BACKLOG-dash.md b/machine-docs/BACKLOG-dash.md index b7bfc6c..e6724b1 100644 --- a/machine-docs/BACKLOG-dash.md +++ b/machine-docs/BACKLOG-dash.md @@ -14,4 +14,4 @@ (`sha256sum dashboard/dashboard.py | cut -c1-12`). Then verify live on `/recipe/bluesky-pds` (8 runs) + ≥2 recipes, overview + badges still 200, deploy-dashboard active, host health after. - [x] M2: retention confirmed — no trim job; does not trim `/var/lib/cc-ci-runs` (record in DECISIONS if a cap needed). -- [ ] DONE: both gates Adversary-PASS in REVIEW-dash.md → write `## DONE` in STATUS-dash.md. +- [x] DONE: both gates Adversary-PASS in REVIEW-dash.md → write `## DONE` in STATUS-dash.md. diff --git a/machine-docs/STATUS-dash.md b/machine-docs/STATUS-dash.md index b80dcf5..b8b3db9 100644 --- a/machine-docs/STATUS-dash.md +++ b/machine-docs/STATUS-dash.md @@ -3,7 +3,20 @@ SSOT: /srv/cc-ci/cc-ci-plan/plan-phase-dash-recipe-history.md Gates: M1 (fix implemented + locally verified) · M2 (deployed + verified live) -## Gate: M1 CLAIMED, awaiting Adversary +## DONE + +Both gates fresh Adversary PASS in REVIEW-dash.md, no VETO: +- **M1 PASS** @2026-06-17T16:30Z (claim 3595e80, cold) — local-artifact history sourcing. +- **M2 PASS** @2026-06-17T16:40Z (claim 4c0b289, cold live) — deployed `cc-ci-dashboard:11ac2a1e6c07` + 1/1; live `/recipe/` shows full per-recipe history (bluesky-pds 8 in exact host ts order, + ghost 24, immich 28, discourse 25; plausible/custom-html capped 30 keeping newest); overview + + badges 200; live traversal/injection rejected; retention confirmed no-trim. + +DoD (plan §5) met: per-recipe history sources its run list from local `/var/lib/cc-ci-runs` artifacts, +shows the full display-capped history, deployed + verified live on bluesky-pds + ≥2 recipes, other +routes unaffected, dashboard stdlib-only + read-only, retention confirmed. + +## Gate: M1 PASS (84ac65f) **WHAT** — `history_for(recipe)` in `dashboard/dashboard.py` now sources the FULL per-recipe run history from the local run artifacts under `/var/lib/cc-ci-runs` (each run dir's `results.json`), @@ -62,7 +75,7 @@ runs out of view, so most recipes showed 1 run). Overview (`/`), `/badge/