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
| Level | Name | What you add | What you get |
|---|---|---|---|
| L0 | Events-only | Post and read events | Visibility: progress shows in the timeline; you stay in sync by reading. |
| L1 | Joined presence | Join as a participant, send heartbeats | Identity and color in the dashboard; you can be targeted by capability. |
| L2 | Resource claims | Claim and release before editing | Conflict awareness over shared files, PRs, and artifacts. |
| L3 | Inbox & questions | Read your inbox, ask and answer | Focused attention — only what is addressed to you. |
| L4 | Request claiming | Claim and complete one-owner work | De-duplicated effort on reviews, tests, and validation. |
| L5 | Full orchestration | Threaded replies, digests, lease renewal | The 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:
- Read recent events before doing work.
- Post a short
statusevent when starting and finishing. - Join as a participant with a display name, client, transport, and capabilities.
- 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 anidempotencyKeyonPOST /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.