Files
ducoterra 219d7a7c3b phase: 34_radiance_llm_engine
Everything is verified and green. Final report:

**Phase 34 final verification pass — complete**

- Verified all 6 completed tasks' work against the live fleet and hermetic suite: `llm:radiance` job registered, `llm_engines()` registry drives 404 gate / history defaults / `/api/config` (additive, byte-identical gufo/vllm keys), radiance field map + `/stats` sidecar + 7-position spec curve, `/llm` strip/curve/rows.
- **Defect found & fixed (pre-existing, task 05):** the vLLM-only sentence "vLLM exposes no per-slot JSON…" rendered on the **radiance** panel (`slotSection`'s non-gufo branch). Fix: vLLM line gated to `engine === 'vllm'`; radiance's panel slot section renders nothing (its session home is the strip) — `page-llm.js` + the served-byte pin in `tests/test_api.py` (now asserts the radiance branch is empty and the sentence can't leak). Browser-verified; re-shot `data/logs/34-llm-radiance-rest.png` (the 4.5-min wait found no in-flight request, so the busy shot remains the earlier pass's — its strip rows still stand; only the panel text predates the fix).
- Tests: `uv run pytest` → **2031 passed, 19 skipped** (100%); `uv run pytest --cov` → **98.73%** (floor 94%; config 100%, llm 99%, collectors 98%, api 99%); `uv run ruff check src tests agent && uv run pyright` → clean; `node --check` OK; `uv pip list --outdated` → empty.
- `uv run pytest -m live --live` → **13 passed, 2 skipped** (vLLM unset — correct; live-write opt-in — correct); the read-only radiance test passed.
- Completion criteria: (1) engines `gufo`+`radiance`, `fleet.engines_live` 2, `config.llm.radiance.enabled` true — **pass (live curl)**; (2) unset → 404 no-dial + no job — **pass (spy-pinned, green)**; (3) fixtures present, both families (79 `radiance:` / 198 `vllm:` lines), drift pin — **pass**; (4) panel/curve/rows — **pass (re-shot rest screenshot)**; (5) live radiance test — **pass**; (6) suite/coverage/lint/`bash .agents/validate.sh` (exit 0) — **pass**; (7) docs — below; (8) gufo/vLLM behaviour unchanged — **pass (existing pins untouched)**.
- Documentation: **README.md** full review — env table, LLM-engines section, architecture diagram, capture-script and `/llm` section all name radiance correctly; no inconsistencies found, no changes needed. **AGENTS.md** — the three task-06 fixes (fleet line, route row, module bullets) are in place and all other statements match reality; no changes needed.
- Dev server healthy (`./scripts/dev-server.sh status`: all sources ok, `llm:radiance` answering); all changes left in the working tree for the harness.
- Next pending phase: none — 34 was the last phase in `todo/`.
2026-11-01 18:53:46 -05:00

80 lines
3.1 KiB
Plaintext

# Verbatim upsd reply (LIST UPS / LIST VAR / LIST CMD), recorded by
# ./scripts/capture-fixtures.sh — one `VAR`/`CMD` line per protocol line.
# Volatile values (ups.load, battery.runtime, the voltages) move every poll,
# so a diff here on re-capture is expected; the contract asserts shape, units
# and which variables the drivers omit, never those numbers.
UPS cyberpower "CyberPower PR1500LCDRT2U (USB)"
VAR cyberpower battery.charge "100"
VAR cyberpower battery.charge.low "10"
VAR cyberpower battery.charge.warning "20"
VAR cyberpower battery.mfr.date "CPS"
VAR cyberpower battery.runtime "3525"
VAR cyberpower battery.runtime.low "300"
VAR cyberpower battery.status "100%"
VAR cyberpower battery.type "PbAcid"
VAR cyberpower battery.voltage "27.2"
VAR cyberpower battery.voltage.nominal "24"
VAR cyberpower device.mfr "CPS"
VAR cyberpower device.model "GX1500U"
VAR cyberpower device.serial "SCRUBBEDSERIAL1"
VAR cyberpower device.type "ups"
VAR cyberpower driver.debug "0"
VAR cyberpower driver.flag.allow_killpower "0"
VAR cyberpower driver.name "usbhid-ups"
VAR cyberpower driver.parameter.interrupt_pipe_no_events_tolerance "-1"
VAR cyberpower driver.parameter.pollfreq "12"
VAR cyberpower driver.parameter.pollinterval "2"
VAR cyberpower driver.parameter.port "auto"
VAR cyberpower driver.parameter.productid "0601"
VAR cyberpower driver.parameter.synchronous "auto"
VAR cyberpower driver.parameter.vendorid "0764"
VAR cyberpower driver.state "quiet"
VAR cyberpower driver.version "2.8.5"
VAR cyberpower driver.version.data "CyberPower HID 0.85"
VAR cyberpower driver.version.internal "0.71"
VAR cyberpower driver.version.usb "libusb-1.0.30 (API: 0x0100010C)"
VAR cyberpower input.sensitivity "normal"
VAR cyberpower input.transfer.high "139"
VAR cyberpower input.transfer.low "100"
VAR cyberpower input.voltage "115.0"
VAR cyberpower input.voltage.nominal "120"
VAR cyberpower output.voltage "115.0"
VAR cyberpower ups.beeper.status "disabled"
VAR cyberpower ups.delay.shutdown "60"
VAR cyberpower ups.delay.start "120"
VAR cyberpower ups.firmware "CR01906AC911"
VAR cyberpower ups.load "13"
VAR cyberpower ups.mfr "CPS"
VAR cyberpower ups.model "GX1500U"
VAR cyberpower ups.power "130"
VAR cyberpower ups.power.nominal "1500"
VAR cyberpower ups.productid "0601"
VAR cyberpower ups.realpower "121"
VAR cyberpower ups.realpower.nominal "900"
VAR cyberpower ups.serial "SCRUBBEDSERIAL1"
VAR cyberpower ups.status "OL"
VAR cyberpower ups.test.result "Done and passed"
VAR cyberpower ups.timer.shutdown "-60"
VAR cyberpower ups.timer.start "-60"
VAR cyberpower ups.vendorid "0764"
CMD cyberpower beeper.disable
CMD cyberpower beeper.enable
CMD cyberpower beeper.mute
CMD cyberpower beeper.off
CMD cyberpower beeper.on
CMD cyberpower driver.killpower
CMD cyberpower driver.reload
CMD cyberpower driver.reload-or-error
CMD cyberpower driver.reload-or-exit
CMD cyberpower load.off
CMD cyberpower load.off.delay
CMD cyberpower load.on
CMD cyberpower load.on.delay
CMD cyberpower shutdown.default
CMD cyberpower shutdown.return
CMD cyberpower shutdown.stayoff
CMD cyberpower shutdown.stop
CMD cyberpower test.battery.start.deep
CMD cyberpower test.battery.start.quick
CMD cyberpower test.battery.stop