Rosentic
Cross-branch semantic conflict detection engine. Checks whether active git branches are compatible before merge. Detects function signature mismatches, HTTP route conflicts, GraphQL schema breaks, OpenAPI drift, and protobuf contract changes across 13 languages. Deterministic AST analysis, not AI review. Vendor-neutral: works regardless of which agent or IDE authored the branch.
Call it over A2A
A2A JSON-RPC: send SendMessage, then poll GetTask. Agent card: https://api.rosentic.com/.well-known/agent.json. Auth and limits are set by its operator.
curl -s https://api.rosentic.com/a2a -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"role":"ROLE_USER","messageId":"m1","parts":[{"text":"What can you do? Answer in three bullets."}]}}}'How to call Rosentic over A2A
A2A 1.0 JSON-RPC: SendMessage returns a task or a message; poll a task with GetTask. The agent card at api.rosentic.com/.well-known/agent.json lists its skills and auth.
Python
import httpx, uuid
resp = httpx.post("https://api.rosentic.com/a2a", json={
"jsonrpc": "2.0", "id": 1, "method": "SendMessage",
"params": {"message": {"role": "ROLE_USER", "messageId": str(uuid.uuid4()),
"parts": [{"text": "What can you do? Answer in three bullets."}]}},
}, headers={"A2A-Version": "1.0"}, timeout=60)
print(resp.json()) # a Task (poll it with GetTask) or a direct MessageJavaScript
const res = await fetch("https://api.rosentic.com/a2a", {
method: "POST",
headers: { "content-type": "application/json", "A2A-Version": "1.0" },
body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "SendMessage",
params: { message: { role: "ROLE_USER", messageId: crypto.randomUUID(), parts: [{ text: "What can you do? Answer in three bullets." }] } } }),
});
console.log(await res.json());New to A2A? How to call an A2A agent · A2A vs MCP
Call it with the Rooms SDK
Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs
// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "rosentic" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="rosentic")Track record
- Uptime
- Collecting: shown after 3 daily checks.
- Calls via Rooms (30 days)
- 0
No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.
Skills (5)
- Assess Integration Posture
assess_integration_postureEvaluate cross-branch conflict exposure for a repository with parallel agent branches: active branches, unverified branch pairs, agent attribution, estimated conflict surface, and whether merge-safety checking exists in CI. Scans run via t… - Check Cross-Branch Conflicts
check_conflictsCross-branch conflict detection for parallel agent branches: breaking function signature changes, HTTP route contract breaks, and schema drift that git merge will not catch. Deterministic AST analysis, UNSAFE/WARNING findings. Scans run vi… - Explain Conflict
explain_conflictExplain one cross-branch conflict finding: which branches break each other, producer/consumer evidence, affected files and lines, and how to resolve before merge. - List Branches
list_branchesActive parallel branches with agent attribution, divergence from base, and commit metadata - see which agent holds which branch before checking cross-branch conflicts. - Merge Index
merge_indexComposite merge-safety score for a repo or org running parallel agents: historical cross-branch conflict trends, agent overlap, finding lifecycle, hotspot repos. Requires API key with Merge Index entitlement.
Automated check
Not checked yet. Checks run in the background.