phase: 21_page_cleanups
**Phase 21 final verification pass** (all 3 task files already in `complete/`, working tree carries the implementation)
- **Verified** task 01: `#pause`/`Space`/`setPaused`/`_paused` gone — `grep -ri pause src/dashboards/web/` empty, 0 pause hits in all 8 served pages + 10 static assets; re-ran `data/logs/21-task01-nopause.cjs` → 30/30 PASS (hidden tab: 0 data fetches in 22 s, one poll 2 ms after return).
- **Verified** task 02: re-ran `21-task02-gpu-values.cjs` on the live fleet → all PASS (deskwork/driveripper show Model/VRAM/Pool/Temp at 16.3 px; gateway = 5 heroes, slot `hidden`, no `n/a`; hero order unchanged; GPU history chart still builds per host).
- **Verified** task 03: re-ran `21-task03-scroll.cjs` → 14/14 PASS (`class="data scroll"`, scrollWidth 1021 vs clientWidth 292 at 360 px, Rotate/Revoke/bundle reachable and hit-testable; unchanged at 1280 px). Screenshots refreshed in `data/logs/`.
- **Gate**: `uv run pytest` → **1471 passed, 15 skipped**; `--cov --cov-fail-under=94` → **98.94%**; `ruff check src tests agent` clean; `pyright` **0 errors**; `bash .agents/validate.sh` → **EXIT 0** (incl. `node --check`); `uv run pytest -m live --live` → **11 passed**; `/api/health` all 9 sources `ok`.
- **Docs fixed** (pre-existing + this phase): "all **eight** signed-in pages" was a miscount of `MARKUP_PAGES` (7 = 5 dashboards + `/settings` + `/certs`; `/login` is the 8th, unsigned) → corrected in `README.md`, `AGENTS.md` (×2) and the `tests/test_api.py` docstring/comment; `AGENTS.md` Commands hermetic tally 1470 → **1471**.
- **Docs reviewed, consistent**: Quickstart/commands/flags (`install-agent.sh`, `capture-fixtures.sh`, `dev-server.sh`), the env table vs `config.py`, every documented route vs the served route table, masthead/`/system` GPU/`/certs` scroll descriptions vs code, and all `data/logs/*` + `tests/fixtures/*` references.
- **Deviation**: `validate.sh`'s advisory `fastapi 0.153.0 → 0.156.4` left alone — no dependency was touched this phase, so AGENTS rule 8 ("check after touching dependencies") is not triggered; upgrading here would be an unrelated behaviour change.
- No live-infra changes made (repo-side + browser verification only).
- **Next pending phase**: `22_disks_hide_unconfigured`.
This commit is contained in:
@@ -150,8 +150,9 @@ def test_the_discrete_gpu_capture_supplies_real_numbers(
|
||||
assert gpu["busy_pct"] == pytest.approx(snapshot["gpus"][0]["busy_pct"])
|
||||
assert gpu["vram_used_pct"] == pytest.approx(
|
||||
gpu["vram_used_bytes"] / gpu["vram_total_bytes"] * 100.0)
|
||||
# the hero's footnote is the agent's own max over this card's hwmon labels (phase 06),
|
||||
# so the card and the `gpu.temp_c@N` history series can never disagree
|
||||
# the Temp cell is the agent's own max over this card's hwmon labels (phase 06, printed
|
||||
# as one of the card's four labelled values since phase 21 task 02), so the card and the
|
||||
# `gpu.temp_c@N` history series can never disagree
|
||||
assert gpu["temp_c"] == max(snapshot["gpus"][0]["temps"].values())
|
||||
|
||||
# one scrape is not a rate: usage and throughput are honestly n/a until the second
|
||||
@@ -243,10 +244,12 @@ def test_the_apu_reports_vram_and_the_whole_addressable_pool(
|
||||
|
||||
def test_a_gpu_with_no_temperature_input_reports_none_not_zero(agent_snapshot: dict[str, Any],
|
||||
) -> None:
|
||||
"""Phase 06 put `gpus[].temp_c` on the hero footnote, so its absence must stay honest.
|
||||
"""Phase 06 put `gpus[].temp_c` on the card and phase 21 task 02 gave it its own Temp
|
||||
cell, so its absence must stay honest.
|
||||
|
||||
A driver exposing no hwmon temperature has to come back as `None` (the page prints no
|
||||
temperature at all) rather than `0 °C`, the same rule
|
||||
A driver exposing no hwmon temperature has to come back as `None` (the cell prints `n/a`,
|
||||
the same faint `n/a` every other unmeasured value gets — the *host* with no card at all
|
||||
is the other fact, and that card is omitted) rather than `0 °C`, the same rule
|
||||
`tests/test_host_source.py::test_missing_sensors_stay_missing` holds for the flat sensor
|
||||
list — and no `gpu.temp_c@N` sample may be written for a number nobody measured.
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user