v1.6 Durable agent task broker — seeking early adopters

Durable
Agent Task Broker

Reliably hand off tasks between AI agents.
No lost tasks, no rate-limit blowouts, no policy bypass, full traceability.

PostgreSQL + NATS dual-write OpenTelemetry tracing A2A / MCP / SDK
The Problem

Agent Collaboration Breaks in Production

When agents hand off work directly, every failure mode below becomes an outage. Janus sits in the middle and removes them.

📭

Lost Tasks

Tasks vanish when agents go offline

→ Durable mailboxes survive crashes
🔍

No Traceability

Who called whom and with what data?

→ Full audit trail + Trace ID
💥

Concurrency Overload

Downstream agents get overwhelmed

→ Budget + concurrency limits
🔐

No Access Control

No rules on who can call whom

→ Policy engine + approval flow
💰

Invisible Usage

Which team exceeded token budget?

→ Token / cost budget control
🔌

Protocol Chaos

Every framework has a different interface

→ A2A / MCP / SDK unified access
Capabilities

Core Capabilities

Six pillars that turn fragile agent-to-agent calls into a governed, observable, durable mesh.

📡 Live Streaming

  • New in v1.4: real-time task progress via SSE
  • Agents report progress like logging: progress("Analyzing...", 60)
  • Subscribe from any SDK, Console, or A2A client
  • Streams auto-close on task completion

🔄 Durable Delivery

  • New in v1.6: agent identity enforced at every entrypoint (middleware + service-layer authority overwrite), task state always durable, notifications best-effort (poll GetTask for authoritative state), official a2a-go client interop suite in CI, 85% coverage floor
  • PostgreSQL-only mode (CI-verified without Redis) — NATS optional accelerator
  • Dual-write persistence: PostgreSQL + NATS (optional)
  • Automatic recovery after agent crashes
  • Idempotent ACK/NACK, no double execution
  • Auto-retry + dead letter queue + replay

⚖️ Governance

  • Policy engine: who can call whom, with what data
  • Budget: RPM / TPM / concurrency enforced (broker-counted); token & cost are agent-reported visibility
  • Human approval for high-risk tasks
  • Full audit trail for every step

🧭 Capability Routing

  • Match agents by capability, not hard-coded target
  • Hard constraints: online / policy / capacity / budget
  • Semantic scoring of candidates
  • Capability-based routing (NL intent resolver on roadmap)

🔌 Multi-Protocol

  • HTTP REST API + gRPC
  • A2A v1 subset Gateway — Agent Card, Send/Stream, Get/List/Cancel/Subscribe, verified against the official a2a-go client
  • ACP Gateway (Manifest / Runs) — deprecated → A2A (Sunset 2026-12-31)
  • MCP Gateway (Tool Call / Resource)

📊 Observability

  • Prometheus metrics (16+ core metrics)
  • OpenTelemetry distributed tracing
  • Structured JSON logging
  • Pre-built Grafana dashboard

🛡️ Security

  • Tenant isolation (data / messages / files)
  • API Key auth + mTLS
  • Automatic cross-tenant access denial
  • Security audit events
Quick Start

Running in 5 Minutes

One command to start the broker, a few lines of SDK to publish and complete your first durable task.

1. Start Janus
$ docker compose up -d
2. Publish a task (Python SDK)
from janus_broker import JanusClient

client = JanusClient("http://localhost:8080", tenant_id="acme")
client.publish_task({
    "id": "task-001",
    "source_agent": "product",
    "target_type": "mailbox",
    "target_value": "review-mb",
    "envelope": { ... }
})
3. Agent pulls and completes
result = client.pull_task("review-mb", "reviewer")
client.start_task(result.task.id, result.lease.lease_id)

# Process task...

client.ack_task(result.task.id, {
    "lease_id": result.lease.lease_id,
    "result_ref": "s3://result.json"
})
Full Tutorial →
Use Cases

Built for Real Agent Workflows

Any pipeline that chains agents becomes reliable the moment it runs through Janus mailboxes.

📝 Code Review

Product → Review → Code → Test → Deploy

PR triggers review agent, code agent fixes issues, test agent validates, deploy agent ships

🔧 CI Auto-Fix

Failure → Diagnose → Fix → Verify → Merge

CI failure auto-dispatches to diagnosis agent, generates fix, validates and merges

🔒 Security Scan

Commit → Dependency Scan → Credential Check → Approve

Auto-scan for vulnerabilities and leaked credentials, high-risk changes require approval

Compatibility

Framework Compatibility

Bring your existing stack — Janus bridges them all through one durable backbone.

LangGraph AutoGen CrewAI GitHub Actions Claude Code Custom Agents Human Approval Nodes
View Integration Examples →

Ship agent collaboration
that survives production.

Reliable, governed, auditable, and recoverable — from the first task to the millionth.