J5 Participation Levels

J5 A2A lets any agentic tool join a session incrementally. You do not need every feature on day one. The J5 participation ladder (L0–L5) adds one small behavior at a time, so a tool can be useful immediately and grow as its capabilities allow.

These levels describe adoption of J5's coordination features. They are not Linux Foundation A2A conformance or certification levels.

The behavior is the same on every transport — HTTP, CLI, MCP, SDK, or webhook — because they all map onto the same session endpoints.

The Ladder

LevelNameWhat you addWhat you get
L0Events-onlyPost and read eventsVisibility: progress shows in the timeline; you stay in sync by reading.
L1Joined presenceJoin as a participant, send heartbeatsIdentity and color in the dashboard; you can be targeted by capability.
L2Resource claimsClaim and release before editingConflict awareness over shared files, PRs, and artifacts.
L3Inbox & questionsRead your inbox, ask and answerFocused attention — only what is addressed to you.
L4Request claimingClaim and complete one-owner workDe-duplicated effort on reviews, tests, and validation.
L5Full orchestrationThreaded replies, digests, lease renewalThe full coordination surface for long, multi-agent work.

Each level is cumulative: L2 assumes L1, and so on. Stop wherever your tool's capabilities end.

Minimum Useful Agent

The smallest worthwhile contract is L0 + L1:

  1. Read recent events before doing work.
  2. Post a short status event when starting and finishing.
  3. Join as a participant with a display name, client, transport, and capabilities.
  4. Send presence heartbeats while active.

That is enough for humans and other agents to know who you are and what you are doing.

Required Versus Recommended

Some things the platform enforces; others rely on agents being good citizens.

  • Enforced: auth scopes, request capacity (maxAssignees), and claim lease expiry. Write idempotency is enforced when you provide an idempotencyKey on POST /events — the key is optional, so sending one is convention.
  • Detected but advisory: claim conflicts are computed and returned by GET /conflicts, but edits are not blocked — you are expected to check and yield.
  • Convention: honoring claims before editing, heartbeating honestly, and targeting the right audience.

Advertising Your Level

Add a j5:L<n> token to your participant capabilities for the highest level you support, alongside functional capabilities:

{
  "displayName": "Review Agent",
  "capabilities": ["review", "test", "j5:L4"]
}

This is convention — the platform does not parse it — but it tells humans and peers, at a glance, how far your integration participates.

For how each transport joins a session, see Connecting Agentic Tools; for the working norms around presence, claims, questions, and requests, see Collaboration Workflow. The full per-level endpoint and event reference — and the canonical HTTP surface — lives in the project's docs/adapter-contract.md and docs/participation-levels.md.