{
  "metadata": {
    "corpus_docs": 89,
    "query_count": 108,
    "runs": 3,
    "k": 5,
    "warmup_queries": 5,
    "timestamp": "2026-02-24T13:00:48"
  },
  "summaries": {
    "candlekeep-hybrid": {
      "competitor": "candlekeep-hybrid",
      "total_queries": 324,
      "runs": 3,
      "mrr": 0.5558641975308641,
      "mrr_ci": [
        0.5017386831275721,
        0.6039171810699588
      ],
      "ndcg_5": 0.5674040932217492,
      "ndcg_5_ci": [
        0.5129157559912593,
        0.6159973792948451
      ],
      "hit_rate_1": 0.5370370370370371,
      "hit_rate_5": 0.5925925925925926,
      "hit_rate_5_ci": [
        0.5370370370370371,
        0.6419753086419753
      ],
      "precision_5": 0.46080246913580253,
      "content_match": 0.8079744816586922,
      "latency_p50": 52.152166,
      "latency_p95": 74.308417,
      "latency_p99": 83.975583,
      "avg_tokens": 3083.4104938271603,
      "by_category": {
        "adversarial": {
          "mrr": 0.0,
          "mrr_ci": [
            0.0,
            0.0
          ],
          "hit_rate_5": 0.0,
          "hit_rate_5_ci": [
            0.0,
            0.0
          ],
          "ndcg_5": 0.0,
          "precision_5": 0.0,
          "count": 90
        },
        "lexical": {
          "mrr": 0.5566666666666666,
          "mrr_ci": [
            0.4640740740740741,
            0.6555648148148148
          ],
          "hit_rate_5": 0.6666666666666666,
          "hit_rate_5_ci": [
            0.5666666666666667,
            0.7555555555555555
          ],
          "ndcg_5": 0.5926547355982971,
          "precision_5": 0.4261111111111111,
          "count": 90
        },
        "semantic": {
          "mrr": 0.9027777777777778,
          "mrr_ci": [
            0.8518518518518517,
            0.9444444444444444
          ],
          "hit_rate_5": 0.9166666666666666,
          "hit_rate_5_ci": [
            0.8680555555555556,
            0.9583333333333334
          ],
          "ndcg_5": 0.90625,
          "precision_5": 0.7704861111111111,
          "count": 144
        }
      }
    },
    "ragatouille": {
      "competitor": "ragatouille",
      "total_queries": 324,
      "runs": 3,
      "mrr": 0.5473765432098765,
      "mrr_ci": [
        0.49042566872427984,
        0.5952764917695473
      ],
      "ndcg_5": 0.5591924931547628,
      "ndcg_5_ci": [
        0.503698211658125,
        0.6062256211430783
      ],
      "hit_rate_1": 0.5277777777777778,
      "hit_rate_5": 0.5833333333333334,
      "hit_rate_5_ci": [
        0.5277777777777778,
        0.6327160493827161
      ],
      "precision_5": 0.5074074074074074,
      "content_match": 0.6292663476874003,
      "latency_p50": 23.368,
      "latency_p95": 28.98275,
      "latency_p99": 29.884334,
      "avg_tokens": 721.9351851851852,
      "by_category": {
        "adversarial": {
          "mrr": 0.0,
          "mrr_ci": [
            0.0,
            0.0
          ],
          "hit_rate_5": 0.0,
          "hit_rate_5_ci": [
            0.0,
            0.0
          ],
          "ndcg_5": 0.0,
          "precision_5": 0.0,
          "count": 90
        },
        "lexical": {
          "mrr": 0.5677777777777778,
          "mrr_ci": [
            0.4729351851851852,
            0.6688888888888889
          ],
          "hit_rate_5": 0.6333333333333333,
          "hit_rate_5_ci": [
            0.5333333333333333,
            0.7333333333333333
          ],
          "ndcg_5": 0.587697658452382,
          "precision_5": 0.47333333333333333,
          "count": 90
        },
        "semantic": {
          "mrr": 0.8767361111111112,
          "mrr_ci": [
            0.8229021990740739,
            0.9236255787037038
          ],
          "hit_rate_5": 0.9166666666666666,
          "hit_rate_5_ci": [
            0.8680555555555556,
            0.9583333333333334
          ],
          "ndcg_5": 0.8908720730654773,
          "precision_5": 0.8458333333333333,
          "count": 144
        }
      }
    }
  },
  "details": {
    "candlekeep-hybrid": [
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "What is semantic search?",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 1.0,
        "latency_ms": 50.249084,
        "tokens": 1192
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "vector database",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/database-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 1.0,
        "latency_ms": 58.671833,
        "tokens": 585
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/api-design.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.25,
        "content_match": 0.9333333333333333,
        "latency_ms": 40.796083,
        "tokens": 3614
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.8,
        "latency_ms": 61.619583,
        "tokens": 1405
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.450833,
        "tokens": 4425
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "PostgreSQL 15 internals",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.594041,
        "tokens": 3978
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 41.794583,
        "tokens": 4044
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "TLS 1.3 handshake process",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tls-ssl.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 46.667166,
        "tokens": 3924
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.6,
        "latency_ms": 46.137,
        "tokens": 3772
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 1.0,
        "latency_ms": 42.47125,
        "tokens": 6673
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "Redis 7.0 Multi-part AOF",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/redis-data-structures.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.9333333333333333,
        "latency_ms": 49.611292,
        "tokens": 2362
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.6666666666666666,
        "latency_ms": 55.469416,
        "tokens": 1544
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "OWASP Top 10 2021",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.4,
        "latency_ms": 67.455666,
        "tokens": 1558
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 60.922041,
        "tokens": 2624
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "TCP/IP layer 4",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.75,
        "content_match": 1.0,
        "latency_ms": 43.215125,
        "tokens": 5145
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "IPv6 address format",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 72.692542,
        "tokens": 1901
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 53.071959,
        "tokens": 1818
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/shell-scripting.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 66.7625,
        "tokens": 2316
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "Python 3.10 match statement",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 74.308417,
        "tokens": 1687
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 38.989666,
        "tokens": 4996
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.9333333333333333,
        "latency_ms": 50.956292,
        "tokens": 2106
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "BGE-small-en-v1.5 model",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 65.866834,
        "tokens": 1820
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "ChromaDB v0.4.0",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 54.827125,
        "tokens": 2890
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "MS-MARCO MiniLM L-6-v2",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 55.434541,
        "tokens": 1581
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "JWT RS256 signing",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/authentication.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 60.997125,
        "tokens": 1596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.6,
        "latency_ms": 43.944542,
        "tokens": 4162
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/cloud-networking.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 63.530541,
        "tokens": 3390
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.2,
        "ndcg_5": 0.38685280723454163,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 61.847375,
        "tokens": 3359
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2727272727272727,
        "latency_ms": 43.125708,
        "tokens": 4133
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.710083,
        "tokens": 3596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.9333333333333333,
        "latency_ms": 44.670625,
        "tokens": 4472
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "YAML 1.2 syntax",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 66.867666,
        "tokens": 1146
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "Docker Compose v2",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/api-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.8666666666666667,
        "latency_ms": 52.861167,
        "tokens": 2765
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "AWS IAM policies",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 61.3925,
        "tokens": 1576
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 38.579583,
        "tokens": 3871
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 38.830041,
        "tokens": 3634
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 0.9333333333333333,
        "latency_ms": 41.643667,
        "tokens": 3224
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "microservices data consistency",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 52.194083,
        "tokens": 1577
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 38.780709,
        "tokens": 5231
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "zero trust security principles",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 34.025,
        "tokens": 1824
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "continuous integration best practices",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 68.707708,
        "tokens": 1322
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "database sharding strategies",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 36.007667,
        "tokens": 3717
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 38.353083,
        "tokens": 3790
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.8666666666666667,
        "latency_ms": 59.365791,
        "tokens": 2018
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 40.191541,
        "tokens": 4165
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 39.40775,
        "tokens": 3923
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 46.651709,
        "tokens": 5456
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "auto scaling in the cloud",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/migration-strategies.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 52.298167,
        "tokens": 1857
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 46.95275,
        "tokens": 6481
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 38.300209,
        "tokens": 4732
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 50.721458,
        "tokens": 2596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 37.858167,
        "tokens": 4890
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 58.62575,
        "tokens": 2428
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "functional programming concepts",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 36.427959,
        "tokens": 3292
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 40.327375,
        "tokens": 3754
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 35.98675,
        "tokens": 3611
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "connection pooling benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.602375,
        "tokens": 2947
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 38.515417,
        "tokens": 5997
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "distributed transactions",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 69.289083,
        "tokens": 1213
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.9333333333333333,
        "latency_ms": 43.74975,
        "tokens": 1984
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 45.431542,
        "tokens": 4176
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "cost optimization strategies",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/serverless-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 0.9333333333333333,
        "latency_ms": 46.863166,
        "tokens": 4523
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 38.275166,
        "tokens": 4696
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 43.854708,
        "tokens": 5259
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "ssh configuration security",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 35.722916,
        "tokens": 3606
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6666666666666666,
        "content_match": 1.0,
        "latency_ms": 45.512125,
        "tokens": 2171
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "websocket protocol overview",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 36.988084,
        "tokens": 3370
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.567208,
        "tokens": 1657
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "linux process management",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-process-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 46.856583,
        "tokens": 2957
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.050334,
        "tokens": 4531
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 39.342,
        "tokens": 4887
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 39.374458,
        "tokens": 5177
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.005833,
        "tokens": 4289
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 38.809917,
        "tokens": 5861
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 39.417167,
        "tokens": 3605
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "dependency injection benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 0.9333333333333333,
        "latency_ms": 39.163541,
        "tokens": 5143
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 42.397583,
        "tokens": 4676
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 41.812458,
        "tokens": 5339
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 40.740292,
        "tokens": 4545
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "best brand of hiking boots for Mars",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/package-management.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 64.528125,
        "tokens": 3370
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 72.74725,
        "tokens": 2961
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "the secret to eternal life according to python docs",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 75.490833,
        "tokens": 1744
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "where did I leave my keys",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 68.874792,
        "tokens": 1351
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "recipe for disaster in distributed systems",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 72.606917,
        "tokens": 1575
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "blue whales vs sperm whales",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 62.508375,
        "tokens": 4233
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "history of the Roman Empire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 67.083375,
        "tokens": 1780
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "how to play the banjo",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/spark-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 72.782833,
        "tokens": 1996
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "why is the sky blue",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 59.712916,
        "tokens": 2003
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 69.495042,
        "tokens": 2095
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 55.517292,
        "tokens": 2142
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "stock market predictions for 2026",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 67.417709,
        "tokens": 1378
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "philosophy of mind and AI",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 53.52375,
        "tokens": 1028
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/sample_docs/semantic-search.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 75.25275,
        "tokens": 1338
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "how to win friends and influence people",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 57.862041,
        "tokens": 1706
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "yoga for beginners",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 57.157292,
        "tokens": 1037
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/shell-scripting.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 62.671416,
        "tokens": 1365
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 68.865042,
        "tokens": 1897
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "how to repair a flat tire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 67.814333,
        "tokens": 3656
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 63.924,
        "tokens": 4331
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 69.715292,
        "tokens": 2993
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "the art of war summary",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 68.729083,
        "tokens": 2813
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "meditation techniques",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 51.619667,
        "tokens": 2008
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "learning a new language fast",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/serverless-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 69.544833,
        "tokens": 1571
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-permissions.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 86.840583,
        "tokens": 2672
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 59.392042,
        "tokens": 3942
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/sample_docs/caching.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 70.911834,
        "tokens": 1615
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/migration-strategies.md",
          "tests/fixtures/sample_docs/caching.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 58.020208,
        "tokens": 2605
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 0,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 49.242708,
        "tokens": 1280
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "What is semantic search?",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 1.0,
        "latency_ms": 46.946333,
        "tokens": 1192
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "vector database",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/database-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 1.0,
        "latency_ms": 58.268833,
        "tokens": 585
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/api-design.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.25,
        "content_match": 0.9333333333333333,
        "latency_ms": 41.789833,
        "tokens": 3614
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.8,
        "latency_ms": 61.700375,
        "tokens": 1405
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.137208,
        "tokens": 4425
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "PostgreSQL 15 internals",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 44.29475,
        "tokens": 3978
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 43.352,
        "tokens": 4044
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "TLS 1.3 handshake process",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tls-ssl.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 46.249917,
        "tokens": 3924
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.6,
        "latency_ms": 46.526458,
        "tokens": 3772
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 1.0,
        "latency_ms": 42.103375,
        "tokens": 6673
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "Redis 7.0 Multi-part AOF",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/redis-data-structures.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.9333333333333333,
        "latency_ms": 47.776583,
        "tokens": 2516
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.6666666666666666,
        "latency_ms": 56.840708,
        "tokens": 1595
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "OWASP Top 10 2021",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.4,
        "latency_ms": 72.262833,
        "tokens": 1558
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 59.619042,
        "tokens": 2624
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "TCP/IP layer 4",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.75,
        "content_match": 1.0,
        "latency_ms": 43.398958,
        "tokens": 5145
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "IPv6 address format",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 76.643958,
        "tokens": 1901
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 61.65875,
        "tokens": 1818
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/shell-scripting.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 65.682833,
        "tokens": 2316
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "Python 3.10 match statement",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 67.8345,
        "tokens": 1687
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 43.776167,
        "tokens": 4996
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.9333333333333333,
        "latency_ms": 54.454917,
        "tokens": 2106
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "BGE-small-en-v1.5 model",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 66.039167,
        "tokens": 1820
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "ChromaDB v0.4.0",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 57.945167,
        "tokens": 2890
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "MS-MARCO MiniLM L-6-v2",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 58.023417,
        "tokens": 1581
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "JWT RS256 signing",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/authentication.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 53.985,
        "tokens": 1596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.6,
        "latency_ms": 50.969875,
        "tokens": 4162
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/cloud-networking.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 60.556333,
        "tokens": 3390
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.2,
        "ndcg_5": 0.38685280723454163,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 61.134625,
        "tokens": 3359
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2727272727272727,
        "latency_ms": 46.189958,
        "tokens": 4133
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 41.383084,
        "tokens": 3596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.9333333333333333,
        "latency_ms": 44.848792,
        "tokens": 4472
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "YAML 1.2 syntax",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 69.329542,
        "tokens": 1146
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "Docker Compose v2",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/api-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.8666666666666667,
        "latency_ms": 56.153334,
        "tokens": 2765
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "AWS IAM policies",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 56.043333,
        "tokens": 1576
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 39.28025,
        "tokens": 3871
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 41.275834,
        "tokens": 3634
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.9333333333333333,
        "latency_ms": 47.530084,
        "tokens": 3801
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "microservices data consistency",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 52.462708,
        "tokens": 1577
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 43.3115,
        "tokens": 5231
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "zero trust security principles",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 38.698875,
        "tokens": 1824
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "continuous integration best practices",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 71.82125,
        "tokens": 1322
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "database sharding strategies",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 39.896375,
        "tokens": 3717
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 37.762209,
        "tokens": 3790
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.8666666666666667,
        "latency_ms": 61.420458,
        "tokens": 2018
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 40.086916,
        "tokens": 4165
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 42.114875,
        "tokens": 3923
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 41.412459,
        "tokens": 5456
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "auto scaling in the cloud",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 54.936833,
        "tokens": 2134
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 47.937459,
        "tokens": 6481
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 37.830916,
        "tokens": 4732
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 51.343667,
        "tokens": 2596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 44.239584,
        "tokens": 4890
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 56.944958,
        "tokens": 2428
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "functional programming concepts",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 35.470583,
        "tokens": 3292
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.422,
        "tokens": 3754
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.948042,
        "tokens": 3611
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "connection pooling benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 41.470459,
        "tokens": 2947
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 36.010958,
        "tokens": 5997
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "distributed transactions",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 66.737084,
        "tokens": 1213
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.9333333333333333,
        "latency_ms": 47.711459,
        "tokens": 1984
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 43.323417,
        "tokens": 4176
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "cost optimization strategies",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/serverless-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 0.9333333333333333,
        "latency_ms": 44.441291,
        "tokens": 4523
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 37.154083,
        "tokens": 4696
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 43.620708,
        "tokens": 5259
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "ssh configuration security",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 41.793833,
        "tokens": 3606
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6666666666666666,
        "content_match": 1.0,
        "latency_ms": 43.213666,
        "tokens": 2171
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "websocket protocol overview",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 41.370625,
        "tokens": 3370
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 47.666167,
        "tokens": 1657
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "linux process management",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-process-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.805083,
        "tokens": 2957
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 43.975958,
        "tokens": 4531
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 39.887417,
        "tokens": 4887
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 42.663375,
        "tokens": 5177
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 36.527167,
        "tokens": 4289
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 37.178792,
        "tokens": 5861
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 45.43825,
        "tokens": 3605
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "dependency injection benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 0.9333333333333333,
        "latency_ms": 38.030708,
        "tokens": 5143
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 37.149917,
        "tokens": 4676
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 42.393375,
        "tokens": 5339
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 48.691542,
        "tokens": 4545
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "best brand of hiking boots for Mars",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/package-management.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 64.348208,
        "tokens": 3370
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 74.855208,
        "tokens": 2961
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "the secret to eternal life according to python docs",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 73.577708,
        "tokens": 1744
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "where did I leave my keys",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/sample_docs/database-design.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 74.319166,
        "tokens": 1071
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "recipe for disaster in distributed systems",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 72.564917,
        "tokens": 1575
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "blue whales vs sperm whales",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 60.235791,
        "tokens": 4233
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "history of the Roman Empire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 74.260291,
        "tokens": 1780
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "how to play the banjo",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/spark-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 68.818542,
        "tokens": 1996
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "why is the sky blue",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/linux-filesystem.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 62.438375,
        "tokens": 2384
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 64.085,
        "tokens": 1609
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 56.944541,
        "tokens": 2142
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "stock market predictions for 2026",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 65.050667,
        "tokens": 1378
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "philosophy of mind and AI",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 59.660166,
        "tokens": 1028
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/sample_docs/semantic-search.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 75.022625,
        "tokens": 1338
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "how to win friends and influence people",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/sample_docs/semantic-search.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 62.1805,
        "tokens": 1706
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "yoga for beginners",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 59.567375,
        "tokens": 1037
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/shell-scripting.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 60.304708,
        "tokens": 1619
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 73.495542,
        "tokens": 1591
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "how to repair a flat tire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 72.794042,
        "tokens": 3656
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 66.166584,
        "tokens": 4331
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 68.122292,
        "tokens": 2638
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "the art of war summary",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 63.013542,
        "tokens": 2813
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "meditation techniques",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 55.833417,
        "tokens": 2008
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "learning a new language fast",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/serverless-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 65.631209,
        "tokens": 1571
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-permissions.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 84.097208,
        "tokens": 2672
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 61.009292,
        "tokens": 3942
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/sample_docs/caching.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 69.5265,
        "tokens": 1615
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 64.630958,
        "tokens": 3069
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 1,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 52.185833,
        "tokens": 1280
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "What is semantic search?",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 1.0,
        "latency_ms": 57.175375,
        "tokens": 1192
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "vector database",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/database-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 1.0,
        "latency_ms": 73.701917,
        "tokens": 585
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/api-design.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.25,
        "content_match": 0.9333333333333333,
        "latency_ms": 52.739416,
        "tokens": 3614
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.8,
        "latency_ms": 78.011208,
        "tokens": 1405
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 50.259458,
        "tokens": 4425
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "PostgreSQL 15 internals",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 53.468041,
        "tokens": 3978
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 50.571958,
        "tokens": 4044
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "TLS 1.3 handshake process",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tls-ssl.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 55.841208,
        "tokens": 3924
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.6,
        "latency_ms": 55.395792,
        "tokens": 3772
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 1.0,
        "latency_ms": 55.624875,
        "tokens": 6673
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "Redis 7.0 Multi-part AOF",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/redis-data-structures.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.9333333333333333,
        "latency_ms": 58.724959,
        "tokens": 2362
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.6666666666666666,
        "latency_ms": 70.437625,
        "tokens": 1544
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "OWASP Top 10 2021",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.4,
        "latency_ms": 92.679291,
        "tokens": 1558
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 75.117416,
        "tokens": 2624
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "TCP/IP layer 4",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.75,
        "content_match": 1.0,
        "latency_ms": 46.292583,
        "tokens": 5145
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "IPv6 address format",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 83.344625,
        "tokens": 1901
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 67.342875,
        "tokens": 1818
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/shell-scripting.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 78.519958,
        "tokens": 2316
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "Python 3.10 match statement",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 73.438042,
        "tokens": 1506
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 42.562041,
        "tokens": 4996
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.9333333333333333,
        "latency_ms": 58.187958,
        "tokens": 2106
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "BGE-small-en-v1.5 model",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 71.44275,
        "tokens": 1820
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "ChromaDB v0.4.0",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 63.265958,
        "tokens": 2890
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "MS-MARCO MiniLM L-6-v2",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 56.534917,
        "tokens": 1581
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "JWT RS256 signing",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/authentication.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 52.690083,
        "tokens": 1596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.6,
        "latency_ms": 49.212584,
        "tokens": 4162
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/cloud-networking.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 60.990125,
        "tokens": 3390
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.2,
        "ndcg_5": 0.38685280723454163,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 53.721791,
        "tokens": 3359
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2727272727272727,
        "latency_ms": 48.286541,
        "tokens": 4133
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 48.824,
        "tokens": 3596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.9333333333333333,
        "latency_ms": 45.905166,
        "tokens": 4472
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "YAML 1.2 syntax",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 72.888542,
        "tokens": 1146
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "Docker Compose v2",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/api-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.8666666666666667,
        "latency_ms": 55.317833,
        "tokens": 2765
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "AWS IAM policies",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 57.876583,
        "tokens": 1576
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 38.814291,
        "tokens": 3871
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 37.887084,
        "tokens": 3634
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.9333333333333333,
        "latency_ms": 46.439834,
        "tokens": 3801
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "microservices data consistency",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 49.844041,
        "tokens": 1577
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 42.98275,
        "tokens": 5231
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "zero trust security principles",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 35.414292,
        "tokens": 1824
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "continuous integration best practices",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 72.527083,
        "tokens": 1322
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "database sharding strategies",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 36.895292,
        "tokens": 3717
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 38.979625,
        "tokens": 3790
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.8666666666666667,
        "latency_ms": 60.639625,
        "tokens": 2018
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 37.104792,
        "tokens": 4165
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 45.798083,
        "tokens": 3923
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.495709,
        "tokens": 5456
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "auto scaling in the cloud",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 54.418,
        "tokens": 2134
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 46.673708,
        "tokens": 6481
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.744666,
        "tokens": 4732
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 51.808708,
        "tokens": 2596
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 43.55,
        "tokens": 4890
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 59.465083,
        "tokens": 2428
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "functional programming concepts",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 37.102625,
        "tokens": 3292
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.424958,
        "tokens": 3754
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 35.812042,
        "tokens": 3611
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "connection pooling benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.156791,
        "tokens": 2947
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 37.184833,
        "tokens": 5997
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "distributed transactions",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 72.484667,
        "tokens": 1213
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.9333333333333333,
        "latency_ms": 48.458542,
        "tokens": 1984
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 46.443458,
        "tokens": 4176
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "cost optimization strategies",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/serverless-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.5,
        "content_match": 0.9333333333333333,
        "latency_ms": 46.569333,
        "tokens": 4523
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 37.513209,
        "tokens": 4696
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 37.317625,
        "tokens": 5259
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "ssh configuration security",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 39.206791,
        "tokens": 3606
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6666666666666666,
        "content_match": 1.0,
        "latency_ms": 48.08325,
        "tokens": 2171
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "websocket protocol overview",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 39.168833,
        "tokens": 3370
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 40.00925,
        "tokens": 1657
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "linux process management",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-process-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 43.123333,
        "tokens": 2957
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 34.962333,
        "tokens": 4531
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 38.842291,
        "tokens": 4887
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 36.1755,
        "tokens": 5177
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 36.670542,
        "tokens": 4289
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 36.9945,
        "tokens": 5861
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 43.503667,
        "tokens": 3605
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "dependency injection benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 37.789917,
        "tokens": 5015
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 37.724333,
        "tokens": 4676
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 37.463083,
        "tokens": 5339
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 42.777042,
        "tokens": 4545
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "best brand of hiking boots for Mars",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/package-management.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 61.761792,
        "tokens": 3370
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 66.754792,
        "tokens": 2961
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "the secret to eternal life according to python docs",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 74.347375,
        "tokens": 1744
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "where did I leave my keys",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 65.149417,
        "tokens": 1351
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "recipe for disaster in distributed systems",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 70.030042,
        "tokens": 1575
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "blue whales vs sperm whales",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 58.835375,
        "tokens": 4233
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "history of the Roman Empire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 66.52275,
        "tokens": 1780
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "how to play the banjo",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/spark-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 65.04,
        "tokens": 1996
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "why is the sky blue",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/linux-filesystem.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 55.939042,
        "tokens": 2066
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 59.872667,
        "tokens": 1962
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 52.152166,
        "tokens": 2142
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "stock market predictions for 2026",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 64.753167,
        "tokens": 1378
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "philosophy of mind and AI",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 53.451208,
        "tokens": 1028
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/sample_docs/semantic-search.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 74.625583,
        "tokens": 1338
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "how to win friends and influence people",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/sample_docs/semantic-search.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 51.147708,
        "tokens": 1706
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "yoga for beginners",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 50.960042,
        "tokens": 1037
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/shell-scripting.md",
          "tests/fixtures/scale_docs/linux-performance-tuning.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 64.990125,
        "tokens": 1332
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 67.605667,
        "tokens": 1897
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "how to repair a flat tire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 63.541916,
        "tokens": 3656
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 65.499959,
        "tokens": 4331
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 67.792375,
        "tokens": 2993
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "the art of war summary",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 59.400875,
        "tokens": 2813
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "meditation techniques",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 54.152375,
        "tokens": 2008
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "learning a new language fast",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/serverless-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 67.064583,
        "tokens": 1571
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-permissions.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 83.975583,
        "tokens": 2672
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 60.385292,
        "tokens": 3942
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/sample_docs/caching.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 71.123167,
        "tokens": 1615
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 63.159,
        "tokens": 2531
      },
      {
        "competitor": "candlekeep-hybrid",
        "run": 2,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 50.357125,
        "tokens": 1280
      }
    ],
    "ragatouille": [
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "What is semantic search?",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 24.043708,
        "tokens": 273
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "vector database",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 22.69625,
        "tokens": 316
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 21.007417,
        "tokens": 365
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.6,
        "latency_ms": 24.201416,
        "tokens": 652
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 24.03825,
        "tokens": 865
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "PostgreSQL 15 internals",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 25.916208,
        "tokens": 537
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 24.8605,
        "tokens": 888
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "TLS 1.3 handshake process",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 24.099209,
        "tokens": 907
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4,
        "latency_ms": 23.309958,
        "tokens": 767
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.7333333333333333,
        "latency_ms": 25.416833,
        "tokens": 740
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "Redis 7.0 Multi-part AOF",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 21.784792,
        "tokens": 543
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-logging.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.3333333333333333,
        "latency_ms": 24.66675,
        "tokens": 639
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "OWASP Top 10 2021",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.4,
        "latency_ms": 24.955292,
        "tokens": 758
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.095709,
        "tokens": 692
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "TCP/IP layer 4",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 23.682083,
        "tokens": 909
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "IPv6 address format",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/firewall-rules.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 25.935209,
        "tokens": 718
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 23.078959,
        "tokens": 669
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.6,
        "latency_ms": 19.761542,
        "tokens": 887
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "Python 3.10 match statement",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.7333333333333333,
        "latency_ms": 25.197125,
        "tokens": 717
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 22.901416,
        "tokens": 715
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 22.06075,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "BGE-small-en-v1.5 model",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 25.466,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "ChromaDB v0.4.0",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.0,
        "latency_ms": 23.102375,
        "tokens": 581
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "MS-MARCO MiniLM L-6-v2",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 23.096209,
        "tokens": 657
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "JWT RS256 signing",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/sample_docs/authentication.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 23.463209,
        "tokens": 762
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 25.845584,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 25.5625,
        "tokens": 823
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.2,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.5333333333333333,
        "latency_ms": 24.455292,
        "tokens": 896
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.09090909090909091,
        "latency_ms": 21.565917,
        "tokens": 716
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 23.560667,
        "tokens": 854
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 24.0115,
        "tokens": 722
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "YAML 1.2 syntax",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 24.591292,
        "tokens": 621
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "Docker Compose v2",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 22.647792,
        "tokens": 873
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "AWS IAM policies",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 25.658709,
        "tokens": 785
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 21.614625,
        "tokens": 812
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 23.541917,
        "tokens": 828
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 24.341667,
        "tokens": 673
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "microservices data consistency",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 23.775583,
        "tokens": 653
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 24.695875,
        "tokens": 707
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "zero trust security principles",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 23.991209,
        "tokens": 546
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "continuous integration best practices",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6,
        "latency_ms": 23.907666,
        "tokens": 749
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "database sharding strategies",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 27.294458,
        "tokens": 672
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 25.139584,
        "tokens": 632
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/cdn-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.8666666666666667,
        "latency_ms": 22.434833,
        "tokens": 880
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 22.921125,
        "tokens": 709
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 23.358,
        "tokens": 679
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 23.295291,
        "tokens": 870
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "auto scaling in the cloud",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.8,
        "latency_ms": 19.681708,
        "tokens": 770
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 17.188458,
        "tokens": 719
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 17.3345,
        "tokens": 609
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 17.781667,
        "tokens": 518
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 16.930542,
        "tokens": 913
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 22.502166,
        "tokens": 872
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "functional programming concepts",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 24.959083,
        "tokens": 619
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 23.156,
        "tokens": 662
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 22.543709,
        "tokens": 910
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "connection pooling benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.667125,
        "tokens": 531
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 23.010542,
        "tokens": 729
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "distributed transactions",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 24.757584,
        "tokens": 721
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 22.414209,
        "tokens": 424
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 22.80425,
        "tokens": 467
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "cost optimization strategies",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 21.153791,
        "tokens": 851
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 23.516708,
        "tokens": 778
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 22.935333,
        "tokens": 749
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "ssh configuration security",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 23.109709,
        "tokens": 859
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 22.955542,
        "tokens": 554
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "websocket protocol overview",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 26.126041,
        "tokens": 530
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 24.5,
        "tokens": 567
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "linux process management",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 25.134334,
        "tokens": 724
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 21.785583,
        "tokens": 599
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4,
        "latency_ms": 19.71525,
        "tokens": 549
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 23.955,
        "tokens": 684
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.847042,
        "tokens": 608
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 22.715959,
        "tokens": 882
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 25.882333,
        "tokens": 866
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "dependency injection benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.333542,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 20.801708,
        "tokens": 356
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 29.115917,
        "tokens": 617
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 29.437667,
        "tokens": 772
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "best brand of hiking boots for Mars",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 26.729583,
        "tokens": 524
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.83475,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "the secret to eternal life according to python docs",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 26.941459,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "where did I leave my keys",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 26.328083,
        "tokens": 839
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "recipe for disaster in distributed systems",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 30.207916,
        "tokens": 895
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "blue whales vs sperm whales",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/database-migrations.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.386375,
        "tokens": 813
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "history of the Roman Empire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.748042,
        "tokens": 705
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "how to play the banjo",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/spark-fundamentals.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/configuration-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.509542,
        "tokens": 794
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "why is the sky blue",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.549292,
        "tokens": 797
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.08825,
        "tokens": 840
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.982167,
        "tokens": 624
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "stock market predictions for 2026",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.71125,
        "tokens": 731
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "philosophy of mind and AI",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.809625,
        "tokens": 714
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.418792,
        "tokens": 859
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "how to win friends and influence people",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.326791,
        "tokens": 771
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "yoga for beginners",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.875833,
        "tokens": 809
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 24.323,
        "tokens": 586
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.031083,
        "tokens": 579
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "how to repair a flat tire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.969083,
        "tokens": 869
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/cloud-networking.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 25.555167,
        "tokens": 750
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/auto-scaling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 24.924416,
        "tokens": 890
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "the art of war summary",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.2435,
        "tokens": 809
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "meditation techniques",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/stream-processing.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 26.192167,
        "tokens": 788
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "learning a new language fast",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 26.115333,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.811333,
        "tokens": 817
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 24.60575,
        "tokens": 685
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 26.215583,
        "tokens": 723
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/owasp-top-10.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.923,
        "tokens": 840
      },
      {
        "competitor": "ragatouille",
        "run": 0,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 30.433875,
        "tokens": 603
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "What is semantic search?",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 29.3735,
        "tokens": 273
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "vector database",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 27.021459,
        "tokens": 316
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 28.736917,
        "tokens": 365
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.6,
        "latency_ms": 25.177084,
        "tokens": 652
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 27.1145,
        "tokens": 865
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "PostgreSQL 15 internals",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 28.267,
        "tokens": 537
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 27.066458,
        "tokens": 888
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "TLS 1.3 handshake process",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 25.946166,
        "tokens": 907
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4,
        "latency_ms": 24.651292,
        "tokens": 767
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.7333333333333333,
        "latency_ms": 24.608209,
        "tokens": 740
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "Redis 7.0 Multi-part AOF",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 29.267625,
        "tokens": 543
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-logging.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.3333333333333333,
        "latency_ms": 24.745,
        "tokens": 639
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "OWASP Top 10 2021",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.4,
        "latency_ms": 21.239,
        "tokens": 758
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 22.030709,
        "tokens": 692
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "TCP/IP layer 4",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 20.965541,
        "tokens": 909
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "IPv6 address format",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/firewall-rules.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 21.192709,
        "tokens": 718
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 26.5925,
        "tokens": 669
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.6,
        "latency_ms": 24.95625,
        "tokens": 887
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "Python 3.10 match statement",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.7333333333333333,
        "latency_ms": 27.944333,
        "tokens": 717
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 25.89075,
        "tokens": 715
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 28.273459,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "BGE-small-en-v1.5 model",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 21.6845,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "ChromaDB v0.4.0",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.0,
        "latency_ms": 26.636042,
        "tokens": 581
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "MS-MARCO MiniLM L-6-v2",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 29.725542,
        "tokens": 657
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "JWT RS256 signing",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/sample_docs/authentication.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 28.870042,
        "tokens": 762
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 28.620167,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 24.340333,
        "tokens": 823
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.2,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.5333333333333333,
        "latency_ms": 26.230667,
        "tokens": 896
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.09090909090909091,
        "latency_ms": 29.7485,
        "tokens": 716
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 28.540166,
        "tokens": 854
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 29.667542,
        "tokens": 722
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "YAML 1.2 syntax",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 24.81875,
        "tokens": 621
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "Docker Compose v2",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 26.769875,
        "tokens": 873
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "AWS IAM policies",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 24.46525,
        "tokens": 785
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 26.111,
        "tokens": 812
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 24.861292,
        "tokens": 828
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 26.038167,
        "tokens": 673
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "microservices data consistency",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.893416,
        "tokens": 653
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 28.986,
        "tokens": 707
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "zero trust security principles",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 28.368208,
        "tokens": 546
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "continuous integration best practices",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6,
        "latency_ms": 28.958959,
        "tokens": 749
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "database sharding strategies",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 27.57375,
        "tokens": 672
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 27.004041,
        "tokens": 632
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/cdn-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.8666666666666667,
        "latency_ms": 26.099792,
        "tokens": 880
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 27.041,
        "tokens": 709
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 28.489625,
        "tokens": 679
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 21.693708,
        "tokens": 870
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "auto scaling in the cloud",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.8,
        "latency_ms": 24.414208,
        "tokens": 770
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 23.968209,
        "tokens": 719
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 24.665083,
        "tokens": 609
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 24.796334,
        "tokens": 518
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 26.747166,
        "tokens": 913
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 28.9155,
        "tokens": 872
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "functional programming concepts",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 26.128834,
        "tokens": 619
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 29.884334,
        "tokens": 662
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 25.068709,
        "tokens": 910
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "connection pooling benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 28.98275,
        "tokens": 531
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 26.715708,
        "tokens": 729
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "distributed transactions",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 27.403458,
        "tokens": 721
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 21.897792,
        "tokens": 424
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 21.713542,
        "tokens": 467
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "cost optimization strategies",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 21.787709,
        "tokens": 851
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 18.279959,
        "tokens": 778
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 23.667916,
        "tokens": 749
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "ssh configuration security",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.748208,
        "tokens": 859
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 27.458958,
        "tokens": 554
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "websocket protocol overview",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 29.36525,
        "tokens": 530
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 27.803417,
        "tokens": 567
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "linux process management",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 28.631,
        "tokens": 724
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 27.583917,
        "tokens": 599
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4,
        "latency_ms": 27.568583,
        "tokens": 549
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 28.146166,
        "tokens": 684
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 28.99275,
        "tokens": 608
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 26.72975,
        "tokens": 882
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 28.097125,
        "tokens": 866
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "dependency injection benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 26.806292,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 26.325416,
        "tokens": 356
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 31.254791,
        "tokens": 617
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 29.621334,
        "tokens": 772
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "best brand of hiking boots for Mars",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 24.432459,
        "tokens": 524
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.554667,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "the secret to eternal life according to python docs",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.1165,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "where did I leave my keys",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.786166,
        "tokens": 839
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "recipe for disaster in distributed systems",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.516625,
        "tokens": 895
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "blue whales vs sperm whales",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/database-migrations.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.054083,
        "tokens": 813
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "history of the Roman Empire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.325292,
        "tokens": 705
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "how to play the banjo",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/spark-fundamentals.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/configuration-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 24.8085,
        "tokens": 794
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "why is the sky blue",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.666125,
        "tokens": 797
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 26.869167,
        "tokens": 840
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.232459,
        "tokens": 624
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "stock market predictions for 2026",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.327167,
        "tokens": 731
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "philosophy of mind and AI",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.385542,
        "tokens": 714
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 27.6745,
        "tokens": 859
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "how to win friends and influence people",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 29.612875,
        "tokens": 771
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "yoga for beginners",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.6335,
        "tokens": 809
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.380333,
        "tokens": 586
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.623333,
        "tokens": 579
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "how to repair a flat tire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.529875,
        "tokens": 869
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/cloud-networking.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.651042,
        "tokens": 750
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/auto-scaling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 24.207458,
        "tokens": 890
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "the art of war summary",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 28.389625,
        "tokens": 809
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "meditation techniques",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/stream-processing.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 23.849584,
        "tokens": 788
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "learning a new language fast",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 17.0615,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 16.741792,
        "tokens": 817
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 16.028625,
        "tokens": 685
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 15.748584,
        "tokens": 723
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/owasp-top-10.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 17.387709,
        "tokens": 840
      },
      {
        "competitor": "ragatouille",
        "run": 1,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 16.358459,
        "tokens": 603
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "What is semantic search?",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 21.61775,
        "tokens": 273
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "vector database",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 19.039334,
        "tokens": 316
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "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"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 20.794875,
        "tokens": 365
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.6,
        "latency_ms": 21.890458,
        "tokens": 652
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/http2-http3.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.1505,
        "tokens": 865
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "PostgreSQL 15 internals",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 23.363417,
        "tokens": 537
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md",
          "tests/fixtures/scale_docs/apache-kafka.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 22.538417,
        "tokens": 888
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "TLS 1.3 handshake process",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/tls-ssl.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 22.444875,
        "tokens": 907
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4,
        "latency_ms": 24.508,
        "tokens": 767
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/grpc-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.7333333333333333,
        "latency_ms": 23.283958,
        "tokens": 740
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "Redis 7.0 Multi-part AOF",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md",
          "tests/fixtures/scale_docs/redis-data-structures.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 22.798542,
        "tokens": 543
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-logging.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.3333333333333333,
        "latency_ms": 22.90575,
        "tokens": 639
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "OWASP Top 10 2021",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.4,
        "latency_ms": 23.902834,
        "tokens": 758
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.4065,
        "tokens": 692
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "TCP/IP layer 4",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.789166,
        "tokens": 909
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "IPv6 address format",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/firewall-rules.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 23.485167,
        "tokens": 718
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 24.313292,
        "tokens": 669
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 0.6,
        "latency_ms": 22.660084,
        "tokens": 887
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "Python 3.10 match statement",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.7333333333333333,
        "latency_ms": 23.813042,
        "tokens": 717
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 21.669917,
        "tokens": 715
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 21.478542,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "BGE-small-en-v1.5 model",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 21.217208,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "ChromaDB v0.4.0",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.0,
        "latency_ms": 22.436917,
        "tokens": 581
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "MS-MARCO MiniLM L-6-v2",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 22.917958,
        "tokens": 657
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "JWT RS256 signing",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/sample_docs/authentication.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 23.038083,
        "tokens": 762
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 22.423166,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 22.998709,
        "tokens": 823
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 0.2,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.5333333333333333,
        "latency_ms": 20.531,
        "tokens": 896
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.09090909090909091,
        "latency_ms": 26.761625,
        "tokens": 716
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md",
          "tests/fixtures/scale_docs/systemd-services.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 23.357291,
        "tokens": 854
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/linux-filesystem.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 21.389625,
        "tokens": 722
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "YAML 1.2 syntax",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.2,
        "latency_ms": 23.584917,
        "tokens": 621
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "Docker Compose v2",
        "category": "lexical",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6666666666666666,
        "latency_ms": 23.371,
        "tokens": 873
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "AWS IAM policies",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/secrets-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.3333333333333333,
        "latency_ms": 22.830125,
        "tokens": 785
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/chaos-engineering.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 20.344125,
        "tokens": 812
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 22.53475,
        "tokens": 828
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 21.272584,
        "tokens": 673
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "microservices data consistency",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.893167,
        "tokens": 653
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 21.220083,
        "tokens": 707
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "zero trust security principles",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4666666666666667,
        "latency_ms": 21.630375,
        "tokens": 546
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "continuous integration best practices",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.5,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.6,
        "latency_ms": 22.375291,
        "tokens": 749
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "database sharding strategies",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/database-sharding.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 23.023958,
        "tokens": 672
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/load-balancing.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 22.642417,
        "tokens": 632
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/cdn-architecture.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.8,
        "content_match": 0.8666666666666667,
        "latency_ms": 21.779583,
        "tokens": 880
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 23.861167,
        "tokens": 709
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 19.347167,
        "tokens": 679
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 18.902334,
        "tokens": 870
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "auto scaling in the cloud",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 0.3333333333333333,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.4,
        "content_match": 0.8,
        "latency_ms": 21.936,
        "tokens": 770
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 21.045542,
        "tokens": 719
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 23.017959,
        "tokens": 609
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.6,
        "content_match": 1.0,
        "latency_ms": 22.10775,
        "tokens": 518
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 22.713375,
        "tokens": 913
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md",
          "tests/fixtures/scale_docs/cloud-design-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.26666666666666666,
        "latency_ms": 22.231625,
        "tokens": 872
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "functional programming concepts",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/functional-programming.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.745041,
        "tokens": 619
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 22.059667,
        "tokens": 662
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md",
          "tests/fixtures/scale_docs/dns-resolution.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 21.978292,
        "tokens": 910
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "connection pooling benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 23.370375,
        "tokens": 531
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 22.162666,
        "tokens": 729
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "distributed transactions",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/monitoring-observability.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.06666666666666667,
        "latency_ms": 22.271208,
        "tokens": 721
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/network-security-hardening.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": 0.13333333333333333,
        "latency_ms": 21.156125,
        "tokens": 424
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6666666666666666,
        "latency_ms": 22.170833,
        "tokens": 467
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "cost optimization strategies",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/cost-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 21.2465,
        "tokens": 851
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.6,
        "latency_ms": 19.819833,
        "tokens": 778
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 21.766708,
        "tokens": 749
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "ssh configuration security",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.098292,
        "tokens": 859
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.9333333333333333,
        "latency_ms": 23.368,
        "tokens": 554
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "websocket protocol overview",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/websocket-protocol.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 23.297375,
        "tokens": 530
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md",
          "tests/fixtures/scale_docs/helm-charts.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 23.368792,
        "tokens": 567
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "linux process management",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/scale_docs/linux-process-management.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 1.0,
        "latency_ms": 22.199,
        "tokens": 724
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.7333333333333333,
        "latency_ms": 22.599708,
        "tokens": 599
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.4,
        "latency_ms": 22.95725,
        "tokens": 549
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 20.671875,
        "tokens": 684
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md",
          "tests/fixtures/scale_docs/sql-query-optimization.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 21.758459,
        "tokens": 608
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 21.134791,
        "tokens": 882
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 21.38525,
        "tokens": 866
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "dependency injection benefits",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8,
        "latency_ms": 22.53125,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/design-patterns-behavioral.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.5333333333333333,
        "latency_ms": 20.03,
        "tokens": 356
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 1.0,
        "content_match": 0.8666666666666667,
        "latency_ms": 17.81625,
        "tokens": 617
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 22.050542,
        "tokens": 772
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "best brand of hiking boots for Mars",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 17.448292,
        "tokens": 524
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.956166,
        "tokens": 820
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "the secret to eternal life according to python docs",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/cryptography-basics.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 18.653667,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "where did I leave my keys",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/ssh-configuration.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.234709,
        "tokens": 839
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "recipe for disaster in distributed systems",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/database-replication.md",
          "tests/fixtures/scale_docs/disaster-recovery.md",
          "tests/fixtures/scale_docs/error-handling-patterns.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 18.777375,
        "tokens": 895
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "blue whales vs sperm whales",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/database-migrations.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 18.459625,
        "tokens": 813
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "history of the Roman Empire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-warehouse-modeling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.910917,
        "tokens": 705
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "how to play the banjo",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/spark-fundamentals.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/configuration-management.md",
          "tests/fixtures/scale_docs/configuration-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.152083,
        "tokens": 794
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "why is the sky blue",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.608167,
        "tokens": 797
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/linux-memory-management.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 18.337292,
        "tokens": 840
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/container-security.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 17.677042,
        "tokens": 624
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "stock market predictions for 2026",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/data-lake-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/postgresql-internals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.164667,
        "tokens": 731
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "philosophy of mind and AI",
        "category": "adversarial",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-creational.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/database-replication.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 18.120292,
        "tokens": 714
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/linux-memory-management.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.834,
        "tokens": 859
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "how to win friends and influence people",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/nosql-patterns.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.678791,
        "tokens": 771
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "yoga for beginners",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/dependency-injection.md",
          "tests/fixtures/scale_docs/dependency-injection.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.1495,
        "tokens": 809
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md",
          "tests/fixtures/scale_docs/design-patterns-structural.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.284375,
        "tokens": 586
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md",
          "tests/fixtures/scale_docs/multi-region-deployment.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.315417,
        "tokens": 579
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "how to repair a flat tire",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/database-backup-recovery.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.436083,
        "tokens": 869
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/tcp-ip-fundamentals.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/scale_docs/cloud-networking.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.236375,
        "tokens": 750
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/auto-scaling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 22.0155,
        "tokens": 890
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "the art of war summary",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 21.669625,
        "tokens": 809
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "meditation techniques",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/stream-processing.md",
          "tests/fixtures/scale_docs/owasp-top-10.md",
          "tests/fixtures/scale_docs/stream-processing.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.414417,
        "tokens": 788
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "learning a new language fast",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/testing-strategies.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 19.230667,
        "tokens": 923
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/incident-response.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.841,
        "tokens": 817
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 22.262042,
        "tokens": 685
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/load-balancing.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/connection-pooling.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 20.684833,
        "tokens": 723
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/service-mesh.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/network-troubleshooting.md",
          "tests/fixtures/scale_docs/owasp-top-10.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 18.95325,
        "tokens": 840
      },
      {
        "competitor": "ragatouille",
        "run": 2,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-fundamentals.md"
        ],
        "rr": 0.0,
        "ndcg_5": 0.0,
        "hit_rate_1": 0.0,
        "hit_rate_5": 0.0,
        "precision_5": 0.0,
        "content_match": -1.0,
        "latency_ms": 18.247209,
        "tokens": 603
      }
    ]
  }
}