chatixia blog
Reference March 1, 2026 · 6 min read

Glossary

Definitions for all domain-specific terms used across the chatixia-mesh curriculum. Consult this glossary when you encounter unfamiliar terminology in any lesson.

terminologyreference
On this page

Glossary

Definitions for all domain-specific terms used across the chatixia-mesh curriculum.


A

ADR (Architecture Decision Record) — A short document capturing a single architectural decision: context, decision, and consequences. Creates a decision log so future contributors understand why the system is built this way. Lesson 16

Agent — A Python AI process with skills, LLM integration, and mesh networking. Each agent has one sidecar, registers with the registry, and executes tasks from the hub queue or via direct P2P messages. Lesson 01

API Key — Pre-shared credential (e.g., ak_dev_001) exchanged for a JWT. Stored in api_keys.json, maps to a peer_id and role. Lesson 08

C

C10K Problem — The challenge of handling 10,000 simultaneous connections, driving the shift from thread-per-connection to event-driven architectures. Lesson 04

CGNAT — Carrier-Grade NAT. ISP-level NAT placing entire neighborhoods behind a single public IP. Often requires TURN relay. Lesson 02

Cone NAT — A NAT type allowing replies from varying external addresses depending on sub-type (full, restricted, port-restricted). More permissive than symmetric NAT. Lesson 02

Control Plane — Discovery, routing, authentication, and coordination. In chatixia-mesh: the registry. Knows who is connected but does not carry application data. Lesson 01

Cooperative Multitasking — Tasks voluntarily yield control via await. If a task never yields, it blocks all others. Used by tokio and asyncio. Lesson 04

D

DashMap — A concurrent hash map using sharded locking. Used throughout the registry for state management. Lesson 12

DataChannel — WebRTC primitive for arbitrary data transfer. DTLS-encrypted, peer-to-peer. Runs over SCTP over DTLS over UDP. Lesson 03

Data Plane — Carries application data between agents via WebRTC DataChannels. Separated from control plane so the registry never sees message content. Lesson 01

Defense in Depth — Multiple protection layers so no single failure compromises the system. Lesson 14

DTLS — Datagram Transport Layer Security. TLS-equivalent encryption over UDP for WebRTC DataChannels. Lesson 03

E

Event Loop — Core of an async runtime. Polls for I/O readiness and runs ready tasks until they yield. tokio is multi-threaded; asyncio is single-threaded. Lesson 04

Eventually Consistent — All replicas converge given time, but reads may return stale data. The registry derives agent health from heartbeat recency. Lesson 12

F

Full Mesh — Every node connects to every other. N nodes = N(N-1)/2 connections. Simple but scales quadratically. Lesson 02

G

Graceful Degradation — Three-tier fallback: P2P DataChannel (fastest) -> TURN relay (slower) -> HTTP task queue (slowest, always works). Lesson 01

H

Health — Agent status from heartbeat recency: active (<90s), stale (90-270s), offline (>270s). Lesson 09

Heartbeat — Periodic HTTP POST from agent to registry. Updates metadata and picks up pending tasks. Default: 30 seconds. Lesson 09

HOL Blocking — Head-of-line blocking. A lost packet at the front delays all subsequent packets. WebRTC DataChannels can avoid this with unordered delivery. Lesson 03

Hub — Monitoring/control plane: task queue + React dashboard. Hub API lives in the registry; UI is served as static assets. Lesson 13

I

ICE — Interactive Connectivity Establishment. Discovers the best network path by gathering candidates (host, STUN, TURN) and testing connectivity. Lesson 02

IPC — Inter-Process Communication. JSON-line protocol over Unix domain socket between sidecar and agent. Lesson 06

IpcMessage — JSON-line message between sidecar and agent. Has type and payload fields. Lesson 06

J

JSON-lines — Each line is a valid JSON object. Natural message framing without length prefixes. Lesson 06

JWT — JSON Web Token. Short-lived (5 min) bearer token for WebSocket auth. Contains sub (peer_id), role, exp, iat. Lesson 08

M

MCP — Model Context Protocol. Standard for connecting LLMs to external tools. Agents can expose skills as MCP servers. Lesson 09

Mesh — The network of WebRTC DataChannel connections between sidecars. Full mesh = every sidecar connected to every other. Lesson 01

MeshMessage — Application-level JSON over DataChannels. Fields: type, request_id, source_agent, target_agent, payload. Lesson 07

Multi-stage Docker Build — Earlier stages compile artifacts; final stage copies only outputs into a minimal base image. Lesson 15

N

NAT — Network Address Translation. Maps private IPs to public IPs, preventing direct inbound connections. Lesson 02

P

Peer — A sidecar identified by peer_id, connected to all other peers via DataChannels. Lesson 02

Process Isolation — Running components as separate OS processes so a crash in one does not bring down others. Lesson 10

Protocol Layering — Organizing communication into stacked layers, each with a specific responsibility. Lesson 07

Q

QUIC — UDP-based transport with multiplexed streams, built-in TLS 1.3, and faster connection setup than TCP+TLS. Lacks P2P NAT traversal. Lesson 11

R

Reactor Pattern — Demultiplexing I/O events from multiple sources into a single loop, dispatching to handlers. Foundation of tokio and asyncio. Lesson 04

Registry — Central Rust server (port 8080) providing signaling, discovery, task queue, and hub API. Lesson 01

Request/Response Correlation — Including a request_id so responses match originating requests. Lesson 07

S

SCTP — Stream Control Transmission Protocol. Transport for DataChannels. Supports reliable/unreliable and ordered/unordered delivery. Lesson 03

SDP — Session Description Protocol. Describes media/data capabilities, exchanged as offers and answers during WebRTC negotiation. Lesson 03

Sharded Locking — Dividing a data structure into independently-locked shards for concurrent access. Used by DashMap. Lesson 12

Sidecar — Rust process handling WebRTC on behalf of a Python agent. Communicates via Unix socket IPC. Lesson 10

Signaling — Exchanging SDP and ICE candidates via registry WebSocket to establish WebRTC connections. Lesson 05

Skill — A named capability (Python function) an agent can execute, used for task routing. Lesson 09

State Machine — Finite states with event-driven transitions. Tasks: pending -> assigned -> completed/failed. Lesson 12

STRIDE — Threat modeling framework: Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege. Lesson 14

STUN — Session Traversal Utilities for NAT. Discovers public IP/port mapping. Works with cone NATs; symmetric NATs require TURN. Lesson 02

Symmetric NAT — Creates unique mappings per destination tuple. STUN-discovered addresses are useless for other peers. Requires TURN. Lesson 02

T

Task — Unit of work in the hub queue. Lifecycle: pending -> assigned -> completed/failed. Has TTL, target skill, and optional agent IDs. Lesson 09

Tool-use Loop — LLM generates tool call, agent executes it, returns result, LLM decides next step. Lesson 09

TTL — Time To Live. Maximum seconds a task can remain before expiring. Default: 300s. Lesson 09

TURN — Traversal Using Relays around NAT. Relays traffic through a server when direct/STUN fails. chatixia-mesh uses coturn with ephemeral credentials. Lesson 02

U

UDP Hole-Punching — NAT traversal where peers simultaneously send packets to create NAT mappings. Works with cone NATs, fails with symmetric. Lesson 02

W

WebTransport — Bidirectional communication over QUIC. Potential DataChannel successor for client-server, but lacks P2P and NAT traversal. Lesson 11

Comments