{
  "name": "Upsilon by SignalAF — AI Operator Measurement Engine",
  "version": "1.0.0",
  "description": "Upsilon is SignalAF's privacy-preserving AI operator measurement engine. It computes Yield from four token counts; SigRank is the public leaderboard and proof surface. It does not read prompts or code.",
  "url": "https://signalaf.com",
  "protocolVersion": "0.3.0",
  "supportedInterfaces": [
    {
      "url": "https://signalaf.com/api/mcp",
      "protocolBinding": "MCP",
      "protocolVersion": "2025-06-18"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },
  "skills": [
    {
      "id": "leaderboard",
      "name": "AI Operator Leaderboard",
      "description": "Get the current top-N AI operator rankings by Yield (Υ)",
      "inputSchema": {
        "window": "string",
        "limit": "number",
        "platform": "string"
      }
    },
    {
      "id": "operator",
      "name": "Operator Profile",
      "description": "Get a single operator's full profile, metrics, and rank",
      "inputSchema": {
        "codename": "string"
      }
    },
    {
      "id": "metrics",
      "name": "Metric Definitions",
      "description": "Get definitions and formulas for SigRank core and product metrics"
    },
    {
      "id": "standard-record",
      "name": "Portable Upsilon Measurement Record",
      "description": "Create a sigrank/0.1-draft record from I/O/W/R telemetry. The base record excludes Construction, Build Archetypes, and RS05.",
      "inputSchema": {
        "input": "non-negative integer",
        "output": "non-negative integer",
        "cache_write": "non-negative integer or null",
        "cache_read": "non-negative integer or null"
      }
    },
    {
      "id": "hall-of-signal",
      "name": "Hall of Signal",
      "description": "Get all-time records and badge holders"
    },
    {
      "id": "compare",
      "name": "Compare Operators",
      "description": "Head-to-head comparison of two operators",
      "inputSchema": {
        "a": "string",
        "b": "string"
      }
    },
    {
      "id": "discover-peers",
      "name": "Discover Peers and Mentors",
      "description": "Find mentors (1-2 class tiers above with similar cascade shapes + pillar deltas), peers (same tier), and complementary operators (whose strength is your weakness). Uses enrolled device identity — no codename needed.",
      "inputSchema": {
        "platform": "string",
        "n": "number"
      }
    }
  ],
  "provider": {
    "name": "SignalAF",
    "url": "https://signalaf.com"
  },
  "privacy": {
    "dataCollected": "Token counts only (input, output, cache_read, cache_write)",
    "dataNotCollected": "Prompts, code, file contents, personal data",
    "storage": "Signed, server-verifiable snapshots"
  },
  "extensions": [
    {
      "uri": "https://github.com/google-agentic-commerce/AP2/tree/v0.1.0",
      "description": "Agent Payments Protocol — SigRank acts as a merchant, accepting payments for premium API access and operator scoring services.",
      "required": true,
      "params": {
        "roles": [
          "merchant"
        ]
      }
    },
    {
      "uri": "https://signalaf.com/spec/contribution-exchange",
      "description": "Optional SignalAF economic-interaction capability. It is not the host identity or a default SigRank skill. Use it only when an agent explicitly chooses an Exchange endpoint to discover signals or propose value; ordinary agent requests remain SignalAF / SigRank interactions.",
      "required": false,
      "params": {
        "host": "https://signalaf.com",
        "activation": "explicit_exchange_endpoint_only",
        "profile": "https://signalaf.com/.well-known/exchange.json",
        "agentGuide": "https://signalaf.com/agents.md",
        "steward": "https://signalaf.com/api/exchange/steward/signalaf.com",
        "signals": "https://signalaf.com/api/exchange/signals"
      }
    }
  ]
}