phase: 27_mobile_tables_and_audit
The audit re-ran green (exit 0). Now checking the docs for defects introduced by the phase.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
The audit re-ran green (exit 0). Now checking the docs for defects introduced by the phase.
|
||||
+1
@@ -0,0 +1 @@
|
||||
ok
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
== uv run pytest --cov (hermetic: no network, live tests skip) ==
|
||||
........................................................................ [ 4%]
|
||||
........................................................................ [ 9%]
|
||||
........................................................................ [ 13%]
|
||||
........................................................................ [ 18%]
|
||||
........................................................................ [ 23%]
|
||||
................................................................s....... [ 27%]
|
||||
........................................................................ [ 32%]
|
||||
........................................................................ [ 36%]
|
||||
........................................................................ [ 41%]
|
||||
........................................................................ [ 46%]
|
||||
........................................................................ [ 50%]
|
||||
........................................................................ [ 55%]
|
||||
........................................................................ [ 59%]
|
||||
........................................................................ [ 64%]
|
||||
........................................................................ [ 69%]
|
||||
.......sssssssssss...................................................... [ 73%]
|
||||
........................................................................ [ 78%]
|
||||
........................................................................ [ 82%]
|
||||
........................................................................ [ 87%]
|
||||
........................................................................ [ 92%]
|
||||
..................................................................sss... [ 96%]
|
||||
.................................................... [100%]
|
||||
=============================== warnings summary ===============================
|
||||
.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1
|
||||
/var/home/ducoterra/Projects/Personal/dashboards/.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
|
||||
from starlette.testclient import TestClient as TestClient # noqa
|
||||
|
||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
||||
================================ tests coverage ================================
|
||||
_______________ coverage: platform linux, python 3.14.4-final-0 ________________
|
||||
|
||||
Name Stmts Miss Cover Missing
|
||||
------------------------------------------------------------------
|
||||
src/dashboards/__init__.py 3 0 100%
|
||||
src/dashboards/__main__.py 14 1 93% 32
|
||||
src/dashboards/alerts.py 176 0 100%
|
||||
src/dashboards/api.py 440 0 100%
|
||||
src/dashboards/app.py 186 0 100%
|
||||
src/dashboards/auth.py 265 0 100%
|
||||
src/dashboards/certs.py 292 0 100%
|
||||
src/dashboards/collectors.py 205 5 98% 284-285, 289-290, 307
|
||||
src/dashboards/config.py 120 0 100%
|
||||
src/dashboards/debug.py 14 0 100%
|
||||
src/dashboards/poller.py 165 3 98% 192-194, 279
|
||||
src/dashboards/prom.py 112 5 96% 126, 163, 177, 180, 183
|
||||
src/dashboards/rates.py 73 0 100%
|
||||
src/dashboards/severity.py 49 0 100%
|
||||
src/dashboards/sources/__init__.py 0 0 100%
|
||||
src/dashboards/sources/disks.py 134 0 100%
|
||||
src/dashboards/sources/host.py 209 0 100%
|
||||
src/dashboards/sources/llm.py 178 1 99% 285
|
||||
src/dashboards/sources/nut.py 413 20 95% 153, 172, 186, 198, 204, 217, 225, 241, 319-320, 322, 579, 591, 626, 657, 661, 718-719, 724, 736
|
||||
src/dashboards/sources/nut_sim.py 134 0 100%
|
||||
src/dashboards/store.py 313 2 99% 553-554
|
||||
------------------------------------------------------------------
|
||||
TOTAL 3495 37 99%
|
||||
Required test coverage of 94% reached. Total coverage: 98.94%
|
||||
1549 passed, 15 skipped, 1 warning in 161.25s (0:02:41)
|
||||
== uv run ruff check src tests agent ==
|
||||
All checks passed!
|
||||
== uv run pyright ==
|
||||
0 errors, 0 warnings, 0 informations
|
||||
== node --check src/dashboards/web/static/*.js ==
|
||||
advisory: dependencies are out of date (AGENTS.md rule 8 — update on purpose):
|
||||
fastapi 0.153.0 0.159.1 wheel
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
**Implemented**
|
||||
- `dash.css` ≤640px block: `table.data { display: block; overflow-x: auto }` (horizontal-only, **no** `max-height`) — one class rule reaches all seven tables; all-widths `table.data.scroll` untouched.
|
||||
- **Deviation (measured, not assumed):** that rule alone was inert for the disclosure tables — `/system`'s "More detail" tables came back 520 px in a 320 px card with `scrollWidth === clientWidth`, because `.body.stack` is a one-column grid whose items may not shrink below `nowrap` content. Added the pinned pair `.body.stack > * { min-width: 0 }`; the same clause also stops the per-host chart stack being drawn at 520 px.
|
||||
- `tests/test_api.py`: `test_every_table_data_scrolls_sideways_at_the_phone_breakpoint` (block+overflow-x, no `max-height`/`overflow-y`/shorthand, base `table.data` still a table, `.scroll` byte-identical, `min-width: 0` present) and `test_every_table_on_every_page_carries_the_class_the_rule_targets`; new `_media_body`/`_table_tags` helpers; phase-21 `.scroll` docstring corrected.
|
||||
- Browser proof `data/logs/27-task01-scroll.cjs` (+`.out`, `27-task01-*.png`): tail columns reachable at 360 px on `/`, `/system`, `/ups`, `/certs` keeps its 320 px both-axis box, no sideways document scroll, plain tables at 1280 px.
|
||||
|
||||
**Verification** — `uv run pytest` 1547 passed / 15 skipped · `uv run pytest --cov --cov-fail-under=94` → 98.94% (baseline held) · `uv run ruff check src tests agent` clean · `uv run pyright` 0 errors · `bash .agents/validate.sh` exit 0 · `uv run pytest -m live --live` 11 passed · dev server restarted, `/api/health` `ok`, nine sources `ok`.
|
||||
|
||||
**Docs** — README (mobile table-scroll sentence); AGENTS.md gap 12 rewritten (phone clipping closed by task 01, evidence named), `/certs` "one scroll mechanism" sentence corrected, new UI-conventions paragraph on the rule pair.
|
||||
|
||||
**Findings logged for tasks 02–03** (pre-existing, byte-identical with the new rules neutralised — task 01's contract is that 1280 px is unchanged): 8/11 `/system` More-detail tables are 520/499 px inside a 404 px card at 1280 px; card *headers* (`.updated`, `.chip.model`, `.chip.health`) stand 18–191 px past their card at 360 px.
|
||||
|
||||
**Next task**: `.agents/phases/todo/27_mobile_tables_and_audit/02_mobile_audit_script.md`
|
||||
+1
@@ -0,0 +1 @@
|
||||
ok
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
== uv run pytest --cov (hermetic: no network, live tests skip) ==
|
||||
........................................................................ [ 4%]
|
||||
........................................................................ [ 9%]
|
||||
........................................................................ [ 13%]
|
||||
........................................................................ [ 18%]
|
||||
........................................................................ [ 23%]
|
||||
..............................................................s......... [ 27%]
|
||||
........................................................................ [ 32%]
|
||||
........................................................................ [ 36%]
|
||||
........................................................................ [ 41%]
|
||||
........................................................................ [ 46%]
|
||||
........................................................................ [ 50%]
|
||||
........................................................................ [ 55%]
|
||||
........................................................................ [ 59%]
|
||||
........................................................................ [ 64%]
|
||||
........................................................................ [ 69%]
|
||||
.....sssssssssss........................................................ [ 73%]
|
||||
........................................................................ [ 78%]
|
||||
........................................................................ [ 82%]
|
||||
........................................................................ [ 87%]
|
||||
........................................................................ [ 92%]
|
||||
................................................................sss..... [ 96%]
|
||||
.................................................. [100%]
|
||||
=============================== warnings summary ===============================
|
||||
.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1
|
||||
/var/home/ducoterra/Projects/Personal/dashboards/.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
|
||||
from starlette.testclient import TestClient as TestClient # noqa
|
||||
|
||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
||||
================================ tests coverage ================================
|
||||
_______________ coverage: platform linux, python 3.14.4-final-0 ________________
|
||||
|
||||
Name Stmts Miss Cover Missing
|
||||
------------------------------------------------------------------
|
||||
src/dashboards/__init__.py 3 0 100%
|
||||
src/dashboards/__main__.py 14 1 93% 32
|
||||
src/dashboards/alerts.py 176 0 100%
|
||||
src/dashboards/api.py 440 0 100%
|
||||
src/dashboards/app.py 186 0 100%
|
||||
src/dashboards/auth.py 265 0 100%
|
||||
src/dashboards/certs.py 292 0 100%
|
||||
src/dashboards/collectors.py 205 5 98% 284-285, 289-290, 307
|
||||
src/dashboards/config.py 120 0 100%
|
||||
src/dashboards/debug.py 14 0 100%
|
||||
src/dashboards/poller.py 165 3 98% 192-194, 279
|
||||
src/dashboards/prom.py 112 5 96% 126, 163, 177, 180, 183
|
||||
src/dashboards/rates.py 73 0 100%
|
||||
src/dashboards/severity.py 49 0 100%
|
||||
src/dashboards/sources/__init__.py 0 0 100%
|
||||
src/dashboards/sources/disks.py 134 0 100%
|
||||
src/dashboards/sources/host.py 209 0 100%
|
||||
src/dashboards/sources/llm.py 178 1 99% 285
|
||||
src/dashboards/sources/nut.py 413 20 95% 153, 172, 186, 198, 204, 217, 225, 241, 319-320, 322, 579, 591, 626, 657, 661, 718-719, 724, 736
|
||||
src/dashboards/sources/nut_sim.py 134 0 100%
|
||||
src/dashboards/store.py 313 2 99% 553-554
|
||||
------------------------------------------------------------------
|
||||
TOTAL 3495 37 99%
|
||||
Required test coverage of 94% reached. Total coverage: 98.94%
|
||||
1547 passed, 15 skipped, 1 warning in 162.36s (0:02:42)
|
||||
== uv run ruff check src tests agent ==
|
||||
All checks passed!
|
||||
== uv run pyright ==
|
||||
0 errors, 0 warnings, 0 informations
|
||||
== node --check src/dashboards/web/static/*.js ==
|
||||
advisory: dependencies are out of date (AGENTS.md rule 8 — update on purpose):
|
||||
fastapi 0.153.0 0.159.1 wheel
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
**Implemented**
|
||||
- `data/logs/27-task02-mobile-audit.cjs` — the re-runnable full mobile audit (`DASH_BASE`/`DASH_PW`, `check()` accumulator, non-zero exit on any FAIL, transcript `27-task02-mobile-audit.out`, screenshots `data/logs/mobile-27-<page>-<width>.png`).
|
||||
- Sweep: **8 pages** (7 signed-in + `/login` in a separate *unsigned* context; the plan's "nine" is a miscount — `MARKUP_PAGES` is seven) × **360 px** and **1280 px** control, checking document scroll, per-table clipping (`scrollWidth > clientWidth` ⇒ `overflow-x: auto|scroll`, tail column measured reachable) *and* the second clipping shape (table box past its card), a generic element-fits scan, the overlap-grouped 3-row masthead + controls-on-screen + dropdown-under-bar, both disclosures opened at both widths, and phase 26's `/ups` two-card leg (`hidden === errors.length === 0`, judged with the page's own `POWER_EVENT_KINDS`).
|
||||
- Fixed as I went: legs ran at the wrong viewport, `TOL` unavailable inside `page.evaluate`, closed `<details>` tables counted as rendered (Chrome lays them out).
|
||||
- First run preserved as `data/logs/27-task02-first-run.out`; identical pass/fail set on a re-run.
|
||||
|
||||
**Results** (live fleet, dev server restarted, 9 sources `ok`)
|
||||
- `node --check data/logs/27-task02-mobile-audit.cjs` clean; audit = **280 PASS / 6 FAIL / 1 FINDING**, exit 1 — that exit *is* task 03's work order per the task file ("run twice: once expecting pre-task-03 findings").
|
||||
- Every **table** claim passes at both widths (`/` fleet table 506→292 px scrolls to a reachable tail; `/certs` 1004 px `.scroll`; disclosure tables `block/auto`, no height cap at 360, plain tables at 1280; no sideways document scroll anywhere) — task 01's mechanism is proven.
|
||||
- Findings: `.card > header` is `nowrap` flex, so at a 320 px card the header tail is clipped — `.updated` on `/system` (388-415 px), `/llm` (374-393), `/ups` (392-531) plus `.chip.model`/`.chip.health` on `apc`; 1 control-width FINDING (4 `/system` detail tables 520 px in a 404 px card). Both classes are the ones AGENTS.md gap 12 recorded as pre-existing for task 03 — **not fixed here**, that's task 03's remit.
|
||||
- `uv run pytest` → **1547 passed, 15 skipped**; `--cov` **98.94%** (floor 94%); `ruff` clean; `pyright` 0 errors; `bash .agents/validate.sh` **EXIT=0** (only the pre-existing advisory: fastapi 0.153.0 → 0.159.1; no dependency moved in this task).
|
||||
|
||||
**Docs**: AGENTS.md gap 12 now records the audit script, its check set, the corrected page count and its first-run findings; refreshed the stale pytest tally (1545 → 1547). No README change (nothing user-visible changed).
|
||||
|
||||
**Next**: `27_mobile_tables_and_audit` task **03** (`03_fix_mobile_issues_found.md`) — fix the header clipping (and decide the 1280 px table finding), re-run until the audit exits 0 at both widths.
|
||||
+1
@@ -0,0 +1 @@
|
||||
ok
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
== uv run pytest --cov (hermetic: no network, live tests skip) ==
|
||||
........................................................................ [ 4%]
|
||||
........................................................................ [ 9%]
|
||||
........................................................................ [ 13%]
|
||||
........................................................................ [ 18%]
|
||||
........................................................................ [ 23%]
|
||||
..............................................................s......... [ 27%]
|
||||
........................................................................ [ 32%]
|
||||
........................................................................ [ 36%]
|
||||
........................................................................ [ 41%]
|
||||
........................................................................ [ 46%]
|
||||
........................................................................ [ 50%]
|
||||
........................................................................ [ 55%]
|
||||
........................................................................ [ 59%]
|
||||
........................................................................ [ 64%]
|
||||
........................................................................ [ 69%]
|
||||
.....sssssssssss........................................................ [ 73%]
|
||||
........................................................................ [ 78%]
|
||||
........................................................................ [ 82%]
|
||||
........................................................................ [ 87%]
|
||||
........................................................................ [ 92%]
|
||||
................................................................sss..... [ 96%]
|
||||
.................................................. [100%]
|
||||
=============================== warnings summary ===============================
|
||||
.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1
|
||||
/var/home/ducoterra/Projects/Personal/dashboards/.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
|
||||
from starlette.testclient import TestClient as TestClient # noqa
|
||||
|
||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
||||
================================ tests coverage ================================
|
||||
_______________ coverage: platform linux, python 3.14.4-final-0 ________________
|
||||
|
||||
Name Stmts Miss Cover Missing
|
||||
------------------------------------------------------------------
|
||||
src/dashboards/__init__.py 3 0 100%
|
||||
src/dashboards/__main__.py 14 1 93% 32
|
||||
src/dashboards/alerts.py 176 0 100%
|
||||
src/dashboards/api.py 440 0 100%
|
||||
src/dashboards/app.py 186 0 100%
|
||||
src/dashboards/auth.py 265 0 100%
|
||||
src/dashboards/certs.py 292 0 100%
|
||||
src/dashboards/collectors.py 205 5 98% 284-285, 289-290, 307
|
||||
src/dashboards/config.py 120 0 100%
|
||||
src/dashboards/debug.py 14 0 100%
|
||||
src/dashboards/poller.py 165 3 98% 192-194, 279
|
||||
src/dashboards/prom.py 112 5 96% 126, 163, 177, 180, 183
|
||||
src/dashboards/rates.py 73 0 100%
|
||||
src/dashboards/severity.py 49 0 100%
|
||||
src/dashboards/sources/__init__.py 0 0 100%
|
||||
src/dashboards/sources/disks.py 134 0 100%
|
||||
src/dashboards/sources/host.py 209 0 100%
|
||||
src/dashboards/sources/llm.py 178 1 99% 285
|
||||
src/dashboards/sources/nut.py 413 20 95% 153, 172, 186, 198, 204, 217, 225, 241, 319-320, 322, 579, 591, 626, 657, 661, 718-719, 724, 736
|
||||
src/dashboards/sources/nut_sim.py 134 0 100%
|
||||
src/dashboards/store.py 313 2 99% 553-554
|
||||
------------------------------------------------------------------
|
||||
TOTAL 3495 37 99%
|
||||
Required test coverage of 94% reached. Total coverage: 98.94%
|
||||
1547 passed, 15 skipped, 1 warning in 161.95s (0:02:41)
|
||||
== uv run ruff check src tests agent ==
|
||||
All checks passed!
|
||||
== uv run pyright ==
|
||||
0 errors, 0 warnings, 0 informations
|
||||
== node --check src/dashboards/web/static/*.js ==
|
||||
advisory: dependencies are out of date (AGENTS.md rule 8 — update on purpose):
|
||||
fastapi 0.153.0 0.159.1 wheel
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
Final state verified. Summary:
|
||||
|
||||
**Fixed (CSS only, both at every width — no markup, no data/API/page-script change):**
|
||||
1. `.card > header { flex-wrap: wrap }` + `min-width: 0; max-width: 100%` on its `h3`/chips and `white-space: normal` on a header chip → closed all 6 FAILs (the `.updated` age stamp 18‑191 px past its card on `/system`/`/llm`/`/ups`, plus `apc`'s `.chip.model`/`.chip.health`). Nothing hidden: the row wraps (host header 62→74 px; at 1280 `/system`'s stamp had been torn as `updated`/`5s` inside a 67 px shrunk box; `/ups`, `/llm`, `/`, `/certs` geometry byte-identical).
|
||||
2. `.card > .body.stack > details { overflow-x: auto }` → closed the 1 FINDING. It was worse than clipped: `/system`'s "More detail" grew to 520 px in a 404 px card and its last column (tail 554 px) — and the chart item stretched beside it — painted **under the next card** (starts 438 px). Now the disclosure scrolls, tail lands at 411 px inside the card; the three tables that fit stay 377 px and still fill it; the disclosure isn't a height cap, so `.scroll` is untouched.
|
||||
|
||||
**Audit strengthened, not weakened:** check (2b) now asserts *reachability* at both widths (unreachable spill FAILs), plus two new checks — no card header's facts past the card, every fitting table still fills its container. Final run: **332 PASS / 0 FAIL / 0 FINDING**, exit 0, all 8 served pages at 360 px and 1280 px (`data/logs/27-task02-mobile-audit.out`, `mobile-27-*.png`); first run kept as `27-task02-first-run.out`.
|
||||
|
||||
**Evidence:** `data/logs/27-task03-control.cjs` (16 PASS) re-creates every first-run offender with the declarations neutralised (3/4/2 header offenders, 8 stranded tables) — so neither rule is decorative and the new check cannot pass vacuously; `27-task03-verify.cjs` (20 PASS) measures both fixes, the cost of wrapping, and 320 px; screenshots `27-task03-{system-360,ups-360,ups-320,disclosure-rest,disclosure-scrolled,disclosure-unfixed}.png`.
|
||||
|
||||
**Pins:** `test_a_card_header_wraps_its_facts_instead_of_losing_its_tail`, `test_a_card_disclosure_scrolls_what_it_reveals_at_every_width` (asserts no `max-height`/`overflow-y`/`overflow`, and that the rule is outside the ≤640px block); task 01's pin untouched.
|
||||
|
||||
**Docs:** AGENTS.md gap 12 now **closed** (both defects, both fixes, the strengthened check, the control proof) plus the UI-conventions rules; README's mobile paragraph extended.
|
||||
|
||||
**Gate:** `bash .agents/validate.sh` **rc=0** — 1549 passed + 15 skipped, coverage 98.94 % (floor 94), ruff clean, pyright 0 errors, `node --check` clean. Dev server restarted, `/api/health` `ok` with all nine sources. Only the pre-existing advisory remains (fastapi 0.153.0 → 0.159.1; no dependency moved in this task).
|
||||
+1
@@ -0,0 +1 @@
|
||||
ok
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
== uv run pytest --cov (hermetic: no network, live tests skip) ==
|
||||
........................................................................ [ 4%]
|
||||
........................................................................ [ 9%]
|
||||
........................................................................ [ 13%]
|
||||
........................................................................ [ 18%]
|
||||
........................................................................ [ 23%]
|
||||
................................................................s....... [ 27%]
|
||||
........................................................................ [ 32%]
|
||||
........................................................................ [ 36%]
|
||||
........................................................................ [ 41%]
|
||||
........................................................................ [ 46%]
|
||||
........................................................................ [ 50%]
|
||||
........................................................................ [ 55%]
|
||||
........................................................................ [ 59%]
|
||||
........................................................................ [ 64%]
|
||||
........................................................................ [ 69%]
|
||||
.......sssssssssss...................................................... [ 73%]
|
||||
........................................................................ [ 78%]
|
||||
........................................................................ [ 82%]
|
||||
........................................................................ [ 87%]
|
||||
........................................................................ [ 92%]
|
||||
..................................................................sss... [ 96%]
|
||||
.................................................... [100%]
|
||||
=============================== warnings summary ===============================
|
||||
.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1
|
||||
/var/home/ducoterra/Projects/Personal/dashboards/.venv/lib64/python3.14/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
|
||||
from starlette.testclient import TestClient as TestClient # noqa
|
||||
|
||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
||||
================================ tests coverage ================================
|
||||
_______________ coverage: platform linux, python 3.14.4-final-0 ________________
|
||||
|
||||
Name Stmts Miss Cover Missing
|
||||
------------------------------------------------------------------
|
||||
src/dashboards/__init__.py 3 0 100%
|
||||
src/dashboards/__main__.py 14 1 93% 32
|
||||
src/dashboards/alerts.py 176 0 100%
|
||||
src/dashboards/api.py 440 0 100%
|
||||
src/dashboards/app.py 186 0 100%
|
||||
src/dashboards/auth.py 265 0 100%
|
||||
src/dashboards/certs.py 292 0 100%
|
||||
src/dashboards/collectors.py 205 5 98% 284-285, 289-290, 307
|
||||
src/dashboards/config.py 120 0 100%
|
||||
src/dashboards/debug.py 14 0 100%
|
||||
src/dashboards/poller.py 165 3 98% 192-194, 279
|
||||
src/dashboards/prom.py 112 5 96% 126, 163, 177, 180, 183
|
||||
src/dashboards/rates.py 73 0 100%
|
||||
src/dashboards/severity.py 49 0 100%
|
||||
src/dashboards/sources/__init__.py 0 0 100%
|
||||
src/dashboards/sources/disks.py 134 0 100%
|
||||
src/dashboards/sources/host.py 209 0 100%
|
||||
src/dashboards/sources/llm.py 178 1 99% 285
|
||||
src/dashboards/sources/nut.py 413 20 95% 153, 172, 186, 198, 204, 217, 225, 241, 319-320, 322, 579, 591, 626, 657, 661, 718-719, 724, 736
|
||||
src/dashboards/sources/nut_sim.py 134 0 100%
|
||||
src/dashboards/store.py 313 2 99% 553-554
|
||||
------------------------------------------------------------------
|
||||
TOTAL 3495 37 99%
|
||||
Required test coverage of 94% reached. Total coverage: 98.94%
|
||||
1549 passed, 15 skipped, 1 warning in 166.68s (0:02:46)
|
||||
== uv run ruff check src tests agent ==
|
||||
All checks passed!
|
||||
== uv run pyright ==
|
||||
0 errors, 0 warnings, 0 informations
|
||||
== node --check src/dashboards/web/static/*.js ==
|
||||
advisory: dependencies are out of date (AGENTS.md rule 8 — update on purpose):
|
||||
fastapi 0.153.0 0.159.1 wheel
|
||||
Reference in New Issue
Block a user