End-to-End
Ontology & Shapes (OaaS)
- Context:
schemas/contexts/ucls-endpoint-context.jsonldnow includesBroadcastSite,BaseStation,Antenna,RFLink,SpectrumBlock, plus geo (lat/lon/alt), tech (NR/LTE/Wi-Fi/BLE/GNSS/SATCOM), and IDs (gnbId/enbId/tac/pci/nrArfcn, ssid/bssid). - SHACL:
BroadcastSiteShape.ttl— site code, coordinates, regulator/license.RFLinkShape.ttl— freq range, tech, RX/TX levels, timing bounds.
Policy Packs (ValaaS) + Gates
RF-Emissions-Policy@1.0.0— license validation (FCC/Ofcom-style IDs), emission mask by tech, EIRP/ERP safety envelopes.Spectrum-Policy@1.0.0— band-plan selection by locale (CLDR→regional allocations), flags out-of-band.Broadcast-Site-Policy@1.0.0— sanity on geo/antenna (azimuth/tilt/gain) for macro sites.- Gates:
gate:rf-link(fail-open + PRaaS escalation).gate:broadcast-site(fail-open + PRaaS).
Adapters (InteropaaS)
adapters/sdr-collector/— SDR IQ/PSD → RFLink (NR/LTE/Wi-Fi/BLE/GNSS), with site/endpoint edges.adapters/cellmapper-adapter/— operator/NMS exports → BroadcastSite/BaseStation (azimuth/tilt/gain, band, ARFCN, IDs).adapters/wifi-collector/— controller telemetry (RRM/DFS) → RFLink + site records for APs.adapters/bt-collector/— BLE adv scans → RFLink (manufacturer hashes).adapters/satcom-collector/— gateway/NOC summaries → RFLink + ground-station BroadcastSite.adapters/gnss-collector/— receiver locks/ephemeris pins → RFLink (GPS/Galileo/BeiDou/GLONASS).
These sit beside your existing android-parser, net-collector, and powerlink-collector, so every path—grid→site→air→IP→domain→app—is covered.
Telemetry & Dashboards
- ClickHouse (appended in
telemetry/clickhouse_schema.sql):rf_links_ch(link_id, endpoint_id, site_id, tech, band, freqFromMHz, freqToMHz, rxLevelDbm, txPowerDbm, out_of_band, license_valid)sites_ch(site_id, siteCode, regBody, licenseId, lat, lon, alt, azimuth, tilt, gainDbi)
- Grafana (
dashboards/ucls-observability.json) adds:- RF Links (ClickHouse) — live table of air links.
- Broadcast Sites (ClickHouse) — inventory with licensing/geo.
Samples you can load
samples/rf-and-sites.json— example NR/LTE/Wi-Fi/BLE/GNSSRFLinks and twoBroadcastSites (macro & AP).- Your handset sample remains at
samples/mobile-endpoint-s918u-2025-07.json, and we already tied its network/Power/Domain links.
How “everything that broadcasts or receives” is unified
- Power → Site:
PowerLinktraces substation→meter→rack→PSU→radio. Provenance is signed (ProvAaaS), and safety/standards checked at the Power-Chain gate. - Site → Air:
BroadcastSite+RFLinkencode where/what/how (geo, license, band, ARFCN/PCI, SSID/BSSID, beam).Spectrum-Policyensures legal band use per locale. - Air → Network: RF links correlate to AddressLink (IPv4/IPv6/MAC),
DomainLink(IDN/ICANN bundles, DNSSEC/CT/DMARC), and back to controller proofs (LEI/ORCID/DID) for same-controller sets. - Every endpoint (phones, laptops, IoT) enters via the Mobile-Endpoint or a sibling device shape; compliance gates enforce attestation, patch currency, and locale script allowlists.
SLOs & alerts worth watching
- Out-of-band rate (must be 0), missing-license rate (0), RPKI invalid contact rate (0), RDAP p99 ≤ 300 ms, Patch currency p95 ≤ 30 days.
- Provided Prometheus rules slot into your existing alerting; ClickHouse retains posture facts for forensics.
Drop-in run
cd /mnt/data/ucls-dns-packs/adapters
docker compose up -d
# Add Grafana data sources (PROM_DS, CLICKHOUSE_DS) and import dashboards in /dashboards