Skip to main content

ciris-edge

The transport and replication layer of the CIRIS Epistemic Web (CEWP). A single Rust crate that moves the 14 signed envelope kinds of the CEG grammar between federation peers over any medium — Reticulum mesh, HTTPS, packet radio — decides who is allowed to learn a claim exists, and attributes every inbound byte to a cryptographic identity before any handler sees it.

Edge is the operational realization of Constitution Part 5 — Transport & Substrate, built on two disciplines: fail-secure (a missing key or unresolved consent resolves to less access, never a silent downgrade) and integrity through structure (privacy and authenticity are properties the wire format cannot violate, not promises an operator makes). Its design thesis, from contextual integrity: "the strongest flow rule is one the network cannot express breaking."

📖 The protocol spec: FSD/CIRIS_EDGE_TRANSPORT.md — the 14 EnvelopeKinds, the cohort/namespace projections, the anti-entropy state machine, the transport attribution pipeline, the serve/consent gates, and the CEG-vs-OSI layering, with diagrams and code anchors. Start there.

What edge does

host application code
    │ registers handlers                    ┌─ Reticulum mesh (TCP / LoRa / serial / I²P)
    ▼                                        │
ciris-edge  ──── anti-entropy replication ───┼─ HTTPS (bearer / mTLS)
    │ attribute at the wire · serve by consent │
    ▼                                        └─ packet radio
ciris-persist  ──── keys · attestations · trace · admission

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. Every transport is a projection of one Transport trait; Reticulum is canonical, HTTPS is the production fallback so cloud deployments participate today.

Read in this order

  1. MISSION.md — the WHY. Mission-Driven Development alignment to CIRIS Accord Meta-Goal M-1; per-module missions; anti-patterns; failure modes.
  2. FSD/CIRIS_EDGE_TRANSPORT.md — the protocol. State machines, the 14 kinds, namespaces, attribution, consent-routing, CEG↔OSI.
  3. FSD/CIRIS_EDGE.md — the architecture spec, crate shape, public API surface, verify-via-persist contract, test categories.

The shape of the protocol (one-paragraph tour)

Every claim is one of 14 signed EnvelopeKinds, each its own anti-entropy stream. A claim's cohort_scope (selffamilycommunityaffiliationsspeciesbiospherefederation) resolves to a projectionSelfOwn (publish-your-own, structurally invisible — no directory advertisement), Cohort (roster hold-and-forward), or Global (commons + anti-rollback tombstones). Peers reconcile per (peer, kind) via a bidirectional Summary → Diff → Deliver round. Every inbound frame is attributed at ingest to a Rooted ∧ owns_key federation identity (a fresh peer bootstraps via a narrow, self-authenticating {Key, IdentityOccurrence, TransportDestination} carve-out); an unattributable frame is dropped before any serve gate is consulted. Only the Attestation plane is consent-gated — a consentable claim flows to a peer only if the producer's consent grant includes it, the recipient holds infra:serve, and it satisfies any recipient_capability restriction. The recipient axis cannot exceed the transmission principle, by construction.

Status

v14.x — production CEG-native transport. Reticulum + HTTPS + packet-radio transports; the anti-entropy replication engine; the #393 two-item attribution gate (Rooted∧owns_key + hybrid transport binding); the #402 bootstrap carve-out; the #396 consent-resolved fan-out + serve gates; hybrid Ed25519 + ML-DSA-65 throughout; PyO3 + UniFFI mobile surfaces. Pinned in lockstep to ciris-persist (Registry-of-Record admission) via drift-witnessed policy hashes.

Sister repos

  • CIRISConstitution — the canonical CEG spec (Part 5 is edge's transport substrate; Part 2 the grammar; Part 3 the namespace).
  • CIRISPersist — substrate: federation keys, attestations, trace storage, admission (the put_* surface edge replicates onto).
  • CIRISVerify — hybrid crypto primitives (Ed25519 + ML-DSA-65, X-Wing), consumed transitively via persist.
  • CIRISAgent — reasoning loop; emits signed traces edge replicates.
  • CIRISRegistry · CIRISLens — identity/build directory · analytical observatory; federation peers.

License

AGPL-3.0, matching the CIRIS stack. License-locked mission preservation per MISSION.md §6.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ciris_edge-14.4.0-cp310-abi3-win_amd64.whl (10.4 MB view details)

Uploaded CPython 3.10+Windows x86-64

ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_x86_64.whl (18.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.39+ x86-64

ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_aarch64.whl (16.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.39+ ARM64

ciris_edge-14.4.0-cp310-abi3-macosx_11_0_arm64.whl (16.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file ciris_edge-14.4.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: ciris_edge-14.4.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 10.4 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ciris_edge-14.4.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7e79ecc9710104866c3bde4aef3458eb3358c538ab6f1b9bf05459c0228ef8ce
MD5 a95a976df4216110b0985aae8e3f197e
BLAKE2b-256 2d8eb884d065acd88aa896ed00110ff935a9636c549833da30c1d7315f57e387

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciris_edge-14.4.0-cp310-abi3-win_amd64.whl:

Publisher: ci.yml on CIRISAI/CIRISEdge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c8269f83a0ad21ee72d29fe0d83f8dc194c7a55dac29a5f80f27645db706221d
MD5 ca4e7dc064c056a6a2bc34c6a0ad8e86
BLAKE2b-256 e3d740b6528253efedebc60bdd37e29ffc1554b73f31ecb55d189a18c3553755

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_x86_64.whl:

Publisher: ci.yml on CIRISAI/CIRISEdge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 93b151f1eadc61f012848c9e36cb90072e8f2b2664294b94acd3ab715edf0139
MD5 751db5dc263686273cb09745066cacf9
BLAKE2b-256 c4e12d665c6b1fa8f86a944f06f44b77e7a8212b694dbcd991faa706d4640f4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciris_edge-14.4.0-cp310-abi3-manylinux_2_39_aarch64.whl:

Publisher: ci.yml on CIRISAI/CIRISEdge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ciris_edge-14.4.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ciris_edge-14.4.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38413fb6d82c9e1e6441b59cc4eb099406ba6fbc43e78ead2ce14cff8c9f3762
MD5 edcc583db061ba33d1594056135b56a5
BLAKE2b-256 208aaf819dede68ff18a9615ec0923cf3679ae9d55f8d503d9a6f237aa35bff3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ciris_edge-14.4.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: ci.yml on CIRISAI/CIRISEdge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

15.0.0

1 file

This release

14.4.0 This release

4 files

14.3.0

4 files

14.2.4

4 files

14.2.3

4 files

14.2.1

4 files

14.2.0

4 files

14.1.0

4 files

14.0.0

4 files

13.15.1

4 files

13.15.0

4 files

13.14.0

4 files

13.12.0

4 files

13.10.0

4 files

13.9.0

4 files

13.8.0

4 files

13.7.0

4 files

13.6.1

4 files

13.5.1

4 files

13.5.0

4 files

13.4.0

4 files

13.3.1

4 files

13.3.0

4 files

13.2.0

4 files

13.1.2

4 files

13.1.1

4 files

13.1.0

4 files

13.0.9

4 files

13.0.8

4 files

13.0.7

4 files

13.0.6

4 files

13.0.5

4 files

13.0.4

4 files

13.0.3

4 files

13.0.2

4 files

13.0.1

4 files

13.0.0

4 files

12.0.0

4 files

11.1.2

4 files

11.1.1

4 files

11.1.0

4 files

11.0.0

4 files

10.1.2

4 files

10.1.1

4 files

10.1.0

4 files

10.0.2

4 files

10.0.1

4 files

10.0.0

4 files

9.10.1

4 files

9.10.0

4 files

9.9.0

4 files

9.8.0

4 files

9.7.0

4 files

9.6.1

4 files

9.6.0

4 files

9.5.0

4 files

9.4.1

4 files

9.4.0

4 files

9.3.0

4 files

9.2.0

4 files

9.1.7

4 files

9.1.6

4 files

9.1.5

4 files

9.1.4

4 files

9.1.3

4 files

9.1.2

4 files

9.1.1

4 files

9.1.0

4 files

9.0.0

4 files

8.8.0

4 files

8.7.2

4 files

8.7.1

4 files

8.7.0

4 files

8.6.2

4 files

8.6.1

4 files

8.6.0

4 files

8.5.1

4 files

8.5.0

4 files

8.4.2

4 files

8.4.0

4 files

8.3.0

4 files

8.2.0

4 files

8.1.0

4 files

8.0.0

4 files

7.4.4

4 files

7.4.3

4 files

7.4.2

4 files

7.4.1

4 files

7.4.0

4 files

7.3.2

4 files

7.3.1

4 files

7.3.0

4 files

7.2.1

4 files

7.2.0

4 files

7.1.0

4 files

7.0.13

4 files

7.0.12

4 files

7.0.11

4 files

7.0.10

4 files

7.0.8

4 files

7.0.7

4 files

7.0.6

4 files

7.0.5

4 files

7.0.4

4 files

7.0.3

4 files

7.0.2

4 files

6.4.0

4 files

6.3.3

4 files

6.3.2

4 files

6.3.1

4 files

6.3.0

4 files

6.2.3

4 files

6.2.1

4 files

6.2.0

4 files

6.1.0

4 files

6.0.0

4 files

5.2.0

4 files

5.1.0

4 files

5.0.1

4 files

5.0.0

4 files

4.6.4

4 files

4.6.3

4 files

4.5.1

4 files

4.5.0

4 files

4.4.0

4 files

4.3.1

4 files

4.3.0

4 files

4.2.1

4 files

4.2.0

4 files

4.1.2

4 files

4.1.1

4 files

4.1.0

4 files

4.0.2

4 files

3.8.0

4 files

3.7.1

4 files

3.7.0

4 files

3.6.0

4 files

3.5.1

4 files

3.5.0

4 files

3.4.0

4 files

3.3.0

4 files

3.2.0

4 files

3.1.0

4 files

3.0.1

4 files

2.4.0

4 files

2.3.1

4 files

2.3.0

4 files

2.2.2

4 files

2.2.1

4 files

2.2.0

4 files

2.1.2

4 files

2.1.1

4 files

2.1.0

3 files

2.0.2

3 files

2.0.1

3 files

2.0.0

3 files

1.7.0

3 files

1.6.3

3 files

1.6.2

3 files

1.6.1

3 files

1.6.0

3 files

1.5.3

3 files

1.5.2

3 files

1.5.0

3 files

1.4.1

3 files

1.3.2

3 files

1.3.1

3 files

1.3.0

3 files

1.2.1

3 files

1.2.0

3 files

1.1.12

3 files

1.1.11

3 files

1.1.10

3 files

1.1.6

3 files

1.1.5

3 files

1.1.4

3 files

1.1.3

3 files

1.0.1

3 files

1.0.0

3 files

0.20.1

3 files

0.20.0

3 files

0.19.7

3 files

0.19.6

3 files

0.19.5

3 files

0.19.4

3 files

0.19.0

3 files

0.18.1

3 files

0.18.0

3 files

0.17.1

3 files

0.17.0

3 files

0.16.1

3 files

0.16.0

3 files

0.15.1

3 files

0.15.0

3 files

0.14.2

3 files

0.13.1

3 files

0.13.0

3 files

0.12.0

3 files

0.11.1

3 files

0.11.0

3 files

0.10.1

3 files

0.9.1

3 files

0.9.0

3 files

0.8.1

3 files

0.7.1

3 files

0.5.1

3 files

0.4.0

3 files

0.3.1

3 files

0.2.8

3 files

0.2.7

3 files

0.2.5

3 files

0.2.4

3 files

0.2.3

3 files

0.2.2

3 files

0.2.1

3 files

0.1.4

3 files

0.1.3

3 files

0.1.2

3 files

0.1.1

3 files

0.1.0

3 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page