From def608422ae9749936fc33e1f515b1d1f00e4b1e Mon Sep 17 00:00:00 2001 From: T-Crypt Date: Sun, 11 Oct 2026 22:09:36 -0600 Subject: [PATCH 1/3] docs(JJF1Y39): unslop README.md (em dash, serves-as, rides-the-proxy) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d2f977b..4352c5a 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ The deck holds twelve panels: | Panel | Shows | |---|---| -| **KPI** | ten metrics in four groups: Throughput (decode rate — which names the model it tracks, requests/min), Latency (first token, time per token, p95), Cache (hit rate, re-ingest tax, MTP acceptance), Capacity (VRAM, queue depth). Each carries a 60-min sparkline and a delta against 15 min ago. | +| **KPI** | ten metrics in four groups: Throughput (decode rate, which names the model it tracks, and requests/min), Latency (first token, time per token, p95), Cache (hit rate, re-ingest tax, MTP acceptance), Capacity (VRAM, queue depth). Each carries a 60-min sparkline and a delta against 15 min ago. | | **Throughput** | rolling decode tok/s, one trace per engine, 15 min to 30 d. Ranges past 1 h read from the history database. | | **GPU & host** | meters for temperature, utilisation, power draw and VRAM, with warn/crit ticks from the real power limit and VRAM total. Device readouts (SM and memory clock, fan, PCIe) plus host CPU, RAM, load and top processes. | | **Context** | one bar per live session: prompt tokens against the model window, ticks at 75 % and 90 %. | @@ -154,7 +154,7 @@ port = 9091 # default http://127.0.0.1:9090 url = "http://127.0.0.1:8090" # default http://127.0.0.1:8080 ``` -NInfer has no port of its own: it rides the proxy llama-swap reports in `/running`, so fixing `[llama_swap]` is enough. Ports configured here are skipped by discovery, so they are never mistaken for a separate engine. +NInfer has no port of its own: it uses the proxy that llama-swap reports in `/running`, so fixing `[llama_swap]` is enough. Ports configured here are skipped by discovery, so they are never mistaken for a separate engine. ## Demo mode @@ -226,7 +226,7 @@ node smoke/shell.mjs # real app.js shell, python3 -m http.server 8792 # → http://localhost:8792/?demo ``` -The UI files are ES modules, so `node --check` does not apply to them. The smoke scripts import and run them, which serves as the parse-and-run check. +The UI files are ES modules, so `node --check` does not apply to them. The smoke scripts import and run them, which is the parse-and-run check. The two `test_hostinfo.py` skips are platform gates: the `/proc` backend runs on Linux and the Win32 ctypes backend runs only on Windows. On a Linux box the Windows path is read, not executed, so its numbers stay unverified until you run the suite on Windows. From 7c1b039fe79bf0dbd9b9a08a06396c4f7696499f Mon Sep 17 00:00:00 2001 From: T-Crypt Date: Sun, 11 Oct 2026 22:09:43 -0600 Subject: [PATCH 2/3] ci(JJF1Y39): headless collector boot check in verify workflow --- .github/workflows/verify.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 737af81..bd9103a 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -25,6 +25,18 @@ jobs: run: node smoke/ui-primitives.mjs - name: app shell and view model run: node smoke/shell.mjs + - name: collector boots and serves (headless) + run: | + set -euo pipefail + python3 collector/speculum.py --port 18792 & + pid=$! + for i in $(seq 1 20); do + curl -sf http://127.0.0.1:18792/api/snapshot >/dev/null && break + sleep 0.5 + done + curl -sf http://127.0.0.1:18792/api/snapshot | python3 -m json.tool | head + curl -sN -m 2 http://127.0.0.1:18792/api/stream | head + kill "$pid" windows: runs-on: windows-latest From ca5c5a26e2a5d112424c231e3a5f069799c24e26 Mon Sep 17 00:00:00 2001 From: T-Crypt Date: Sun, 11 Oct 2026 22:20:19 -0600 Subject: [PATCH 3/3] fix(JJF1Y39): fix CI step under set -euo pipefail (F1/F2/F3) --- .github/workflows/verify.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index bd9103a..56e3df5 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -30,13 +30,16 @@ jobs: set -euo pipefail python3 collector/speculum.py --port 18792 & pid=$! + trap 'kill "$pid" 2>/dev/null || true' EXIT for i in $(seq 1 20); do curl -sf http://127.0.0.1:18792/api/snapshot >/dev/null && break sleep 0.5 done - curl -sf http://127.0.0.1:18792/api/snapshot | python3 -m json.tool | head - curl -sN -m 2 http://127.0.0.1:18792/api/stream | head - kill "$pid" + curl -sf http://127.0.0.1:18792/api/snapshot | python3 -m json.tool + tmp=$(mktemp) + timeout 2 curl -sN http://127.0.0.1:18792/api/stream > "$tmp" || true + head -n 2 "$tmp" + rm -f "$tmp" windows: runs-on: windows-latest