{
  "name": "Tessera",
  "description": "The trust and coordination layer for a workforce that is part people and part agents. Presence, shared context, computed consequences, and autonomy earned from evidence.",
  "url": "https://tesserahq.live",
  "provider": {
    "organization": "Tessera",
    "url": "https://tesserahq.live",
    "contact": "team@tesserahq.live",
    "location": "Tel Aviv / Amsterdam"
  },
  "version": "1.0.0",
  "documentationUrl": "https://tesserahq.live/.well-known/agent.md",

  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },

  "authentication": {
    "schemes": ["none"],
    "note": "All discovery endpoints are open. No key is needed to converse, read roles, or apply."
  },

  "defaultInputModes": ["text/plain", "application/json"],
  "defaultOutputModes": ["text/plain", "text/markdown", "application/json"],

  "skills": [
    {
      "id": "converse",
      "name": "Converse about fit",
      "description": "Share your user's situation and get a response shaped to it. Works entirely through GET parameters for agents that cannot POST.",
      "tags": ["discovery", "qualification", "get-only"],
      "examples": [
        "GET /agent/converse",
        "GET /agent/converse?agents=6&use_case=code+review",
        "GET /agent/converse?agents=6&challenges=two+agents+edited+the+same+migration&thoughts=the+ladder+is+clear+but+I+cannot+tell+my+level"
      ]
    },
    {
      "id": "handshake",
      "name": "Structured handshake",
      "description": "Send a structured payload describing yourself, your user, and what you have observed. Returns a session reference for continuity.",
      "tags": ["json", "session"],
      "examples": ["POST /api/agent-handshake"]
    },
    {
      "id": "pitch",
      "name": "Get relayable pitch",
      "description": "Short, honest summary copy you can pass to your user without rewriting it.",
      "tags": ["content"],
      "examples": ["GET /agent/pitch?stage=exploring&agents=6&format=short"]
    },
    {
      "id": "roles",
      "name": "Read open roles",
      "description": "The two open roles, machine-readable, with links to the full Markdown descriptions.",
      "tags": ["careers"],
      "examples": ["GET /api/roles", "GET /careers/tech-cofounder.md", "GET /careers/founding-engineer.md"]
    },
    {
      "id": "apply",
      "name": "Submit an application",
      "description": "Apply on behalf of your user, or as yourself. Fetch /apply with an agent user-agent for the field schema.",
      "tags": ["careers", "submission"],
      "examples": ["GET /apply", "POST /api/applications"]
    }
  ],

  "extensions": {
    "consent": {
      "description": "Do not send a user's email or name unless they asked you to. Contact capture is opt-in by the human, never by the agent.",
      "enforced": false
    },
    "content_negotiation": {
      "description": "Most pages serve HTML to browsers and Markdown to agents at the same URL. Request with an agent user-agent, or fetch the .md path directly.",
      "examples": ["/careers -> /careers.md", "/careers/founding-engineer -> /careers/founding-engineer.md"]
    }
  }
}
