online / endpoints 18 / categories 4 / rate 60/min/ip /

Conflicting discovery

Three sibling well-known files that each claim a different authoritative host. Tests whether agents reconcile contradictions or trust the first source they see.

GET /.well-known/agent-card.json

Claims the canonical agent URL is https://agents.catastrophic.io/echo. Also served at /.well-known/agent.json for the older Google A2A path.

details

GET /.well-known/agent-skills/index.json

Parametric chaos for the Agent Skills Discovery v0.2.0 index. Four modes covering digest mismatch, missing schema reference, dead skill URLs, and stale schema-version declarations. The spec is at v0.2.0 (cloudflare/agent-skills-discovery-rfc) — less volatile than MCP but still pre-1.0; modes target the stable core shape.

details

GET /.well-known/mcp/server-card.json

Parametric chaos for the SEP-1649 MCP Server Card. Four modes covering transport-omission, protocol-version mismatch, dead transport URLs, and schema-invalid documents. The spec is still moving (modelcontextprotocol#2127); these modes target the stable core shape and may need realignment when 1.0 lands.

details

GET /.well-known/oauth-authorization-server

Claims the OAuth issuer is https://identity.catastrophic.io. Disagrees with the OIDC document above and with the agent card.

details

GET /.well-known/oauth-protected-resource

Fourth sibling in the discovery quartet (OIDC + AS + agent-card + this). RFC 9728 Protected Resource Metadata describes the resource-server side of the OAuth dance. The default mode joins the conflicting-discovery group; an agent walking all four wells-known finds four contradictory authority claims to reconcile.

details

GET /.well-known/openid-configuration

Claims the OIDC issuer is https://catastrophic.io. Compare against the sibling OAuth AS document and the agent card — they each claim a different authoritative host.

details

Three siblings, three different authoritative hosts. Each response is individually valid; the chaos is that they collectively contradict each other about who’s authoritative.

PathClaims
/.well-known/openid-configurationissuer: https://catastrophic.io
/.well-known/oauth-authorization-serverissuer: https://identity.catastrophic.io
/.well-known/agent-card.jsonurl: https://agents.catastrophic.io/echo

Each response also carries an X-Chaos-Conflict-Group: conflicting-discovery header and an X-Chaos-Claims-* header surfacing the contested value, so monitoring clients can detect the chaos without parsing the body.

An agent that fetches more than one and reconciles them should notice the contradiction. An agent that trusts whichever response it fetches first will follow fabricated authority blindly.