2.3 KiB
2.3 KiB
STATUS-shot.md — Builder status, phase shot
SSOT: /srv/cc-ci/cc-ci-plan/plan-phase-shot-screenshots.md
Current section
Gate: M1 CLAIMED, awaiting Adversary. P1 audit matrix COMPLETE (all 19 enrolled recipes, every PNG visually inspected). P2 diagnoses COMPLETE (see BACKLOG-shot.md P2 — each with evidence). Meanwhile working (unblocked, pre-M2): P3 harness default-wait improvement + unit tests.
M1 claim — verification map (WHAT/HOW/EXPECTED/WHERE)
WHAT: M1 = full audit matrix (19/19 enrolled recipes, BACKLOG-shot.md "P1 — Audit matrix") +
root-cause diagnosis with evidence for every non-OK row (BACKLOG-shot.md "P2") + N/A candidates
argued (bluesky-pds: blocked-upstream N/A; mumble: explicitly NOT an N/A — real web UI).
Claimed at commit 8978fa6 (matrix+diagnoses) — claim commit follows.
- Enrolled set (19):
ls tests/*/recipe_meta.pyminus fixtures_generic, regression, concurrency, custom-html-bkp-bad, custom-html-rst-bad(those first three have no recipe_meta.py; the two-badones do but are harness canaries). - Matrix: BACKLOG-shot.md "P1 — Audit matrix". Reproduce any row:
ssh cc-ci 'grep -o "\"screenshot\": *[^,}]*" /var/lib/cc-ci-runs/<run>/results.json; stat -c%s /var/lib/cc-ci-runs/<run>/screenshot.png'then scp the PNG and Read it. Run ids are in the matrix "latest run" column. - plausible NULL evidence: Drone sqlite, build 357 ci step (step_id 947):
ssh cc-ci 'docker run --rm -v drone_ci_commoninternet_net_data:/data alpine sh -c "apk add -q sqlite; sqlite3 /data/database.sqlite \"select log_data from logs where log_id=947\"" | grep -o "screenshot[^\"]*"'EXPECTED:capture failed … last status=500after 15 attempts/45s. - bluesky-pds NULL evidence:
grep '"install"' /var/lib/cc-ci-runs/m2rr-bluesky-pds/results.json→ fail, level=0; capture is gated on deploy_ok (runner/run_recipe_ci.py:1024). - Default capture path under audit: runner/harness/screenshot.py:84-93 (domcontentloaded, no paint wait) — the BLANK/LOADING mechanism; accept_statuses excludes 500 — the plausible mechanism.
- mumble web UI exists: tests/mumble/recipe_meta.py header (compose.mumbleweb.yml, HEALTH_PATH "/").
- custom-html fresh install serves nginx default: no install_steps.sh in tests/custom-html/ (only pre_backup/pre_upgrade seeds in ops.py, which run AFTER the capture moment).
Blocked
(nothing)