epistemic-edge
Subjective-logic guardrails for LLM-driven IoT actuation — an air-gapped, neuro-symbolic AIoT framework that places calibrated uncertainty quantification between your sensors and any LLM that can touch the physical world.
Companion package for:
Epistemic Edge: Subjective Logic Guardrails for LLM-Driven IoT Actuation. Muntaser Syed and Marius Silaghi. IEEE 27th International Conference on Information Reuse and Integration for Data Science (IEEE IRI 2026), Seattle, WA. To appear.
Full reproduction materials — experiment scripts, immutable result sets, and the pinned inference fork — live in the repository: https://github.com/jemsbhai/epistemic-edge
Architecture
Epistemic Edge orchestrates four tiers into a strict verify–decay–generate pipeline:
| Tier | Layer | Engine | Function |
|---|---|---|---|
| 1 | Transport | cbor-ld-ex |
Hyper-compressed binary payloads over MQTT/CoAP |
| 2 | Trust | jsonld-ex |
Subjective Logic fusion + PROV-O audit trail |
| 3 | Memory | chronofy |
Temporal decay toward the vacuous opinion (0, 0, 1) |
| 4 | Cognition | llama-cpp-python |
Grammar-constrained local LLM inference behind threshold + whitelist guardrails |
Locally deployed LLMs can act on conflicting or stale context. Epistemic Edge annotates every source with a calibrated Subjective Logic opinion, fuses them via Jøsang cumulative fusion, decays stale beliefs toward uncertainty, and verifies epistemic thresholds before any actuation is allowed. In the paper's ablation (seven locally-deployed LLMs, 2,800 controlled trials), removing this epistemic layer collapses threshold-guardrail accuracy from 1.00 to 0.40 for every model. On the BATADAL water-distribution benchmark, calibrated SL opinions reach AUROC 0.9004 with no trained weights and no labeled attack data.
Installation
pip install epistemic-edge # core: transport + trust + memory
pip install "epistemic-edge[llm]" # + local LLM inference (llama-cpp-python)
pip install "epistemic-edge[transport]" # + MQTT / CoAP transports
pip install "epistemic-edge[all]" # everything
Quick Start
import asyncio
from epistemic_edge import EdgeNode
from epistemic_edge.memory import DecayConfig
async def main():
node = EdgeNode(
node_id="gateway_alpha",
llm_path="./models/bonsai-8b-1bit.gguf",
decay=DecayConfig(mean_reversion_rate=1.5, threshold=0.2),
)
@node.guardrail(action="close_valve")
def check_safety(state, intent):
return state.max_uncertainty() < 0.15
@node.on_actuate
async def execute(intent, receipt):
print(f"Executing: {intent.action} on {intent.target}")
print(f"Audit trail: {receipt}")
await node.start()
asyncio.run(main())
Citing
@inproceedings{syed2026epistemic,
author = {Syed, Muntaser and Silaghi, Marius},
title = {Epistemic Edge: Subjective Logic Guardrails for {LLM}-Driven {IoT} Actuation},
booktitle = {2026 IEEE 27th International Conference on Information Reuse and
Integration for Data Science (IRI)},
year = {2026},
note = {To appear}
}
Core Libraries
- jsonld-ex — JSON-LD 1.2 extensions with Subjective Logic, FHIR R4, PROV-O
- cbor-ld-ex — Compact Binary Linked Data for constrained IoT networks
- chronofy — Temporal validity framework implementing TLDA
License
MIT
Metadata
Release files for epistemic-edge 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| epistemic_edge-0.1.0.tar.gz | 32.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| epistemic_edge-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 73.9 kB
Release files / epistemic_edge-0.1.0.tar.gz
| Download URL | epistemic_edge-0.1.0.tar.gz |
|---|---|
| Size | 32.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32ac2946729fb3756c65b85de262d6152635adb5ba3573d08ee484c57b00ce76
|
|
BLAKE2b-256 checksum How to use checksums |
b48cfef59d87dd4b5f0fcf1accc4bc202f47e2151e35eb0f4c0aedd92e83e736
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.12.2 Windows/11
|
Release files / epistemic_edge-0.1.0-py3-none-any.whl
| Download URL | epistemic_edge-0.1.0-py3-none-any.whl |
|---|---|
| Size | 41.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e99ef3c3b10f1d462bbf880b6b4079da4614134851d1de58c580e6e01f0c88fd
|
|
BLAKE2b-256 checksum How to use checksums |
6c9848afc2c9f27f17fff7ac313c9fa8867892d72cc9e3d6ed33fc28f142bfb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.12.2 Windows/11
|
Security for epistemic-edge 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.