{
  "summary": {
    "total_queries": 23,
    "avg_precision": 0.9217391304347826,
    "avg_recall": 0.6521739130434782,
    "f1_score": 0.7638722075426376,
    "avg_latency_ms": 6.091449571692425,
    "avg_top_score": 1.3921750686956524,
    "content_match_rate": 0.7215189873417721,
    "by_difficulty": {
      "easy": {
        "count": 5,
        "precision": 1.0,
        "recall": 0.5,
        "latency_ms": 3.3808231353759766
      },
      "medium": {
        "count": 9,
        "precision": 1.0,
        "recall": 0.7222222222222222,
        "latency_ms": 8.060110939873589
      },
      "hard": {
        "count": 9,
        "precision": 0.8,
        "recall": 0.6666666666666666,
        "latency_ms": 5.628691779242621
      }
    },
    "by_category": {
      "agent": {
        "count": 3,
        "precision": 1.0,
        "recall": 1.0,
        "latency_ms": 10.589520136515299
      },
      "core": {
        "count": 20,
        "precision": 0.9099999999999999,
        "recall": 0.5999999999999999,
        "latency_ms": 5.416738986968994
      }
    }
  },
  "results": [
    {
      "query": "What is semantic search?",
      "difficulty": "easy",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 3.6988258361816406,
      "top_score": 1.24045893,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.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": 1.0,
      "recall": 0.5,
      "latency_ms": 3.2956600189208984,
      "top_score": 1.6590566500000001,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/vector-databases.md",
        "tests/fixtures/sample_docs/vector-databases.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": 1.0,
      "recall": 0.5,
      "latency_ms": 3.3309459686279297,
      "top_score": 1.8238233,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-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": 3.5429000854492188,
      "top_score": 1.35279325,
      "retrieved_sources": [
        "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/database-design.md",
        "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"
      ],
      "expected_content": [
        "normalization",
        "1NF",
        "2NF",
        "3NF"
      ]
    },
    {
      "query": "How do I handle negation in search queries?",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 3.3042430877685547,
      "top_score": 1.7974537,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.md",
        "tests/fixtures/sample_docs/semantic-search.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": 3.1244754791259766,
      "top_score": 1.27445801,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.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/microservices.md",
        "tests/fixtures/sample_docs/api-design.md"
      ],
      "found_content": [],
      "expected_content": [
        "synchronous",
        "asynchronous",
        "message",
        "REST"
      ]
    },
    {
      "query": "How should I implement caching?",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 3.091573715209961,
      "top_score": 1.24226346,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.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/caching.md",
        "tests/fixtures/sample_docs/semantic-search.md"
      ],
      "found_content": [
        "cache",
        "pattern",
        "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": 3.1499862670898438,
      "top_score": 1.8908488499999998,
      "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/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": 3.1075477600097656,
      "top_score": 1.59698154,
      "retrieved_sources": [
        "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/caching.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"
      ],
      "expected_content": [
        "denormalization",
        "read-heavy",
        "performance"
      ]
    },
    {
      "query": "How do I design a scalable API with proper caching?",
      "difficulty": "hard",
      "precision": 1.0,
      "recall": 0.3333333333333333,
      "latency_ms": 3.1130313873291016,
      "top_score": 1.95202024,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.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"
      ],
      "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": 3.151416778564453,
      "top_score": 1.61268352,
      "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/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": 3.1485557556152344,
      "top_score": 1.2931576,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.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/microservices.md",
        "tests/fixtures/sample_docs/database-design.md"
      ],
      "found_content": [
        "consistency",
        "distributed"
      ],
      "expected_content": [
        "saga",
        "consistency",
        "distributed",
        "transaction"
      ]
    },
    {
      "query": "OAuth 2.0 flows",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 3.1518936157226562,
      "top_score": 0.7975635,
      "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/authentication.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md",
        "tests/fixtures/sample_docs/api-design.md"
      ],
      "found_content": [
        "OAuth",
        "authorization"
      ],
      "expected_content": [
        "OAuth",
        "authorization",
        "flow"
      ]
    },
    {
      "query": "cache eviction policies",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 0.5,
      "latency_ms": 3.067493438720703,
      "top_score": 0.8975890599999999,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.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/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": 1.0,
      "recall": 0.5,
      "latency_ms": 3.0357837677001953,
      "top_score": 1.2153882,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.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": 9.615182876586914,
      "top_score": 1.2951392,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/microservices.md",
        "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/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/authentication.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": 1.0,
      "recall": 1.0,
      "latency_ms": 9.635448455810547,
      "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/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"
      ],
      "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": 1.0,
      "recall": 1.0,
      "latency_ms": 12.517929077148438,
      "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/authentication.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/api-design.md",
        "tests/fixtures/sample_docs/microservices.md",
        "tests/fixtures/sample_docs/microservices.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.4,
      "recall": 0.6666666666666666,
      "latency_ms": 3.1507015228271484,
      "top_score": 1.17036709,
      "retrieved_sources": [
        "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/api-design.md",
        "tests/fixtures/sample_docs/microservices.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": [
        "service"
      ],
      "expected_content": [
        "independent",
        "decentralized",
        "service"
      ]
    },
    {
      "query": "trade-offs between consistency and performance in data architecture",
      "difficulty": "hard",
      "precision": 0.8,
      "recall": 0.5,
      "latency_ms": 3.0808448791503906,
      "top_score": 1.48312773,
      "retrieved_sources": [
        "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",
        "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": 3.245115280151367,
      "top_score": 0.794115,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.md",
        "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": 24.709224700927734,
      "top_score": 1.41709262,
      "retrieved_sources": [
        "tests/fixtures/sample_docs/caching.md",
        "tests/fixtures/sample_docs/caching.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/caching.md"
      ],
      "found_content": [
        "cache",
        "pattern"
      ],
      "expected_content": [
        "cache",
        "pattern",
        "TTL"
      ]
    },
    {
      "query": "authentication methods not using passwords",
      "difficulty": "medium",
      "precision": 1.0,
      "recall": 1.0,
      "latency_ms": 25.83456039428711,
      "top_score": 1.1652044300000002,
      "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/authentication.md"
      ],
      "expected_sources": [
        "tests/fixtures/sample_docs/authentication.md"
      ],
      "found_content": [],
      "expected_content": [
        "OAuth",
        "MFA",
        "biometric"
      ]
    }
  ]
}