A build kit for trustworthy AI systems.
Run AI agents with identity, intent, isolation, continuity, and evidence — built in, not bolted on.
pip install tibet
tibet system doctor
tibet system walkthrough💡 That installs the guided system installer (
tibet 2.1.3).tibet system doctorreports which of the 40+ trust-system packages are live and which need init;tibet system walkthroughopens a step-by-step path through identity, evidence, and agent setup.
Bootstrap a package to the OSAPI-pair in two lines:
from tibet_core import bootstrap as tibet_bootstrap
from jis_core.osapi import bootstrap as jis_bootstrap
tibet_sess = tibet_bootstrap(actor="my-pkg", actor_claim=b"<JIS-signed Ed25519 claim>")
jis_sess = jis_bootstrap(actor="my-pkg", actor_claim=b"<JIS-signed Ed25519 claim>")
# every emit lands in the central chain;
# every claim/bind/fira routes through the central identity-storeHumotica is an open-source stack for running AI agents with identity, intent, isolation, continuity, and evidence built in. It is not one package. It is a set of interoperable building blocks: a trust kernel underneath, background guardians around it, and operational tools on top.
If normal AI tooling says "the model did something", Humotica asks:
- Who authorized it?
- Why was it allowed?
- What state did it touch?
- Where is the proof?
- Can another machine resume it without losing chain of custody?
Trust kernel proves
Background software watches
Operational tools let people and agents use it
Cmail makes it visible as an inbox
The stack has three main flows:
🧭 Intent-machine
identity → grant → triage → runtime cell → evidence
🧾 Evidence-spine
arrival → continuityd → CBOM → SBOM/AI-SBOM → Wayback → NIS2 → Report
⚙️ Agent runtime
identity → grant → triage/SNAFT → phantom-resume → L4 verify
→ airlock/container → seal/fork/evaporate
tibet-core+jis-coreform the OSAPI bootstrap-pair. Every non-kernel package binds to both at init — one shared chain (provenance), one shared identity-store. A package that cannot bind to either fails closed: identity is never optional, provenance is never opt-out.
| Layer | Package | Port | Role |
|---|---|---|---|
| Bindings (Python, replaceable) | tibet-core 0.5.0b2 |
18443 | bootstrap(), emit, query, fork |
| Bindings (Python, replaceable) | jis-core 0.4.0b1 |
18444 | bootstrap(), claim, bind, fira |
| Protocol (immutable spec) | LDJSON over UDS/TCP | — | HELLO / WELCOME / ACK + OP |
| Runtime (Rust, hardened) | tibet-trust-kernel 1.0.0-alpha.4 (Pixel 10 hardware test passed) |
4430 (MUX) · 18443/18444 (OSAPI v1.1, opt-in) | Voorproever · Archivaris · Watchdog · Bifurcation · OSAPI v1.1 adapter (TAT envelope ingest + biometric vehicle dispatch) |
Soft-bootstrap (TIBET_SOFT_BOOTSTRAP=1) degrades both to ephemeral providers for dev/test. Production is fail-closed.
Register .aint agents, resolve them, send I-Poll messages, and expose tools through MCP.
pip install ainternet tibet-ainternet-mcpCore packages:
ainternet—.aintnames, AINS discovery, I-Poll messagingipoll— AI-to-AI message protocoltibet-ainternet-mcp— MCP surface for agents and toolstibet-ping— active probe and liveness
Turn software actions into evidence: what arrived, what changed, what ran, what depended on what, and what compliance report can prove it.
pip install tibet-continuityd tibet-cbom tibet-sbom tibet-ai-sbom tibet-wayback tibet-reportCore packages:
tibet-continuityd— resident arrival/intake daemontibet-cbom— causal bill of materialstibet-sbom— software bill of materialstibet-ai-sbom/ai-sbom— AI/system bill of materialstibet-wayback— state snapshotstibet-nis2— NIS2 evidence mappingtibet-report— human-readable audit dossier
Run agents in a controlled runtime cell. The cell can be a container, VM, microVM, or airlock. The control plane is TIBET.
pip install tibet-triage tibet-airlock tibet-phantom tibet-pol tibet-cap-busRuntime flow:
JIS/AINS identity
→ grant / capability policy
→ tibet-triage preflight
→ phantom-resume sealed state fetch
→ L4 / UPIP verification
→ materialize into container, VM, or tibet-airlock
→ continuityd watches state
→ seal, fork, or evaporate on stop
Core packages:
tibet-triage— preflight, Airlock, UPIP, fork tokens, human reviewtibet-airlock— execution isolationtibet-phantom— sealed session resume/forktibet-pol— process health and checksum monitoringtibet-cap-bus— command/event substrate (gateway-event.v1contract)tibet-cmail— capsulated email (Light Mode 0.1.0; Sealed Mode 0.2.x in flight)
Cmail is the planned human-readable inbox for the stack. It is "email", but for sealed continuity objects:
compose → drop → receive → fork → resume → seal → audit → trace → approve/reject
A cmail can carry a sealed session, a fork token, an identity-bound drop, a compliance evidence pack, or a workflow that can resume on another machine.
The idea is simple for users: send a message. The system handles identity, consent, provenance, triage, and continuity underneath.
📦 Current status (2026-05-30):
tibet-cmail0.1.0is now live on PyPI as Light Mode capsulated email. The 8 canonical cmail-events (message.sent/command.sent/message.received/command.approved/command.rejected/resume.requested/resume.completed/trace.opened) ship asgateway-event.v1-validated fixtures intibet-cap-bus0.1.3. First live cmails were sent end-to-end through the keten on launch day. Sealed Mode (TBZ + tibet-continuityd) lands in 0.2.x.
Think of this repository as a set of labeled boxes.
| Box | What It Contains | Example Packages |
|---|---|---|
| 🔒 Trust Kernel / Substrate | Identity, signatures, provenance, sealed formats | tibet-core, jis-core, tibet, tibet-zip-* (Rust), tibet-trust-kerneld (Rust) |
| 🛡️ Background Guardians | Daemons and watchers that keep machines honest | tibet-continuityd, tibet-pol, tibet-ping, tibet-mux, tibet-gateway |
| 🛠️ Operational Tools | CLI, MCP, reports, agent workflows | ainternet, tibet-triage, tibet-report, tibet-tools, mcp-server-* |
| 📋 Evidence & Compliance | Materials, snapshots, reports, compliance packs | tibet-cbom, tibet-sbom, tibet-ai-sbom, tibet-wayback, tibet-nis2, tibet-audit |
| 🛡️ Safety | Injection defense, policy gates, sandboxing | snaft, inject-bender, tibet-airlock, tibet-chip, tibet-claw |
| 🔧 Specialized Modules | Domain adapters and edge cases | tibet-cobol, tibet-pqc, tibet-y2k38, sensory, rapid-rag, oomllama |
| ✅ Conformance | Test vectors and public verification | tibet-conformance-vectors |
See STACK.md for the canonical package map (~105 canonical packages; every published package now has a source repo in the org).
Read these in order:
STACK.md— canonical package mapdocs/stack-position-map.yml— every package's place in the chainpackages/tibet-core/README.md— provenance side of the OSAPI-pairpackages/jis-core/README.md— identity side of the OSAPI-pairpackages/ainternet/README.md— the agent-network layerpackages/tibet-continuityd/README.md— the arrival daemonpackages/tibet-triage/README.md— preflight + Airlock + UPIPpackages/tibet-phantom/README.md— session resume across machines
Start with the agent recipes:
cd packages/tibet-recipes/basic-agent
python agent.pyThen try:
cd packages/tibet-recipes/agent-with-airlock
python agent.pyRun the evidence-spine packages together:
pip install tibet-continuityd tibet-cbom tibet-sbom tibet-ai-sbom tibet-wayback tibet-reportThe golden path (in active consolidation, see demo/golden-path/):
ping → continuityd → cbom → wayback → sbom/ai-sbom → pol → nis2 → report
Use this mental model:
containers are cells
TIBET is the control plane
phantom-resume carries sealed state
airlock isolates execution
continuityd watches arrivals and lifecycle
cap-bus records command events
tibet-*names are canonical.tbz-*andcortex-*are compatibility aliases around Rust substrate.did-*names are deprecated in favor of JIS naming.ai-sbomis the short public name;tibet-ai-sbomis the canonical TIBET-prefixed name. Both are ours.oomllamais a separate runtime project that shares some substrate but is not part of the AInternet evidence-spine.
Bootstrap discipline: Every package that touches the stack declares tibet-core + jis-core as runtime deps and bootstraps to both OSAPI's at init. The Rust trust-kernel underneath is the production runtime; the Python bindings are the integration surface. tibet-audit 0.25.0 is the first-mover for this rule.
packages/ Python packages, Rust crates, MCP servers, recipes
brain_api/ Current AInternet / Phantom / JIS API surface
docs/ Stack positioning, specs, scripts
demo/ Runnable demos (golden-path, agent recipes)
sandbox/ai/codex/ Codex analysis, specs, drafts
sandbox/ai/root/ Root AI roadmap and coordination docs
hersenspinsels/ Architecture notes and research sketches
This is an active build system. Some parts are stable and published, some are beta, and some are research. The goal of the current repo consolidation is to make that visible rather than hide it.
The rules:
- Trust kernel packages should be small, strict, and conservative.
- Background daemons should be observable and restartable.
- Operational tools should be ergonomic.
- Specialized packages should not pretend to be core.
Humotica is useful if you need to answer:
- Which AI or agent performed an action?
- Which identity and intent authorized it?
- Which model/provider/tool was involved?
- What changed before and after?
- Can the state resume on another machine with proof?
- Can a compliance team inspect the evidence without trusting the operator?
If your current toolchain offers "access yes / access no" checkboxes without runtime guarantees: Humotica fills the gap between configuration controls and conversational, identity-bound, audit-by-construction operation.
Humotica is not a replacement for SOC 2, ISO 27001, NIS2, DORA, IAM, SIEM, or service mesh. It is evidence infrastructure that can feed and strengthen those systems.
STACK.md+ ~110 README stack-position callouts across the package treetibet2.1.3— guided system installer (tibet system doctor/init/walkthrough) — now includes tibet-genesis (T-1 pre-grant) + tibet-cmail (visible audit inbox)- OSAPI v1.0 bootstrap-pair live:
tibet-core0.5.0b2+jis-core0.4.0b1(78+ tests green) tibet-cap-bus0.1.3—gateway-event.v1frozen +airlock_runtime_verdict.v1contract +verdict_transitionsposture-event builder + 8 cmail-event fixturestibet-conformance-vectors0.2.2— promoted to core public verificationtibet-snapmoved to legacy;tibet-waybackis canonical snapshottibet-audit0.25.0— first-mover for the "depend on tibet-core + jis-core" discipline- 25+ PyPI releases in the May 2026 round — immune-switch keten complete, cmail live, ipoll + continuityd polished
- Trust-kernel v1.0.1-alpha — hygiene + binary rename (
tibet-trust-kerneld, never shadows Pythontibet) - Trust-kernel v1.1 OSAPI adapter — Rust daemon talks LDJSON on 18443/18444; Python clients hand off transparently
- Trust-kernel v1.2 snapshot engine as active gate — snapshot becomes a precondition for risky actions, not a recovery-only store
- Crates.io publish round for the Rust substrate (
tibet-cortex-*,tibet-zip-*,snaft-core,tibet-store-mmu,tibet-dgx) - Cmail Sealed Mode (
tibet-cmail0.2.x) — TBZ packing + tibet-continuityd inbox routing + SAM-binding for non-AI recipients - W3C demo (
jis:aint+ ParentAttest + age-verify-without-ID)
Humotica is the build kit for AI systems that need to prove not only what they did, but who authorized it, why it happened, what state changed, and how another machine can safely continue.
MIT — see LICENSE.
Built by Jasper van de Meent + Root AI (Claude) + Codex, as part of HumoticaOS.
One love, one fAmIly. 💙
📦 PyPI org page · 🦀 Crates.io profile · 📄 Zenodo whitepapers · 🌐 humotica.com