{
  "summary": {
    "total_queries": 23,
    "avg_precision": 0.7613433667781493,
    "avg_recall": 0.6884057971014493,
    "f1_score": 0.7230398200365377,
    "avg_latency_ms": 18.08340653129246,
    "avg_top_score": 1.3924486786956525,
    "content_match_rate": 0.8987341772151899,
    "by_difficulty": {
      "easy": {
        "count": 5,
        "precision": 0.5833333333333333,
        "recall": 0.6,
        "latency_ms": 13.858270645141602
      },
      "medium": {
        "count": 9,
        "precision": 0.9222222222222223,
        "recall": 0.7222222222222222,
        "latency_ms": 12.253496381971571
      },
      "hard": {
        "count": 9,
        "precision": 0.6993589743589743,
        "recall": 0.7037037037037037,
        "latency_ms": 26.2606143951416
      }
    },
    "by_category": {
      "agent": {
        "count": 3,
        "precision": 0.8814102564102564,
        "recall": 1.0,
        "latency_ms": 43.93212000528971
      },
      "core": {
        "count": 20,
        "precision": 0.7433333333333333,
        "recall": 0.6416666666666667,
        "latency_ms": 14.206099510192871
      }
    }
  },
  "results": [
    {
      "query": "What is semantic search?",
      "difficulty": "easy",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 14.754533767700195,
      "top_score": 1.24045893,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/vector-databases.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/vector-databases.md"
      ],
      "found_content": [
        "semantic search",
        "meaning",
        "intent"
      ],
      "expected_content": [
        "semantic search",
        "meaning",
        "intent"
      ]
    },
    {
      "query": "vector database",
      "difficulty": "easy",
      "precision": 0.3333333333333333,
      "recall": 0.5,
      "latency_ms": 14.742374420166016,
      "top_score": 1.6590566500000001,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/semantic-search.md"
      ],
      "found_content": [
        "vector",
        "embeddings",
        "similarity"
      ],
      "expected_content": [
        "vector",
        "embeddings",
        "similarity"
      ]
    },
    {
      "query": "REST API design",
      "difficulty": "easy",
      "precision": 0.3333333333333333,
      "recall": 0.5,
      "latency_ms": 14.594793319702148,
      "top_score": 1.8238233,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/microservices.md"
      ],
      "found_content": [
        "REST",
        "HTTP"
      ],
      "expected_content": [
        "REST",
        "HTTP",
        "endpoints"
      ]
    },
    {
      "query": "database normalization",
      "difficulty": "easy",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 10.125160217285156,
      "top_score": 1.35279325,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/database-design.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/vector-databases.md"
      ],
      "found_content": [
        "normalization",
        "1NF",
        "2NF",
        "3NF"
      ],
      "expected_content": [
        "normalization",
        "1NF",
        "2NF",
        "3NF"
      ]
    },
    {
      "query": "How do I handle negation in search queries?",
      "difficulty": "medium",
      "precision": 0.5,
      "recall": 1.0,
      "latency_ms": 14.759302139282227,
      "top_score": 1.7974537,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/vector-databases.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/semantic-search.md"
      ],
      "found_content": [
        "negation",
        "preprocessing",
        "without",
        "not"
      ],
      "expected_content": [
        "negation",
        "preprocessing",
        "without",
        "not"
      ]
    },
    {
      "query": "What are microservices communication patterns?",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 10.735273361206055,
      "top_score": 1.27445801,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/api-design.md"
      ],
      "found_content": [
        "synchronous",
        "asynchronous",
        "message",
        "REST"
      ],
      "expected_content": [
        "synchronous",
        "asynchronous",
        "message",
        "REST"
      ]
    },
    {
      "query": "How should I implement caching?",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 10.376691818237305,
      "top_score": 1.24226346,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/semantic-search.md"
      ],
      "found_content": [
        "cache",
        "pattern",
        "TTL",
        "invalidation"
      ],
      "expected_content": [
        "cache",
        "pattern",
        "TTL",
        "invalidation"
      ]
    },
    {
      "query": "What's the difference between authentication and authorization?",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 10.575532913208008,
      "top_score": 1.8908488499999998,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/api-design.md"
      ],
      "found_content": [
        "authentication",
        "authorization",
        "who",
        "what"
      ],
      "expected_content": [
        "authentication",
        "authorization",
        "who",
        "what"
      ]
    },
    {
      "query": "When should I denormalize a database?",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 16.77227020263672,
      "top_score": 1.59698154,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "found_content": [
        "denormalization",
        "read-heavy"
      ],
      "expected_content": [
        "denormalization",
        "read-heavy",
        "performance"
      ]
    },
    {
      "query": "How do I design a scalable API with proper caching?",
      "difficulty": "hard",
      "precision": 0.8,
      "recall": 1.0,
      "latency_ms": 26.426315307617188,
      "top_score": 1.95202024,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/microservices.md"
      ],
      "found_content": [
        "API",
        "cache"
      ],
      "expected_content": [
        "API",
        "cache",
        "performance",
        "scalable"
      ]
    },
    {
      "query": "What are the security considerations for JWT tokens?",
      "difficulty": "hard",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 10.641336441040039,
      "top_score": 1.61268352,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "found_content": [
        "JWT",
        "security",
        "expiration",
        "HTTPS"
      ],
      "expected_content": [
        "JWT",
        "security",
        "expiration",
        "HTTPS"
      ]
    },
    {
      "query": "How do microservices handle data consistency?",
      "difficulty": "hard",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 11.236906051635742,
      "top_score": 1.2931576,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/database-design.md"
      ],
      "found_content": [
        "saga",
        "consistency",
        "distributed",
        "transaction"
      ],
      "expected_content": [
        "saga",
        "consistency",
        "distributed",
        "transaction"
      ]
    },
    {
      "query": "OAuth 2.0 flows",
      "difficulty": "medium",
      "precision": 0.8,
      "recall": 0.5,
      "latency_ms": 14.159679412841797,
      "top_score": 0.8038565299999999,
      "retrieved_sources": [
        "tests/fixtures/discrimination_docs/web-auth.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/api-design.md"
      ],
      "found_content": [
        "OAuth",
        "authorization",
        "flow"
      ],
      "expected_content": [
        "OAuth",
        "authorization",
        "flow"
      ]
    },
    {
      "query": "cache eviction policies",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 11.382102966308594,
      "top_score": 0.8975890599999999,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/semantic-search.md"
      ],
      "found_content": [
        "LRU",
        "LFU",
        "eviction"
      ],
      "expected_content": [
        "LRU",
        "LFU",
        "eviction"
      ]
    },
    {
      "query": "API versioning strategies",
      "difficulty": "easy",
      "precision": 0.25,
      "recall": 0.5,
      "latency_ms": 15.074491500854492,
      "top_score": 1.2153882,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "found_content": [
        "version",
        "v1",
        "v2"
      ],
      "expected_content": [
        "version",
        "v1",
        "v2"
      ]
    },
    {
      "query": "How do microservices handle authentication while maintaining cache consistency across distributed services?",
      "difficulty": "hard",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 44.806718826293945,
      "top_score": 1.2951392,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "found_content": [
        "authentication",
        "cache",
        "distributed",
        "service"
      ],
      "expected_content": [
        "authentication",
        "cache",
        "distributed",
        "service"
      ]
    },
    {
      "query": "Compare session-based auth with JWT tokens and explain when to use each with API versioning",
      "difficulty": "hard",
      "precision": 0.875,
      "recall": 1.0,
      "latency_ms": 40.38596153259277,
      "top_score": 1.2887946399999999,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/discrimination_docs/android-auth.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/api-design.md"
      ],
      "found_content": [
        "session",
        "JWT",
        "stateless",
        "version"
      ],
      "expected_content": [
        "session",
        "JWT",
        "stateless",
        "version"
      ]
    },
    {
      "query": "I need to understand how to build a complete web application that handles user authentication with OAuth 2.0 and JWT tokens while also implementing a caching layer with proper cache invalidation strategies and designing a RESTful API with versioning and pagination for large datasets across multiple microservices",
      "difficulty": "hard",
      "precision": 0.7692307692307693,
      "recall": 1.0,
      "latency_ms": 46.60367965698242,
      "top_score": 1.7596460600000001,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/microservices.md"
      ],
      "found_content": [
        "OAuth",
        "JWT",
        "cache",
        "REST",
        "pagination"
      ],
      "expected_content": [
        "OAuth",
        "JWT",
        "cache",
        "REST",
        "pagination"
      ]
    },
    {
      "query": "distributed systems design principles",
      "difficulty": "hard",
      "precision": 0.25,
      "recall": 0.3333333333333333,
      "latency_ms": 14.535188674926758,
      "top_score": 1.17036709,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/database-design.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/vector-databases.md"
      ],
      "found_content": [],
      "expected_content": [
        "independent",
        "decentralized",
        "service"
      ]
    },
    {
      "query": "trade-offs between consistency and performance in data architecture",
      "difficulty": "hard",
      "precision": 0.6,
      "recall": 0.5,
      "latency_ms": 26.1995792388916,
      "top_score": 1.48312773,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/database-design.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/database-design.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "found_content": [
        "denormalization",
        "read-heavy",
        "cache"
      ],
      "expected_content": [
        "denormalization",
        "read-heavy",
        "cache",
        "stale"
      ]
    },
    {
      "query": "quantum entanglement in photosynthesis",
      "difficulty": "hard",
      "precision": 0.0,
      "recall": 0.0,
      "latency_ms": 15.509843826293945,
      "top_score": 0.794115,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [],
      "found_content": [],
      "expected_content": []
    },
    {
      "query": "caching strategies without Redis",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 11.101961135864258,
      "top_score": 1.41709262,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/caching.md"
      ],
      "found_content": [
        "cache",
        "pattern",
        "TTL"
      ],
      "expected_content": [
        "cache",
        "pattern",
        "TTL"
      ]
    },
    {
      "query": "authentication methods not using passwords",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 10.41865348815918,
      "top_score": 1.1652044300000002,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "found_content": [
        "OAuth",
        "MFA",
        "biometric"
      ],
      "expected_content": [
        "OAuth",
        "MFA",
        "biometric"
      ]
    }
  ]
}