Skip to main content

Cmail — capsulated email + command hub for HumoticaOS. Light Mode v0.1: I-Poll transport + JSON envelopes + cap-bus event emit. Sealed Mode (TBZ + continuityd) comes in 0.2.x.

Project description

tibet-cmail

Cmail — capsulated email + command hub for HumoticaOS.

Cmail turns AInternet into a mailbox: human-readable messages that carry sealed intent, provenance, and consent across .aint agents. Light Mode v0.1 ships today; Sealed Mode comes in 0.2.x.

PyPI License: MIT

Quick start

pip install tibet-cmail

# send a cmail through the local brain_api
tibet-cmail send bob.aint "lunch?" "12:30 at the usual" --from alice

# or via the public AInternet hub
tibet-cmail --ainternet send bob.aint "lunch?" "12:30" --from alice

# read what landed in your inbox
tibet-cmail inbox alice
tibet-cmail read alice cmail_1feab795c68c4674

Why cmail?

ainternet already gives .aint agents the ability to message each other via I-Poll. tibet-cmail adds the human surface on top:

  • structured envelopesfrom, to, subject, body, content_hash
  • identity-anchored — sender and recipient are .aint addresses
  • auditable — every message ID can be cross-referenced against a gateway-event.v1 record on tibet-cap-bus
  • routable — same --local / --ainternet / --brein shortcuts as ipoll, so you can talk privately to your own brain or publicly to the AInternet hub

Cmail is to AInternet what email is to the public Internet: a daily-use shape on top of the protocol layer.

Light Mode (v0.1)

compose envelope ─→ I-Poll PUSH ─→ recipient.aint inbox
                                          │
                                          └→ tibet-cmail inbox  →  list
                                          └→ tibet-cmail read   →  full body
  • Transport: I-Poll (the AInternet messaging protocol).
  • Envelope: JSON with stable key order, sha256 content_hash, cmail.message.v1 kind.
  • Backend: localhost:8000 (default), api.ainternet.org (--ainternet), or brein.jaspervandemeent.nl (--brein).
  • No encryption — Light Mode is for friction-free first use; Sealed Mode v0.2.x will add TBZ + tibet-continuityd routing for confidentiality.

Sealed Mode (v0.2.x — coming)

compose envelope ─→ tbz pack ─→ /var/lib/tibet/inbox  ─→ tibet-continuityd
                                                              │
                                                              └→ trust-verdict
                                                              └→ I-Poll notify
                                                              └→ cmail inbox

Sealed Mode adds:

  • TBZ packing (tibet-zip-cli) with AES-256-GCM.
  • tibet-continuityd arrival + verify_fork on the recipient side.
  • SAM-binding for human (non-AI) recipients.
  • Sealed audit record in tibet-trail.

CLI reference

Command What it does
tibet-cmail send <to> <subject> <body> --from <agent> Send a cmail (Light Mode).
tibet-cmail inbox <agent> Preview inbound cmails (no mark-read).
tibet-cmail read <agent> <message-id> Print one cmail in full + verify content_hash.
tibet-cmail status Backend status + cmail mode + envelope kind.

Global flags: --local, --ainternet, --brein, --url <host>:<port>, --timeout, --json. The CMAIL_API_URL env var overrides --url.

Envelope shape (v1)

{
  "kind": "cmail.message.v1",
  "message_id": "cmail_<uuid4-hex16>",
  "from": "alice.aint",
  "to": "bob.aint",
  "subject": "Re: lunch?",
  "body": "12:30 at the usual",
  "body_class": "text/plain",
  "sent_at": "2026-05-30T08:00:00+00:00",
  "content_hash": "sha256:..."
}

tibet-cmail inbox filters incoming I-Polls by kind == cmail.message.v1, so the cmail surface stays separate from generic agent-to-agent I-Polls.

Stack position

Layer in the Humotica stack:

See STACK.md in the Humotica org for the full canonical package map.

License

MIT — see LICENSE.

Credits

Built by Jasper van de Meent + Root AI (Claude), with design input from Codex (cmail-osapi-daemon-architecture, cmail-as-hub).

Part of HumoticaOS. One love, one fAmIly. 💙

Project details


Download files

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

Source Distribution

tibet_cmail-0.1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

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

tibet_cmail-0.1.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file tibet_cmail-0.1.0.tar.gz.

File metadata

  • Download URL: tibet_cmail-0.1.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tibet_cmail-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e11641bd4905fe2357b9380dc0cef9709f1cc4df869b9ffb391f30278d6edf80
MD5 013714662aca601bc736786009e06abb
BLAKE2b-256 558a2a4c58261ab7a1e07e04bd95b58c7cf1a011617c57263f98da4da1a608a4

See more details on using hashes here.

File details

Details for the file tibet_cmail-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tibet_cmail-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tibet_cmail-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d0f448886cdb8d225c53700fd738432fa4047fe53d9258b45b5cd3179974c28
MD5 3b7279242da0baa1da183a4122cded29
BLAKE2b-256 81771de45cbb48133d8841b275f57254f5a355b9e2f2ebe83e5315018ef1b500

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page