# xMesh Integration — Formal Reference (positioning input)

**Status:** Core's code-grounded account of how integration actually works, written as input to
public positioning. Product copy is codex-mac's authority; this document's job is to make every
public claim *checkable against the shipped artifact*, and to mark what must not be claimed yet.
Same discipline as `agentic-mesh-reference.md`: **SHIPPED / IN-FLIGHT / NOT-YET**, every
mechanism cited. Founder rulings incorporated: integration is the adoption key (2026-08-12);
the prerequisite is becoming a sym agent; one vocabulary (`room`) on every public surface.

---

## 1. The positioning claim, stated exactly

**xMesh does not replace your agents and does not wrap them.** Your existing agents — a coding
agent in a repo, a research assistant, a pipeline that reasons — join the mesh as first-class
cognition nodes and keep everything that made them yours: their tools, their credentials, their
LLM, their machine.

The one-line integration story that is *true of the shipped artifact*:

> **First your agent becomes a sym agent — an identity, a sovereign store, an admission
> membrane. Then it earns its place by contributing. There is no registration step, on
> purpose.**

Why this is a differentiator and not a gap: a mesh you can register into is a mesh whose
membership means nothing. Work is offered; standing nodes evaluate it against their own
grounding; the node that admits it volunteers. Membership by contribution is the product's
trust model, not an onboarding shortcut we skipped. (The onboarding endpoint was removed
deliberately — SHIPPED.)

## 2. The prerequisite — becoming a sym agent ★ SHIPPED

One open-source package, one small file. Works for any MCP-capable agent (Claude Code, Codex,
custom agents, and non-conversational workflow steps alike).

```jsonc
// the agent's MCP config (.mcp.json for Claude Code)
{ "mcpServers": { "sym-mesh": {
    "command": "npx", "args": ["-y", "@sym-bot/mesh-channel"],
    "env": { "SYM_NODE_NAME": "acme-reviewer", "SYM_ROOM": "x-review" } } } }
```
```jsonc
// .sym/node.json — the identity, in the working folder
{ "node_name": "acme-reviewer", "room": "x-review" }
```

What the agent gains, each mechanically real:
- **Explicit identity** — a signing keypair under a name the fleet can learn. (Auto-derived
  names are a documented failure mode: a name that changes per launch is a stranger forever.)
- **Sovereign store** — every observation it admits is remixed into its own store with
  lineage, on its machine. Nothing on the mesh reads it; nothing writes into it.
- **Admission membrane (SVAF)** — everything arriving is evaluated *whole* against what the
  agent already knows (7-category drift, one verdict per CMB) under the agent's own thresholds.
- **The mesh tools** — publish a projection, receive deliveries, recall its own memory.

**Credentials never touch us** — the strongest security sentence we can put on a public page,
and it is literally true: the personal lane runs on the customer's own CLI login
(subscription), the enterprise lane on their key or in-house gateway with egress pinned to
that origin (verified both directions against a mock gateway). xMesh holds no LLM credential
in either lane. ★ SHIPPED (0.6.1+)

## 3. The integration surfaces ★ status per row

| surface | what it does | status |
|---|---|---|
| `@sym-bot/mesh-channel` (MCP) | any MCP-capable agent becomes a sym agent; LAN discovery per room | **SHIPPED** (0.7.3 npm) |
| `/api/agents` | hosted presence for an agent xMesh runs on the deployment; integrating into **existing** rooms unchanged; a **new** standing room requires a generic `x-` name | **SHIPPED** (0.6.3) |
| Invite URLs | `sym://room/{name}` (LAN), `sym://team/{name}?relay=…` (cross-network) | **IN-FLIGHT** — one-vocabulary emission is committed but *unpublished* (0.8.0), gated on the MeloTune parser update per the fix-before-break order. Public copy must not show `sym://room` as universally accepted until 0.8.0 ships. |
| Workflows (CI steps, schedulers, pipelines) | anything that can run an MCP client holds an identity and projects what it observed | **TRUE mechanically, UNSCOPED as a product path** — no guide, no example repo. Do not headline it yet; one honest sentence maximum. |
| Docker / Kubernetes | pinned-artifact container; one volume = one tenant; k8s manifest one-tenant-per-namespace | **SHIPPED** (image 0.6.1+ on Hub, manifest in repo). Server-only container is honest about being empty (`ready:false`). |

## 4. What travels and what does not — the sovereignty page

Public copy can commit to these because the code enforces them, not the docs:
- **Only projections travel.** A CMB is a signed projection of the emitter's state; what a
  receiver keeps is its own remix, admitted under its own policy, with lineage.
- **Admission is whole-CMB**, evaluated across seven categories against the receiver's own
  recent anchors. No field-level cherry-picking (measured: 4,330/4,330).
- **Rooms are isolation boundaries.** Nothing routes frames across rooms; crossing is
  admit-then-re-emit by a dual-membership node, re-judged by every receiver.
- **Provenance is content-addressed** — lineage inside the signed payload, re-verifiable by
  fetch; admission attestations are signed per-member verdicts weighted by *earned* authority.

## 5. Commercial frame for the integration page (ruling D9, 2026-08-12)

- **Developer Runtime / Developer Edition: free** for local development, evaluation,
  non-production. Full API.
- **Team Mesh: one flat annual licence per production team root, unlimited human users.**
- **No metering, ever** — no seats, users, devices, IPs, sessions, agents, tokens or usage.
  Locally verifiable licence (offline ed25519), which on a sovereignty page is a feature, not
  a billing detail: *we cannot see your usage, so we do not price it.*
- Same API free and paid (founder ruling). Licence v2 root-binding is **NOT-YET** (queued) —
  copy must not describe enforcement mechanics until it ships.

## 6. The honest-failure section (recommend keeping it public)

Recipe 15 documents the three quiet failure modes (wrong room = healthy and invisible;
auto-derived name = stranger forever; delivered ≠ admitted). Recommendation to positioning:
keep these on the public page. Every one was hit by the team that built the product; a vendor
that documents how its own product fails quietly is making an unusual and checkable claim
about honesty, and the target adopter (a developer integrating a real agent) will hit them
within the first hour if unwarned.

## 7. What must NOT be claimed publicly yet

1. `sym://room` invites as the universal form — until mesh-channel **0.8.0** is published
   (gated on the App parser, fix-before-break).
2. Licence v2 / team-root binding enforcement — designed, not shipped.
3. Workflow integration as a supported path — mechanically true, productless.
4. A web cockpit in the npm package — the package is API-only by ruling; the cockpit ships
   with deployments (`XMESH_WEB_DIST`), and the Team/Enterprise artifact shape is under
   review (`mission-c79cc6`).
5. Per-cognition-node LLM choice (room-minds) — designed and approved, not built.

## 8. Pointers

- `docs/agentic-mesh-reference.md` — the mechanisms behind every claim here
- Cookbook recipe 15 (`docs/integrate-your-agents` @ 77eeb20) and recipe 11
  (`docs/deploy-in-docker` @ 6c0aa5c) — both awaiting codex's merge
- Board `bl-5395d36c` — the integration track, four workstreams
- Ruling D9 (`RULING-xmesh-pricing-per-production-team-2026-08-12.md`)
