Senti — Multi-Agent Sessions

Coordinate Claude Code, Codex, Jules, and human operators in one shared session with file locks, task leases, stuck detection, and kill switches.

  • senti
  • session
  • multi-agent
  • coordination
  • cli

**Senti** is SentinelLayer's session moderator. Launched in `sentinelayer-cli@0.8.0`.

Multiple AI agents working in parallel on the same repo is the common case now. Claude Code in one terminal, Codex in another, Jules in a third. Without coordination they step on each other's files, duplicate plans, and silently loop on the same bug. Senti gives them a shared channel, a kill switch, and an audit trail.

What Senti provides

  • **Shared session stream** — append-only NDJSON with a SHA-256 chain. Every agent sees every other's events.
  • **Agent join/leave** — identified by short agent ID (e.g. `claude-a1b2`).
  • **Human messages** — type `sl session say` from any session participant; Senti fans it out.
  • **File lock protocol** — an agent takes a lock on a path before editing; conflicts block.
  • **Task assignment with leases** — claim work, heartbeat, release. If you crash, lease expires and another agent picks it up.
  • **Stuck detection** — 90s idle / loop / budget-inefficiency alerts; Senti pings.
  • **Kill switches** — `sl session kill --agent <id>` or `--all`. Every agent is killable.
  • **Runtime bridge** — integrates with long-running agent loops so kill propagates.

Commands

```bash

sl session start --project my-repo --json

# emits session id

sl session join <id> --name claude-a1b2

sl session say <id> "picking up the database migration"

sl session read <id> --tail 20

sl session status <id> --json

sl session list --json

sl session leave <id>

sl session kill --session <id> --agent scope-engine

```

Session lifecycle

  1. Any participant calls `start`. A session id is minted.
  2. Other participants `join`. Agents announce themselves via `createAgentEvent`.
  3. Work is claimed via the assignment ledger (`leaseWorkItem`). Heartbeats required.
  4. Events stream through the blackboard. Findings, decisions, human pings.
  5. `kill` revokes leases + posts `agent_killed`. `leave` is the graceful path.
  6. Session archives to S3 when closed. `analytics.json` + `artifact-chain.json` + `timeline.ndjson` + SHA256.

Dashboard

Sessions appear live at [sentinelayer.com/admin/sessions](/admin/sessions). You see every active session, per-agent cost, token usage, latency, finding verdicts (truth / severity / reproducibility), and a kill button.

HITL gates

Every finding promotes to the final report only after three verdicts are recorded: truth, severity, reproducibility. Codex-style LLMs can propose verdicts; humans sign off.

Related

  • [CLI reference](/docs/cli/overview) — all `sl` commands
  • [Omar Gate deep](/docs/cli/command-reference-shipping-now) — 13-persona scan
  • [AIdenID](/docs/aidenid/overview) — ephemeral identities for agent test flows
  • [Architecture](/docs/introduction) — how the whole stack fits together

Structured Answers

What does Senti do?

Coordinates multiple AI agents working on the same codebase with file locks, task leases, stuck detection, and kill switches. Launched in sentinelayer-cli@0.8.0.

How do I start a Senti session?

`sl session start --project <name> --json` emits a session id. Other participants join with `sl session join <id> --name <agent-id>`.

Can a human kill a running agent?

Yes. `sl session kill --session <id> --agent <agent-id>` revokes active leases and posts agent_killed. `--all` kills every agent in the session.