Adapters · Barycenters for X

One outlet.
Every plug.

/admit is the outlet. An adapter is the plug: it intercepts a consequential action, asks the boundary, and proceeds only on a signed answer. The same contract that governs a refund governs an EU AI Act obligation and a Starlink satellite dodging a collision. Author the boundary once; plug in anywhere.

intercept propose /admit decides a human bound it receipt

awaiting GET /readyz

01 · Intercept

Catch the action

At the exact point a tool call, a money movement, a deploy, or a record change is about to fire, the adapter catches it — before it executes.

02 · Ask /admit

Propose, don't act

Compile it to an inert proposal and POST /v1/admit. The boundary answers ACCEPT or REFUSE — and REFUSE is terminal, no override.

03 · Proceed or stop

Execute on proof

Execute only on a verified ACCEPT receipt whose fingerprint matches the action; anything else denies with a named reason. Every decision is receipted.

How a plug works

An adapter proposes. It never permits.

Thin glue with exactly one job: turn an action an agent is about to take into an inert proposal, ask /admit, and execute only if the answer is a signed ACCEPT whose fingerprint matches. authority_effect = 0 until a named human signs the boundary — so a bad adapter is a bad proposal, never a bad permission. Wire it in shadow first: it records what would have been refused and blocks nothing, which is what makes it zero-risk to try.

Honest state. Live today · REST the admission primitive — POST /v1/admit, POST /v1/lumen/compile, and signed Ed25519 receipts you recompute yourself, at barycenters-admit.fly.dev. Every adapter below rides this one contract.

Live the SDK (npm i barycenters — govern any agent in 3 lines, zero dependencies, published under the open-forever license) and the MCP server (the universal plug, live at /mcp — tools admit and check_readiness, barycenters-admit 1.29.1). Live Hermes, OpenClaw, DeepSeek Harness, Cursor, and Claude Code as MCP clients. Compose NemoClaw (OpenShell + inner agent). Vision packaged per-domain adapters. Machine catalog: adapters/manifest.json

Runtime plugs · landed

Hermes, OpenClaw, DeepSeek Harness — and the rest of the line.

One contract. Many installs. MCP is live: call the admit tool before consequence. Connecting a client is not an automatic wrap of every other tool — that wrap is bary.govern. A skill that reminds the model is not a gate.

Hermes

Live · MCP client

Nous Research agent. Point mcp_servers.barycenters at the wedge. Call admit (or wrap with bary.govern). Hermes will not intercept its other tools for you.

Install snippet ↓

OpenClaw

Live · MCP client

Personal agent harness. Streamable HTTP under mcp.servers, then openclaw mcp doctor barycenters --probe. Connecting MCP does not bypass OpenClaw tool policy.

Install snippet ↓

DeepSeek Harness

Live · MCP client

Node harness — deepseek-ai/deepseek-harness (npx @deepseek-ai/dsh web). Official @deepseek-ai/dsh-mcp-client, streamable-http at the wedge. Connecting MCP does not wrap bash/edit/write. Wrap with npm bary.govern. No README PR — they do not accept external PRs.

Install snippet ↓

NemoClaw

Compose two floors

NVIDIA host stack — NVIDIA/NemoClaw — that runs OpenClaw, Hermes, or LangChain Deep Agents inside OpenShell. Not a fourth agent. Allow egress to the wedge; the inner agent uses that runtime's OpenClaw / Hermes MCP or bary.govern.

Install snippet ↓

Cursor

Live · MCP client

HTTP MCP in .cursor/mcp.json. Same live tools: admit, check_readiness. The model still has to call admit.

Install snippet ↓

Claude Code

Live · MCP client

HTTP MCP in .mcp.json. Same live tools. A SKILL.md that says “remember to admit” is instructions, not a gate.

Install snippet ↓

Kiro

Live · PreToolUse hook

.kiro/hooks/*.json Agent Hooks — a real PreToolUse gate that fires before the tool runs, so it does not rely on the model remembering to ask. authority_effect 0.

Install snippet ↓

VS Code

Live · MCP client

MCP over HTTP — VS Code’s MCP config (.vscode/mcp.json), or any MCP extension (Claude Code, Continue, Cline). Same live tools: admit, check_readiness. The model still has to call admit.

Install snippet ↓

SDK wrap

Live · bary.govern

The intercept that does not depend on the model remembering. bary.govern(action, fn) admits before the function runs. Shadow never throws.

Install snippet ↓

Per-runtime install

Copy the shape.

sdk · shadow · live
npm i barycenters

import { Barycenters } from "barycenters";

const bary = new Barycenters({
  endpoint: "https://barycenters-admit.fly.dev",
  namespace: "acme/eng",
});
// mode defaults to "shadow": it NEVER blocks.

const deploy = bary.govern("deploy_prod", async (opts) => {
  return runDeploy(opts);
});

await deploy({ env: "production" });
console.log(bary.shadowReport().summary);

Machine catalog adapters/manifest.json · skill (advisory, not a gate) SKILL.md

Boundary packs · the SKU

A pack is law text. It is not the gavel.

Live catalogue: GET /v1/packs. A pack is unsigned law. Nobody uses it as authority. Buying or instantiating grants nothing. You do not wait on Barycenters to sign every pack — your steward signs your namespace. Author signatures prove provenance, not permission. authority_effect = 0.

awaiting the live catalogue…

CI change management

Pack proven

barycenters.packs.ci_change_management — templates merge_to_main, force_push. The pack is proven. Instantiating names a candidate; the bind is a separate human act. Substrate users (founding, /admit, adapters) do not need that bind.

Show the boundary
fetching the live boundary…

Money movement

Draft until bound

barycenters.packs.money_movementissue_refund, issue_payout. Stays a draft until someone instantiates and that namespace’s steward signs. Dami does not have to.

Show the boundary
fetching the live boundary…

Production deploy

Draft until bound

barycenters.packs.production_deploydeploy_production, rotate_secret. Same rule: instantiate is prep; bind is optional and owned by that namespace’s steward.

Show the boundary
fetching the live boundary…

Instantiate ≠ bind. POST /v1/packs/{id}/instantiate returns unsigned candidates — prep, not admission. Bind is POST /v1/boundaries after a human signs a key that never leaves the device. Until then they are names, not permissions. A pack cannot admit anything, ever.

Run it · drop the boundary in your repo

Write the law once. Every surface reads the same spec.

The same pack you browsed above, compiled to the universal hook spec at GET /boundaries/<pack>.json. It is deterministic and content-hashed — the same bytes every time — so a static file is exactly as verifiable as a live call. Drop it in your repo and any surface adapter enforces it. authority_effect 0: it admits or refuses, it never binds. Binding stays the steward’s POST /v1/boundaries.

reading the live boundary catalogue…
reading the live boundary catalogue…
Compile it to your surface. The spec is a standard, not an integration list — a surface with no native adapter reads the identical content-hashed spec, so unlisted never means ungoverned. The native compiles below are conveniences: each enforces the same boundary on its own tool names, resolved client-side so the server never becomes surface-specific.
select a pack above
the drop-in file
select a pack above
Flagship plug · regulation as an enforceable control

Barycenters for the EU AI Act

Primitive livePackaged adapter: vision

Article 14 human oversight and Article 12 traceability stop being policies asserted in a PDF and become properties the runtime can prove on demand — every consequential action admitted or terminally refused inside a boundary one accountable human signed, each decision a tamper-evident receipt.

Why now: the Act applies in phases. Art. 5 prohibited practices are in force since Feb 2025 (fines to €35M / 7% of global turnover); GPAI duties since Aug 2025; the bulk of the regime and general penalties from Aug 2026; the Annex III high-risk requirements (Arts. 9–15) land Dec 2027 per the 2026 Digital Omnibus. The controls a deployer must demonstrate become enforceable across 2026–27 — building the enforcement-and-evidence substrate ahead of that is the sober move.

€35M / 7%max penalty (Art. 5)
Art. 14human oversight → one signer
Art. 12traceability → signed receipts
Dec 2027high-risk reqs enforceable

Human oversight

Shadow
Art. 14(4)(d) — disregard / override / reverse

Requires: a human can decide not to use the system, or override/reverse its output.

The action executes only if a boundary a named human Ed25519-signed admits it. Override by construction: on enforce, the harmful action never runs. REFUSE is terminal.

Not the Art. 14(4)(e) stop-button that halts a running model — by our CADA law we never build kill switches. This is override-by-construction, not a pause surface.

Record-keeping

Live
Art. 12 — logging & traceability

Requires: automatic, lifetime-durable records sufficient to trace the system's functioning.

Every decision is a signed receipt (proposal hash, policy version, decision, reason, principal, time) — verifiable with the public key alone, single-use, tamper-evident. Both ACCEPT and REFUSE are receipted.

This is the high-integrity admission-decision log — the governed-actions slice of Art. 12, not the whole model's event log.

Risk management

Shadow
Art. 9 — mitigation

Requires: targeted risk-mitigation measures, applied and documented.

Default-deny: consequential actions are refused unless a human-authored boundary grants them, and Lumen fails narrower, never silently wider. Each mitigation mints proof it was applied.

One evidenced mitigation control — a component that plugs into a risk-management system, not the system, register, or analysis itself.

Prohibited practices

Shadow
Art. 5 — refuse a banned practice

Requires: certain practices are never permitted.

Where a banned practice is a discrete action, a boundary encodes it as never-admissible: /admit refuses it terminally, with a receipt proving the refusal.

Enforcement of a stated ban, not detection of one — we classify the verb on a proposed action, not the model's intent. A first-class PROHIBITION modality is on the roadmap.

Honest boundary Barycenters is a technical control-and-audit substrate, not legal advice and not a compliance suite. It does not classify whether your system is high-risk, author your risk register or Annex IV docs, run conformity assessment, evaluate a model, or watermark content. It governs the consequential actions an AI system attempts — one high-integrity slice of the obligations, provably. Anyone selling "a REST gateway makes you compliant" is selling trust; we sell proof of a specific control. Validate scope with counsel.
Flagship plug · the Starlink problem

Barycenters for autonomous space

Primitive liveSpace deployment: vision

Hundreds of thousands of satellite maneuvers a year, executed on-board at machine speed with no human in the loop and no central authority. A human sets the boundary once — never deorbit onto a populated area, never accept a lethal conjunction — and every autonomous decision must pass the floor and mint a receipt for deterministic replay. Prove the flight envelope once; execute at constellation scale forever.

The gap: Starlink now flies ~10,860 satellites and reported 207,152 autonomous collision-avoidance maneuvers in a single half-year — roughly one dodge somewhere in the fleet every ~1.8 minutes, fired on-board within seconds. No human can review one decision every two minutes, and there is no air-traffic-control for orbit. The only human control point that can exist is the boundary the autonomy acts within — and the only accountability is whether every act can be replayed. That is human-authority-at-machine-speed, the exact gap the admission primitive closes.

207,152auto maneuvers / half-year
~10,860satellites in the fleet
~1.8 minbetween dodges, fleet-wide
0humans in the loop

Source: Starlink public FCC filings + third-party reporting — an illustration of the problem, not our data and not a relationship.

Collision avoidance

Vision
on-board, seconds-scale

Action: fire thrusters to dodge a conjunction, autonomously, within seconds.

Too fast for a ground round-trip, so the human signs a no-kill floor once, on the ground (never raise net collision probability; never breach minimum separation); the floor is carried on-board and admits or terminally refuses each maneuver, with receipts reconciled for replay.

The honest mapping is a pre-compiled on-board boundary + after-the-fact replay — not a live per-maneuver REST call from orbit.

Controlled deorbit

Vision
the literal no-kill floor

Action: drop a satellite through the atmosphere onto a chosen ground track.

Not seconds-critical, so /admit can adjudicate per-action: REFUSE any reentry whose predicted footprint intersects a populated zone. Deorbit is denied by default; a specific ocean corridor is the grant — safe by omission.

The physical instance of "a person is not a resource": the one thing autonomy must never be free to do.

"Who moves" negotiation

Vision
two operators, no shared authority

Action: two constellations face a mutual conjunction and must decide who yields.

Each proposes its maneuver; the floor refuses any plan that assumes the other will move without an admitted, receipted commitment. The receipt is the shared, replayable artifact both operators and a regulator can audit.

An authority gap, not a physics gap — exactly what a deterministic admission layer removes.

Spectrum & laser mesh

Vision
critical-infra routing & RF

Action: autonomously reroute a petabit laser mesh or steer RF beams within licensed limits.

Each change is proposed and admitted against a human-set policy (protected traffic classes, EPFD masks, no-transmit zones); violations are refused, every change receipted — "trust us, we stayed in license" becomes a provable record.

The network-layer expression of the same primitive: propose → admit within boundary → refuse the unsafe → receipt everything.

Honest boundary This is the Barycenters model applied as illustration — a vision for a per-domain adapter, not a shipped space product and not a relationship. We have no association with SpaceX, Starlink, OneWeb, or any operator, and none use or endorse Barycenters. Every figure here (the maneuver counts, the fleet size, the deorbit numbers) is SpaceX's or third-party public reporting about Starlink — it is not our data and not our achievement. What is live today is a terrestrial REST service in shadow mode; a space-qualified deployment is the frontier this floor opens, not a claim.
More plugs · the primitive is horizontal

Measure once. Cut all you want.

The same contract — intercept, propose, admit within a human-signed boundary, receipt — is the plug for every domain where a consequential action needs a bound it cannot cross. Each is "Barycenters for X"; each rides the one live REST primitive. See what becomes possible →

Healthcare

Vision

An agent touches a record, a dose, a referral only because "never without a clinician's sign-off" is a proven boundary, not a promise.

Critical infrastructure

Vision

Grids, water, pipelines governed at machine speed under a human-bound floor no automation can cross.

Government & defense

Vision

Autonomous action under a constitution a citizen can check — and no unlock is lethal: the No-Kill floor refuses by construction, above every signature.

Energy & utilities

Vision

Dispatch, trading, load-shedding at machine speed — each irreversible move admitted or refused before it fires, and provable after.

Legal & contracts

Vision

Clauses that execute themselves, but only inside the bounds a human signed. The contract and its enforcement are one object.

Capital markets

Vision

An order is admitted against a pre-trade boundary before it fires; the receipt is the audit, reconstructable by anyone — not a compliance memo.

Supply chain

Vision

Autonomous logistics routes goods at any scale but can never move money — or people — outside the bind a steward authored.

Identity & access

Vision

Every grant a permission authored, never a prohibition guessed. What you didn't allow is refused by construction — omission is safe.

Robotics & physical autonomy

Vision

A robot acts freely, but a destructive operation on a physical person is refused at Layer 0 — the No-Kill floor.

Law-at-scale · EU AI Act

Vision

Compliance as a provable floor, not a PDF — the regulation compiles into a boundary a regulator can verify.

Agents, over MCP

Live

Point Hermes, OpenClaw, DeepSeek Harness, LangChain, Cursor, Claude Code — any MCP client — at /mcp. Live tools: admit, check_readiness. Call admit before consequence; connecting is not an automatic wrap of every other tool.

One contract, underneath all of it

Author the boundary once. Plug it in everywhere.

An EU AI Act obligation and a satellite dodging a collision are the same shape: a consequential action that must be admitted or refused inside a boundary a human signed, and proven after. That contract is live today over REST and MCP; Hermes, OpenClaw, DeepSeek Harness, Cursor, Claude Code, and the SDK are the plugs; packaged domain adapters are the road ahead — open forever, the Cloud give-back.

authority_effect = 0 until a human signs · a REFUSE is never billed · every plug rides one live contract