ULAP ONE
SIDSense operator console
One GPU host running a private 5G network, a TV-white-space spectrum sensor and edge-AI video at the same time, so you can watch three workloads that normally need three boxes share one piece of silicon and one slice of spectrum.
occupancy_source, so a live verdict on these pages is the
CNN’s unless a floor is set. Confidence is not accuracy. Use PAWS grant state as the
authority and treat sensing as advisory. The full caveat, the synthesized-in-browser labels
and the not-measured channels live on the sensing surface.This console
Up by construction 8 prerendered pagesThis app's own prerendered pages, served by the same web server that served the page you are reading.
If you can read this roll-up at all, these pages are up by construction. Treat the count as a build check, not as a health check. Every one of these pages can be served in full while every service it polls is dead — which is precisely what happened on 2026-08-03, when this page scored a dead stack at 6 of 9.
The stack
The count that means something 3 services behind the gatewayThe services behind the gateway. A green here is a contract-backed statement about the running system.
These three are not the whole stack. Explorer probes every gateway route and reads the control-api inventory, which is what lets it separate opt-in and never deployed from deployed and dead. This page
reads the opt-in register from ui/src/lib/domain/gateway.ts but not the inventory,
so on an opt-in route it can only say the component was not brought up and name the command that
would bring it up.
Spectrum Sensing
/sensing.htmlTVWS 470-698 MHz occupancy from the SIDSense CNN, with every unmeasured channel labelled as such and the over-the-air result stated up front.
Edge AI Co-Tenancy
/cotenancy.htmlThe RAN and the AI tenant on one GPU. Mode, UE count and the isolation state as the scheduler actually reports them.
Video Analytics
/video.htmlCoastal-resilience video over the local break-out, with super-resolution running on the same GPU as the radio.
Unified Workloads
/workloads.htmlEvery container, its logs and its node and GPU metrics in one console. Capabilities tagged NOW, PHASE-1 or EXTENSION.
Control Plane
/control-plane.htmlSubscriber, eSIM and stack actuation. The deepest surface here and the only one that changes state, which is why it is no longer the front door.
Benchmark Evidence
/evidence.htmlWhat has actually been measured, and what may be concluded from it. Forty-five benchmark artefacts behind a persistent snapshot boundary.
Explorer
/explorer.htmlWhat is built, what is running and what is missing. Probes every gateway route and separates opt-in-not-deployed from deployed-and-failing.
ULAP Overview
/ulap-overview.htmlWhat the stack is and how the pieces fit, for someone who has not seen it before.
Sensing API
/api/tvws/docsThe TVWS inference service itself: OpenAPI docs, the sense endpoint, and the model provenance the dashboard reads.
Grafana
/grafana/Time-series panels for RAN throughput, GPU occupancy and sensing rate.
Prometheus
/prom/graphRaw PromQL against the scrape targets behind every panel on this stack.
Status is a real fetch of each surface, performed by your browser when this page loaded and re-run every 30 seconds, and it checks response content and not just the status code, because at least one service behind these paths answers 200 with its own front page for any URL you ask it for. A card that says a surface answered has read something only that surface could have sent. The two counts above are kept apart on purpose: 8 of these 11 cards are this console's own prerendered pages, and if you can read this sentence they are up by construction.