Reticulum-native federation transport for the CIRIS stack
Project description
ciris-edge
Reticulum-native federation transport for the CIRIS stack. Replaces the Python edge across CIRISLens (FastAPI), CIRISAgent (httpx), CIRISRegistry (HTTPS) with a single Rust crate that does signed message in/out, verify-via-persist, and typed handler dispatch.
Status: v0.2.0 — Phase 1 substrate live. Verify pipeline (hybrid
Ed25519 + ML-DSA-65 via persist's directory lookup), durable outbound
queue + dispatcher, typed handler dispatch, HTTP transport, outbound
inline-text pipeline integration (Classify + Scrub + EncryptAndStore
via ciris-persist v1.1.2), and a sovereign-mode convenience
constructor (EdgeBuilder::from_keyring_seed_dir) for Reticulum-style
adoption with no persist Engine in-process. PyO3 surface (Edge
class registration + init_edge_runtime) lands in v0.3.x; reticulum
- multi-medium transports follow per Phase 3 of the FSD.
Read in this order
-
MISSION.md— the WHY. Mission Driven Development alignment to CIRIS Accord Meta-Goal M-1; per-module mission statements; anti-patterns that violate the mission; failure modes. -
FSD/CIRIS_EDGE.md— the WHAT. Architecture spec, three-phase delivery plan, crate shape, public API surface, verify-via-persist contract, wire-format envelope, test categories. -
FSD/OPEN_QUESTIONS.md— the HOW. Thirteen design forks needing owner input before Phase 1 starts. Each question states the choice, the trade-off, and a lens-side default; resolutions land at the bottom inCLOSED.
TL;DR
The CIRIS architecture has three peers (agent, lens, registry) each
maintaining their own network edge. Three parallel HTTP shims, three
retry policies, three cert-management stories. The Proof-of-Benefit
Federation FSD (~/CIRISAgent/FSD/PROOF_OF_BENEFIT_FEDERATION.md
§3.2) names Reticulum-rs as the transport that closes the federation
loop: addressing IS identity, multi-medium reach, fork-survivable Rust.
ciris-edge is the crate that operationalizes that proposal. Each
peer becomes:
host application code
│ registers handlers
▼
ciris-edge ←── Reticulum link sessions (TCP / LoRa / serial / I²P)
│ verify via persist
▼
ciris-persist ←── steward identity, federation_keys, trace storage
One shape, many peers. Library, not sidecar. Verify happens at the wire, before any handler sees a byte. Key seeds never cross the FFI boundary. HTTP fallback ships in Phase 1 so cloud deployments can participate today; Reticulum is canonical and Phase 3 productionizes LoRa + serial + I²P for the deployments that need M-1 most.
Phases
| Phase | Outcome |
|---|---|
| 1 (immediate) | Crate skeleton; HTTP transport + Reticulum behind a feature flag; Ed25519 verify via persist; typed handler dispatch; lens cuts over from FastAPI to embedded edge runner |
| 2 | Agent + registry adopt edge; HTTPS becomes per-peer fallback |
| 3 | LoRa, packet-radio, serial transports productionized; off-grid CIRIS deployments tractable |
Sister repos
CIRISAgent— agent reasoning loop; emits signed traces. Wire-format spec lives atFSD/TRACE_WIRE_FORMAT.md.CIRISPersist— substrate. Owns the federation keys directory, steward identity, canonical-bytes canonicalization, trace storage. Edge calls into persist for sign + verify.CIRISLens— analytical observatory. First peer to adopt edge in Phase 1 (cuts over from FastAPI ingest).CIRISRegistry— identity / build / license / revocation directory. Adopts edge in Phase 2.CIRISVerify— cryptographic primitives library. Edge depends transitively via persist.
License
AGPL-3.0, matching the rest of the CIRIS federation stack. License-
locked mission preservation per MISSION.md §6.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 276.2 kB
- Tags: CPython 3.11+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32c8c4544f33307b9067caa452c7a1a0b06def042e040dff2ed4748a506837f2
|
|
| MD5 |
24506b0225f3cb1063fc080c2116f4a3
|
|
| BLAKE2b-256 |
f6830a90490bda35c917d25ee5188c46b5149665d132fde153cd8c0ee790e661
|
Provenance
The following attestation bundles were made for ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_x86_64.whl:
Publisher:
ci.yml on CIRISAI/CIRISEdge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_x86_64.whl -
Subject digest:
32c8c4544f33307b9067caa452c7a1a0b06def042e040dff2ed4748a506837f2 - Sigstore transparency entry: 1548189836
- Sigstore integration time:
-
Permalink:
CIRISAI/CIRISEdge@9c28159439251676d71fdfe90b12ead401457dec -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/CIRISAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@9c28159439251676d71fdfe90b12ead401457dec -
Trigger Event:
push
-
Statement type:
File details
Details for the file ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 266.7 kB
- Tags: CPython 3.11+, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6010b0d916c45d9150b0c7c397851b9f6f692731afad9c5845be13fd6b50a00
|
|
| MD5 |
462e95cf66711c0e93ec72df9d1786c0
|
|
| BLAKE2b-256 |
38b35c27cfb122adcf78909fc3650085adf9ce722cecc20c331e0a5721affa33
|
Provenance
The following attestation bundles were made for ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_aarch64.whl:
Publisher:
ci.yml on CIRISAI/CIRISEdge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ciris_edge-0.2.1-cp311-abi3-manylinux_2_34_aarch64.whl -
Subject digest:
e6010b0d916c45d9150b0c7c397851b9f6f692731afad9c5845be13fd6b50a00 - Sigstore transparency entry: 1548189978
- Sigstore integration time:
-
Permalink:
CIRISAI/CIRISEdge@9c28159439251676d71fdfe90b12ead401457dec -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/CIRISAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@9c28159439251676d71fdfe90b12ead401457dec -
Trigger Event:
push
-
Statement type:
File details
Details for the file ciris_edge-0.2.1-cp311-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: ciris_edge-0.2.1-cp311-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 252.0 kB
- Tags: CPython 3.11+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33a89a7789288fd1842e3f8dcc4efd17b1ca39eb20b2666946eaf3b37cfd857c
|
|
| MD5 |
a8c4832af52249cc0540afe7ea3725ae
|
|
| BLAKE2b-256 |
2a110ac8db50835bf35b9cec28a05817948cef51f4b2097b4fd7005036850e50
|
Provenance
The following attestation bundles were made for ciris_edge-0.2.1-cp311-abi3-macosx_11_0_arm64.whl:
Publisher:
ci.yml on CIRISAI/CIRISEdge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ciris_edge-0.2.1-cp311-abi3-macosx_11_0_arm64.whl -
Subject digest:
33a89a7789288fd1842e3f8dcc4efd17b1ca39eb20b2666946eaf3b37cfd857c - Sigstore transparency entry: 1548189901
- Sigstore integration time:
-
Permalink:
CIRISAI/CIRISEdge@9c28159439251676d71fdfe90b12ead401457dec -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/CIRISAI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@9c28159439251676d71fdfe90b12ead401457dec -
Trigger Event:
push
-
Statement type: