claim(M1): per-recipe history sourced from local /var/lib/cc-ci-runs artifacts (full history, not Drone 100-build slice)
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
history_for() now enumerates run dirs' results.json, groups by recipe, sorts newest-first by finished timestamp (mixed numeric+named ids — timestamp is the only correct key), caps at HISTORY_CAP=30, skips malformed/empty/no-recipe dirs. Overview + badges + /runs + security guards + stdlib-only unchanged. Local verify: 13/13 unit tests; full-fixture vs 308 real results.json → bluesky-pds=8 in exact ts order, plausible capped 30 newest, edge dirs skipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
14
machine-docs/BACKLOG-dash.md
Normal file
14
machine-docs/BACKLOG-dash.md
Normal file
@ -0,0 +1,14 @@
|
||||
# BACKLOG — phase `dash`
|
||||
|
||||
## Build backlog
|
||||
|
||||
- [x] Root-cause confirmed (Drone 100-build window) + host artifact schema inspected.
|
||||
- [x] M1: rewrite `history_for` to source from `/var/lib/cc-ci-runs` local artifacts, newest-first by
|
||||
`finished`, capped at HISTORY_CAP, malformed/empty dirs skipped, security/other routes unchanged.
|
||||
- [x] M1: unit test for local sourcing (count/order/cap/skip) + full-fixture verify vs real data.
|
||||
- [ ] M1: awaiting Adversary PASS in REVIEW-dash.md.
|
||||
- [ ] M2: deploy (rebuild dashboard image via deploy-dashboard reconcile / nixos-rebuild; content-hash
|
||||
tag rolls on dashboard.py change), verify live on `/recipe/bluesky-pds` + ≥2 recipes, overview +
|
||||
badges still 200, host health after.
|
||||
- [ ] M2: confirm retention 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.
|
||||
Reference in New Issue
Block a user