{
  "metadata": {
    "corpus_docs": 89,
    "query_count": 108,
    "runs": 3,
    "k": 5,
    "warmup_queries": 5,
    "timestamp": "2026-02-24T14:24:05"
  },
  "summaries": {
    "colbert-replace-vector": {
      "competitor": "colbert-replace-vector",
      "total_queries": 324,
      "runs": 3,
      "mrr": 0.5558641975308641,
      "mrr_ci": [
        0.5015174897119342,
        0.6045318930041153
      ],
      "ndcg_5": 0.5694661879652082,
      "ndcg_5_ci": [
        0.5152975676060558,
        0.6179977022052511
      ],
      "hit_rate_1": 0.5277777777777778,
      "hit_rate_5": 0.6111111111111112,
      "hit_rate_5_ci": [
        0.5555555555555556,
        0.6604938271604939
      ],
      "precision_5": 0.43209876543209874,
      "content_match": 0.6277511961722488,
      "latency_p50": 65.760167,
      "latency_p95": 96.814417,
      "latency_p99": 116.686667,
      "avg_tokens": 1116.8703703703704,
      "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.5483333333333332,
          "mrr_ci": [
            0.45606944444444447,
            0.6444444444444445
          ],
          "hit_rate_5": 0.6666666666666666,
          "hit_rate_5_ci": [
            0.5666666666666667,
            0.7666666666666667
          ],
          "ndcg_5": 0.5769937411675393,
          "precision_5": 0.37722222222222224,
          "count": 90
        },
        "semantic": {
          "mrr": 0.9079861111111112,
          "mrr_ci": [
            0.8628472222222222,
            0.9461950231481482
          ],
          "hit_rate_5": 0.9583333333333334,
          "hit_rate_5_ci": [
            0.9236111111111112,
            0.9861111111111112
          ],
          "ndcg_5": 0.9206778346920063,
          "precision_5": 0.7364583333333333,
          "count": 144
        }
      }
    }
  },
  "details": {
    "colbert-replace-vector": [
      {
        "competitor": "colbert-replace-vector",
        "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/sample_docs/document-processing.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.25,
        "content_match": 0.6,
        "latency_ms": 66.827042,
        "tokens": 741
      },
      {
        "competitor": "colbert-replace-vector",
        "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/scale_docs/cryptography-basics.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.25,
        "content_match": 0.8,
        "latency_ms": 75.610375,
        "tokens": 1326
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/api-design.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.6666666666666666,
        "latency_ms": 51.469708,
        "tokens": 728
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.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": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 69.480834,
        "tokens": 1978
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 57.441458,
        "tokens": 506
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8666666666666667,
        "latency_ms": 56.782083,
        "tokens": 418
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 55.027666,
        "tokens": 547
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8666666666666667,
        "latency_ms": 53.09,
        "tokens": 181
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "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": 63.208125,
        "tokens": 354
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 59.412416,
        "tokens": 977
      },
      {
        "competitor": "colbert-replace-vector",
        "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/helm-charts.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.4666666666666667,
        "latency_ms": 57.165125,
        "tokens": 680
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/linux-logging.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.4666666666666667,
        "latency_ms": 75.366833,
        "tokens": 1975
      },
      {
        "competitor": "colbert-replace-vector",
        "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/security-audit-checklist.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/vpn-tunneling.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": 0.2,
        "content_match": 0.5333333333333333,
        "latency_ms": 90.003125,
        "tokens": 1631
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.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": 79.797666,
        "tokens": 2161
      },
      {
        "competitor": "colbert-replace-vector",
        "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/load-balancing.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.8,
        "latency_ms": 53.028167,
        "tokens": 1007
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-serialization.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/firewall-rules.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 87.502958,
        "tokens": 2392
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/sample_docs/document-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": 0.2,
        "latency_ms": 75.385417,
        "tokens": 1929
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/shell-scripting.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/cost-optimization.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": 78.504333,
        "tokens": 2340
      },
      {
        "competitor": "colbert-replace-vector",
        "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/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/shell-scripting.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 80.697958,
        "tokens": 1888
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 54.397167,
        "tokens": 421
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 69.565875,
        "tokens": 1093
      },
      {
        "competitor": "colbert-replace-vector",
        "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/database-migrations.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.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.26666666666666666,
        "latency_ms": 96.91275,
        "tokens": 2413
      },
      {
        "competitor": "colbert-replace-vector",
        "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"
        ],
        "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": 73.052,
        "tokens": 338
      },
      {
        "competitor": "colbert-replace-vector",
        "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"
        ],
        "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": 92.581792,
        "tokens": 1396
      },
      {
        "competitor": "colbert-replace-vector",
        "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/cryptography-basics.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.6,
        "latency_ms": 67.025833,
        "tokens": 1551
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "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": 58.759667,
        "tokens": 524
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/disaster-recovery.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": 85.567542,
        "tokens": 2134
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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.5333333333333333,
        "latency_ms": 77.284083,
        "tokens": 2218
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.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": 0.09090909090909091,
        "latency_ms": 63.297458,
        "tokens": 654
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 53.648583,
        "tokens": 468
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.3333333333333333,
        "latency_ms": 57.59925,
        "tokens": 523
      },
      {
        "competitor": "colbert-replace-vector",
        "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/functional-programming.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/helm-charts.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.3333333333333333,
        "latency_ms": 88.235292,
        "tokens": 1809
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sample_docs/api-design.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.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.4,
        "latency_ms": 67.984042,
        "tokens": 1938
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-lake-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.26666666666666666,
        "latency_ms": 63.84575,
        "tokens": 1260
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 54.815875,
        "tokens": 490
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 55.119167,
        "tokens": 461
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-security.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": 0.25,
        "content_match": 0.8,
        "latency_ms": 67.984875,
        "tokens": 1643
      },
      {
        "competitor": "colbert-replace-vector",
        "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/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.235333,
        "tokens": 974
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.4666666666666667,
        "latency_ms": 54.338459,
        "tokens": 146
      },
      {
        "competitor": "colbert-replace-vector",
        "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/compliance-frameworks.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.4,
        "latency_ms": 54.956708,
        "tokens": 704
      },
      {
        "competitor": "colbert-replace-vector",
        "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/ci-cd-pipelines.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/api-design.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.6,
        "latency_ms": 81.550084,
        "tokens": 1574
      },
      {
        "competitor": "colbert-replace-vector",
        "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.8666666666666667,
        "latency_ms": 52.220292,
        "tokens": 501
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.4,
        "latency_ms": 51.7735,
        "tokens": 431
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/load-balancing.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.25,
        "content_match": 0.8666666666666667,
        "latency_ms": 84.159584,
        "tokens": 1054
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 53.745125,
        "tokens": 522
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 55.564917,
        "tokens": 510
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 58.751417,
        "tokens": 450
      },
      {
        "competitor": "colbert-replace-vector",
        "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/auto-scaling.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 69.761208,
        "tokens": 1368
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.5,
        "content_match": 0.8,
        "latency_ms": 53.453834,
        "tokens": 626
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 51.778791,
        "tokens": 362
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-lake-architecture.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": 0.2,
        "content_match": 0.9090909090909091,
        "latency_ms": 65.459542,
        "tokens": 1957
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 50.925834,
        "tokens": 375
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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/event-driven-architecture.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.25,
        "content_match": 0.6,
        "latency_ms": 56.618917,
        "tokens": 1513
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8,
        "latency_ms": 42.547292,
        "tokens": 403
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.8666666666666667,
        "latency_ms": 49.566417,
        "tokens": 370
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.4666666666666667,
        "latency_ms": 53.969042,
        "tokens": 549
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.7333333333333333,
        "latency_ms": 58.460666,
        "tokens": 467
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 52.789084,
        "tokens": 587
      },
      {
        "competitor": "colbert-replace-vector",
        "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/monitoring-observability.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.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": 0.3333333333333333,
        "latency_ms": 77.434875,
        "tokens": 1739
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.7333333333333333,
        "latency_ms": 61.521041,
        "tokens": 776
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/stream-processing.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.6666666666666666,
        "latency_ms": 71.810584,
        "tokens": 782
      },
      {
        "competitor": "colbert-replace-vector",
        "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.7333333333333333,
        "latency_ms": 54.415375,
        "tokens": 1012
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 50.610875,
        "tokens": 388
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.8666666666666667,
        "latency_ms": 56.626125,
        "tokens": 375
      },
      {
        "competitor": "colbert-replace-vector",
        "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.7333333333333333,
        "latency_ms": 53.822334,
        "tokens": 511
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5,
        "content_match": 1.0,
        "latency_ms": 61.3945,
        "tokens": 748
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.4666666666666667,
        "latency_ms": 58.247,
        "tokens": 421
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 0.9090909090909091,
        "latency_ms": 62.828042,
        "tokens": 343
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 54.373,
        "tokens": 506
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 54.717042,
        "tokens": 124
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 52.937209,
        "tokens": 385
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 59.144958,
        "tokens": 503
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 51.239042,
        "tokens": 142
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 48.394042,
        "tokens": 498
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.7333333333333333,
        "latency_ms": 57.778375,
        "tokens": 185
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "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.7333333333333333,
        "latency_ms": 44.62125,
        "tokens": 379
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 51.792375,
        "tokens": 391
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 57.649542,
        "tokens": 412
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 57.6365,
        "tokens": 354
      },
      {
        "competitor": "colbert-replace-vector",
        "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-warehouse-modeling.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": 75.21625,
        "tokens": 937
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.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": -1.0,
        "latency_ms": 79.47475,
        "tokens": 1078
      },
      {
        "competitor": "colbert-replace-vector",
        "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/owasp-top-10.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/design-patterns-structural.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": 77.856583,
        "tokens": 2311
      },
      {
        "competitor": "colbert-replace-vector",
        "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/ssh-configuration.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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": 79.000292,
        "tokens": 1710
      },
      {
        "competitor": "colbert-replace-vector",
        "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/database-replication.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/monitoring-observability.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": 77.495375,
        "tokens": 1746
      },
      {
        "competitor": "colbert-replace-vector",
        "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/grpc-protocol.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/data-serialization.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": 81.713792,
        "tokens": 2076
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/event-driven-architecture.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": 79.033375,
        "tokens": 2510
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sql-query-optimization.md",
          "tests/fixtures/scale_docs/spark-fundamentals.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": 68.690166,
        "tokens": 1636
      },
      {
        "competitor": "colbert-replace-vector",
        "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/well-architected-framework.md",
          "tests/fixtures/scale_docs/grpc-protocol.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": 86.201542,
        "tokens": 2056
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/cost-optimization.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": 64.318583,
        "tokens": 1136
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/chaos-engineering.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": 78.544833,
        "tokens": 1512
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 75.480834,
        "tokens": 1909
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 82.543458,
        "tokens": 1667
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/vector-databases.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": 109.559792,
        "tokens": 1623
      },
      {
        "competitor": "colbert-replace-vector",
        "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/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/well-architected-framework.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": 79.539958,
        "tokens": 1795
      },
      {
        "competitor": "colbert-replace-vector",
        "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/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": 99.588916,
        "tokens": 2346
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 68.230292,
        "tokens": 471
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/multi-region-deployment.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": 62.714375,
        "tokens": 1106
      },
      {
        "competitor": "colbert-replace-vector",
        "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/incident-response.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.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": 76.645875,
        "tokens": 1770
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/dns-resolution.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": -1.0,
        "latency_ms": 76.701542,
        "tokens": 1450
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/cdn-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": 96.814417,
        "tokens": 2331
      },
      {
        "competitor": "colbert-replace-vector",
        "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/cost-optimization.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": -1.0,
        "latency_ms": 86.19725,
        "tokens": 2279
      },
      {
        "competitor": "colbert-replace-vector",
        "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/nosql-patterns.md",
          "tests/fixtures/scale_docs/owasp-top-10.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": 65.760167,
        "tokens": 1603
      },
      {
        "competitor": "colbert-replace-vector",
        "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/testing-strategies.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/migration-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": 84.231459,
        "tokens": 1874
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-permissions.md",
          "tests/fixtures/scale_docs/database-replication.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": 88.641666,
        "tokens": 1627
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-quality.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": 77.503209,
        "tokens": 2105
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/testing-strategies.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": 89.14375,
        "tokens": 2082
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.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": 86.46175,
        "tokens": 1939
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 0,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 54.576167,
        "tokens": 427
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sample_docs/document-processing.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.25,
        "content_match": 0.6,
        "latency_ms": 73.212541,
        "tokens": 741
      },
      {
        "competitor": "colbert-replace-vector",
        "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/scale_docs/cryptography-basics.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.25,
        "content_match": 0.8,
        "latency_ms": 86.826666,
        "tokens": 1326
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/api-design.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.6666666666666666,
        "latency_ms": 54.246666,
        "tokens": 728
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.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": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 74.090167,
        "tokens": 1978
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 66.277167,
        "tokens": 506
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8666666666666667,
        "latency_ms": 55.996166,
        "tokens": 418
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 56.530666,
        "tokens": 547
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8666666666666667,
        "latency_ms": 53.397875,
        "tokens": 181
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "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": 68.404583,
        "tokens": 354
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 61.86825,
        "tokens": 977
      },
      {
        "competitor": "colbert-replace-vector",
        "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/helm-charts.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.4666666666666667,
        "latency_ms": 56.459,
        "tokens": 680
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/linux-logging.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.4666666666666667,
        "latency_ms": 95.391541,
        "tokens": 1975
      },
      {
        "competitor": "colbert-replace-vector",
        "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/security-audit-checklist.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/vpn-tunneling.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": 0.2,
        "content_match": 0.5333333333333333,
        "latency_ms": 135.185,
        "tokens": 1631
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.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": 116.686667,
        "tokens": 2161
      },
      {
        "competitor": "colbert-replace-vector",
        "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/load-balancing.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.8,
        "latency_ms": 65.41275,
        "tokens": 1007
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-serialization.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/firewall-rules.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 94.325792,
        "tokens": 2392
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/sample_docs/document-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": 0.2,
        "latency_ms": 80.124208,
        "tokens": 1929
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/shell-scripting.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/cost-optimization.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": 89.707459,
        "tokens": 2340
      },
      {
        "competitor": "colbert-replace-vector",
        "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/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/shell-scripting.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 92.353208,
        "tokens": 1888
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 53.45,
        "tokens": 421
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 73.394583,
        "tokens": 1093
      },
      {
        "competitor": "colbert-replace-vector",
        "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/database-migrations.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.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.26666666666666666,
        "latency_ms": 126.709583,
        "tokens": 2413
      },
      {
        "competitor": "colbert-replace-vector",
        "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"
        ],
        "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": 84.925083,
        "tokens": 338
      },
      {
        "competitor": "colbert-replace-vector",
        "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"
        ],
        "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": 113.557958,
        "tokens": 1396
      },
      {
        "competitor": "colbert-replace-vector",
        "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/cryptography-basics.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.6,
        "latency_ms": 72.960125,
        "tokens": 1551
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "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": 63.806542,
        "tokens": 524
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/disaster-recovery.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": 99.191,
        "tokens": 2134
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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.5333333333333333,
        "latency_ms": 92.675084,
        "tokens": 2218
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.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": 0.09090909090909091,
        "latency_ms": 60.119583,
        "tokens": 654
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 55.544208,
        "tokens": 468
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.3333333333333333,
        "latency_ms": 59.862583,
        "tokens": 523
      },
      {
        "competitor": "colbert-replace-vector",
        "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/functional-programming.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/helm-charts.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.3333333333333333,
        "latency_ms": 101.731583,
        "tokens": 1809
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sample_docs/api-design.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.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.4,
        "latency_ms": 72.446834,
        "tokens": 1938
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-lake-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.26666666666666666,
        "latency_ms": 84.32875,
        "tokens": 1260
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 57.737292,
        "tokens": 490
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 62.606625,
        "tokens": 461
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-security.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": 0.25,
        "content_match": 0.8,
        "latency_ms": 72.468917,
        "tokens": 1643
      },
      {
        "competitor": "colbert-replace-vector",
        "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/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": 88.975583,
        "tokens": 974
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.4666666666666667,
        "latency_ms": 61.281792,
        "tokens": 146
      },
      {
        "competitor": "colbert-replace-vector",
        "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/compliance-frameworks.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.4,
        "latency_ms": 61.657416,
        "tokens": 704
      },
      {
        "competitor": "colbert-replace-vector",
        "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/ci-cd-pipelines.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/api-design.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.6,
        "latency_ms": 96.281875,
        "tokens": 1574
      },
      {
        "competitor": "colbert-replace-vector",
        "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.8666666666666667,
        "latency_ms": 55.85,
        "tokens": 501
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.4,
        "latency_ms": 47.59425,
        "tokens": 431
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/load-balancing.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.25,
        "content_match": 0.8666666666666667,
        "latency_ms": 83.052458,
        "tokens": 1054
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 47.839125,
        "tokens": 522
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 52.376375,
        "tokens": 510
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 50.068834,
        "tokens": 450
      },
      {
        "competitor": "colbert-replace-vector",
        "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/auto-scaling.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 63.469834,
        "tokens": 1368
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.5,
        "content_match": 0.8,
        "latency_ms": 54.087583,
        "tokens": 626
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 49.948958,
        "tokens": 362
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-lake-architecture.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": 0.2,
        "content_match": 0.9090909090909091,
        "latency_ms": 61.018875,
        "tokens": 1957
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 51.837709,
        "tokens": 375
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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/event-driven-architecture.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.25,
        "content_match": 0.6,
        "latency_ms": 69.42825,
        "tokens": 1513
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8,
        "latency_ms": 48.94825,
        "tokens": 403
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.8666666666666667,
        "latency_ms": 49.120084,
        "tokens": 370
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.4666666666666667,
        "latency_ms": 53.047708,
        "tokens": 549
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.7333333333333333,
        "latency_ms": 53.312875,
        "tokens": 467
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 43.4265,
        "tokens": 587
      },
      {
        "competitor": "colbert-replace-vector",
        "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/monitoring-observability.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.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": 0.3333333333333333,
        "latency_ms": 74.876333,
        "tokens": 1739
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.7333333333333333,
        "latency_ms": 60.357875,
        "tokens": 776
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/stream-processing.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.6666666666666666,
        "latency_ms": 66.937833,
        "tokens": 782
      },
      {
        "competitor": "colbert-replace-vector",
        "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.7333333333333333,
        "latency_ms": 52.204625,
        "tokens": 1012
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 43.680791,
        "tokens": 388
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.8666666666666667,
        "latency_ms": 47.329459,
        "tokens": 375
      },
      {
        "competitor": "colbert-replace-vector",
        "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.7333333333333333,
        "latency_ms": 45.945417,
        "tokens": 511
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5,
        "content_match": 1.0,
        "latency_ms": 57.588375,
        "tokens": 748
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.4666666666666667,
        "latency_ms": 47.762125,
        "tokens": 421
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 0.9090909090909091,
        "latency_ms": 53.065583,
        "tokens": 343
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 45.345125,
        "tokens": 506
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 47.361167,
        "tokens": 124
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 46.503,
        "tokens": 385
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 52.337042,
        "tokens": 503
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 45.635584,
        "tokens": 142
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 49.691125,
        "tokens": 498
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.7333333333333333,
        "latency_ms": 52.616917,
        "tokens": 185
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "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.7333333333333333,
        "latency_ms": 48.264375,
        "tokens": 379
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 45.242,
        "tokens": 391
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 53.794916,
        "tokens": 412
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 51.864541,
        "tokens": 354
      },
      {
        "competitor": "colbert-replace-vector",
        "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-warehouse-modeling.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": 73.101042,
        "tokens": 937
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.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": -1.0,
        "latency_ms": 74.437208,
        "tokens": 1078
      },
      {
        "competitor": "colbert-replace-vector",
        "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/owasp-top-10.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/design-patterns-structural.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": 75.6125,
        "tokens": 2311
      },
      {
        "competitor": "colbert-replace-vector",
        "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/ssh-configuration.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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.1635,
        "tokens": 1710
      },
      {
        "competitor": "colbert-replace-vector",
        "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/database-replication.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/monitoring-observability.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": 74.577833,
        "tokens": 1746
      },
      {
        "competitor": "colbert-replace-vector",
        "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/grpc-protocol.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/data-serialization.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": 90.169125,
        "tokens": 2076
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/event-driven-architecture.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": 84.825666,
        "tokens": 2510
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sql-query-optimization.md",
          "tests/fixtures/scale_docs/spark-fundamentals.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": 69.547375,
        "tokens": 1636
      },
      {
        "competitor": "colbert-replace-vector",
        "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/well-architected-framework.md",
          "tests/fixtures/scale_docs/grpc-protocol.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": 87.945125,
        "tokens": 2056
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/cost-optimization.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": 65.961208,
        "tokens": 1136
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/chaos-engineering.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": 79.439334,
        "tokens": 1512
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 71.730792,
        "tokens": 1909
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 80.107625,
        "tokens": 1667
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/vector-databases.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": 119.778125,
        "tokens": 1623
      },
      {
        "competitor": "colbert-replace-vector",
        "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/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/well-architected-framework.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": 87.455708,
        "tokens": 1795
      },
      {
        "competitor": "colbert-replace-vector",
        "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/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": 102.156583,
        "tokens": 2346
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 74.565375,
        "tokens": 471
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/multi-region-deployment.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": 61.124958,
        "tokens": 1106
      },
      {
        "competitor": "colbert-replace-vector",
        "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/incident-response.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.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": 81.032917,
        "tokens": 1770
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/dns-resolution.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": -1.0,
        "latency_ms": 83.744958,
        "tokens": 1450
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/cdn-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": 96.511875,
        "tokens": 2331
      },
      {
        "competitor": "colbert-replace-vector",
        "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/cost-optimization.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": -1.0,
        "latency_ms": 90.773125,
        "tokens": 2279
      },
      {
        "competitor": "colbert-replace-vector",
        "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/nosql-patterns.md",
          "tests/fixtures/scale_docs/owasp-top-10.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": 64.911292,
        "tokens": 1603
      },
      {
        "competitor": "colbert-replace-vector",
        "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/testing-strategies.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/migration-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": 91.033541,
        "tokens": 1874
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-permissions.md",
          "tests/fixtures/scale_docs/database-replication.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": 96.349833,
        "tokens": 1627
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-quality.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": 77.313333,
        "tokens": 2105
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/testing-strategies.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": 90.308166,
        "tokens": 2082
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.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": 88.51125,
        "tokens": 1939
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 1,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 54.2835,
        "tokens": 427
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sample_docs/document-processing.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.25,
        "content_match": 0.6,
        "latency_ms": 68.460792,
        "tokens": 741
      },
      {
        "competitor": "colbert-replace-vector",
        "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/scale_docs/cryptography-basics.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.25,
        "content_match": 0.8,
        "latency_ms": 80.395708,
        "tokens": 1326
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "REST API design",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/api-design.md",
          "tests/fixtures/scale_docs/api-gateway-patterns.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.6666666666666666,
        "latency_ms": 55.017708,
        "tokens": 728
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "database normalization",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/postgresql-internals.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/sql-query-optimization.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": 0.2,
        "content_match": 0.7333333333333333,
        "latency_ms": 75.743375,
        "tokens": 1978
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "HTTP/2 vs HTTP/3 performance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 60.546375,
        "tokens": 506
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8666666666666667,
        "latency_ms": 54.03875,
        "tokens": 418
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "Apache Kafka 3.0 features",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 56.381333,
        "tokens": 547
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8666666666666667,
        "latency_ms": 53.128458,
        "tokens": 181
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "Kubernetes v1.24 removal of dockershim",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "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": 69.836041,
        "tokens": 354
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "gRPC over HTTP/2",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/grpc-protocol.md",
          "tests/fixtures/scale_docs/http2-http3.md",
          "tests/fixtures/sample_docs/microservices.md"
        ],
        "rr": 1.0,
        "ndcg_5": 1.0,
        "hit_rate_1": 1.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 58.904,
        "tokens": 977
      },
      {
        "competitor": "colbert-replace-vector",
        "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/helm-charts.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.4666666666666667,
        "latency_ms": 55.782041,
        "tokens": 680
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "Elasticsearch 8.x security changes",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/monitoring-observability.md",
          "tests/fixtures/scale_docs/linux-logging.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/api-security.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.4666666666666667,
        "latency_ms": 75.778791,
        "tokens": 1975
      },
      {
        "competitor": "colbert-replace-vector",
        "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/security-audit-checklist.md",
          "tests/fixtures/scale_docs/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/vpn-tunneling.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": 0.2,
        "content_match": 0.5333333333333333,
        "latency_ms": 89.815875,
        "tokens": 1631
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "AVX-512 vector instructions",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/sample_docs/vector-databases.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.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": 82.263459,
        "tokens": 2161
      },
      {
        "competitor": "colbert-replace-vector",
        "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/load-balancing.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.8,
        "latency_ms": 59.6945,
        "tokens": 1007
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-serialization.md",
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/firewall-rules.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 92.626083,
        "tokens": 2392
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "UUID v4 generation",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/scale_docs/testing-strategies.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/sample_docs/document-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": 0.2,
        "latency_ms": 77.494917,
        "tokens": 1929
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "0xEF hex code",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/api-security.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/shell-scripting.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/cost-optimization.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": 90.537042,
        "tokens": 2340
      },
      {
        "competitor": "colbert-replace-vector",
        "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/owasp-top-10.md",
          "tests/fixtures/scale_docs/cryptography-basics.md",
          "tests/fixtures/scale_docs/functional-programming.md",
          "tests/fixtures/scale_docs/shell-scripting.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.2,
        "content_match": 0.8,
        "latency_ms": 83.615334,
        "tokens": 1888
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "ISO 27001 compliance",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 45.44775,
        "tokens": 421
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "SOC2 Type II audit",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 70.628416,
        "tokens": 1093
      },
      {
        "competitor": "colbert-replace-vector",
        "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/database-migrations.md",
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.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.26666666666666666,
        "latency_ms": 99.748833,
        "tokens": 2413
      },
      {
        "competitor": "colbert-replace-vector",
        "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"
        ],
        "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": 76.298791,
        "tokens": 338
      },
      {
        "competitor": "colbert-replace-vector",
        "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"
        ],
        "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": 101.278125,
        "tokens": 1396
      },
      {
        "competitor": "colbert-replace-vector",
        "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/cryptography-basics.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.6,
        "latency_ms": 69.493083,
        "tokens": 1551
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "OAuth 2.0 PKCE flow",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "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": 68.065917,
        "tokens": 524
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "RAID 6 configurations",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/linux-filesystem.md",
          "tests/fixtures/scale_docs/websocket-protocol.md",
          "tests/fixtures/scale_docs/ssh-configuration.md",
          "tests/fixtures/scale_docs/disaster-recovery.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": 85.77575,
        "tokens": 2134
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "SQL-92 standards",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/compliance-frameworks.md",
          "tests/fixtures/scale_docs/database-migrations.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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.5333333333333333,
        "latency_ms": 68.563291,
        "tokens": 2218
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "POSIX thread management",
        "category": "lexical",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/concurrency-patterns.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": 0.09090909090909091,
        "latency_ms": 44.218125,
        "tokens": 654
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "systemd unit files",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 55.342208,
        "tokens": 468
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "EXT4 filesystem limits",
        "category": "lexical",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.3333333333333333,
        "latency_ms": 56.09075,
        "tokens": 523
      },
      {
        "competitor": "colbert-replace-vector",
        "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/functional-programming.md",
          "tests/fixtures/scale_docs/tls-ssl.md",
          "tests/fixtures/scale_docs/helm-charts.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.3333333333333333,
        "latency_ms": 89.39475,
        "tokens": 1809
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sample_docs/api-design.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.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.4,
        "latency_ms": 64.16825,
        "tokens": 1938
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-lake-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.26666666666666666,
        "latency_ms": 62.865083,
        "tokens": 1260
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "how to implement chaos engineering",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 54.422541,
        "tokens": 490
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "benefits of event-driven architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 46.577417,
        "tokens": 461
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "serverless vs containers",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/container-security.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": 0.25,
        "content_match": 0.8,
        "latency_ms": 70.852542,
        "tokens": 1643
      },
      {
        "competitor": "colbert-replace-vector",
        "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/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": 72.3565,
        "tokens": 974
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "data lakehouse architecture",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.4666666666666667,
        "latency_ms": 58.966792,
        "tokens": 146
      },
      {
        "competitor": "colbert-replace-vector",
        "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/compliance-frameworks.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.4,
        "latency_ms": 61.248333,
        "tokens": 704
      },
      {
        "competitor": "colbert-replace-vector",
        "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/ci-cd-pipelines.md",
          "tests/fixtures/sample_docs/microservices.md",
          "tests/fixtures/sample_docs/api-design.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.6,
        "latency_ms": 90.677792,
        "tokens": 1574
      },
      {
        "competitor": "colbert-replace-vector",
        "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.8666666666666667,
        "latency_ms": 52.058,
        "tokens": 501
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "load balancing algorithms",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.4,
        "latency_ms": 52.017417,
        "tokens": 431
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "content delivery network optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cdn-architecture.md",
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/load-balancing.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.25,
        "content_match": 0.8666666666666667,
        "latency_ms": 89.4415,
        "tokens": 1054
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "service mesh advantages",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 50.428,
        "tokens": 522
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "infrastructure as code tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 58.056417,
        "tokens": 510
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "monitoring vs observability",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 60.792583,
        "tokens": 450
      },
      {
        "competitor": "colbert-replace-vector",
        "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/auto-scaling.md",
          "tests/fixtures/scale_docs/well-architected-framework.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.8666666666666667,
        "latency_ms": 74.420209,
        "tokens": 1368
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "disaster recovery planning",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.5,
        "content_match": 0.8,
        "latency_ms": 49.631917,
        "tokens": 626
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "api gateway patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 51.884667,
        "tokens": 362
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "cloud storage options",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/cost-optimization.md",
          "tests/fixtures/scale_docs/ci-cd-pipelines.md",
          "tests/fixtures/scale_docs/data-lake-architecture.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": 0.2,
        "content_match": 0.9090909090909091,
        "latency_ms": 63.904583,
        "tokens": 1957
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "data serialization formats",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 54.712625,
        "tokens": 375
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "message queue patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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/event-driven-architecture.md"
        ],
        "rr": 0.25,
        "ndcg_5": 0.43067655807339306,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.25,
        "content_match": 0.6,
        "latency_ms": 65.304083,
        "tokens": 1513
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.8,
        "latency_ms": 51.425208,
        "tokens": 403
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "linux memory management",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.8666666666666667,
        "latency_ms": 50.23025,
        "tokens": 370
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "dns resolution process",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.4666666666666667,
        "latency_ms": 54.76825,
        "tokens": 549
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.7333333333333333,
        "latency_ms": 46.834416,
        "tokens": 467
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "cryptography basics",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 38.768208,
        "tokens": 587
      },
      {
        "competitor": "colbert-replace-vector",
        "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/monitoring-observability.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.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": 0.3333333333333333,
        "latency_ms": 71.175916,
        "tokens": 1739
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "container security hardening",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/network-security-hardening.md",
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/security-audit-checklist.md"
        ],
        "rr": 0.5,
        "ndcg_5": 0.6309297535714575,
        "hit_rate_1": 0.0,
        "hit_rate_5": 1.0,
        "precision_5": 0.3333333333333333,
        "content_match": 0.7333333333333333,
        "latency_ms": 65.621292,
        "tokens": 776
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "well architected framework",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/stream-processing.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.6666666666666666,
        "latency_ms": 69.22175,
        "tokens": 782
      },
      {
        "competitor": "colbert-replace-vector",
        "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.7333333333333333,
        "latency_ms": 53.745209,
        "tokens": 1012
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "incident response steps",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 53.076625,
        "tokens": 388
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "multi-region deployment",
        "category": "semantic",
        "difficulty": "hard",
        "retrieved_sources": [
          "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.8666666666666667,
        "latency_ms": 53.549791,
        "tokens": 375
      },
      {
        "competitor": "colbert-replace-vector",
        "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.7333333333333333,
        "latency_ms": 43.123542,
        "tokens": 511
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "vpn tunneling protocols",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.5,
        "content_match": 1.0,
        "latency_ms": 51.231292,
        "tokens": 748
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 0.4666666666666667,
        "latency_ms": 55.271208,
        "tokens": 421
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "helm charts fundamentals",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 0.9090909090909091,
        "latency_ms": 63.725125,
        "tokens": 343
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 54.154917,
        "tokens": 506
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "network troubleshooting tools",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.5333333333333333,
        "latency_ms": 60.763792,
        "tokens": 124
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "database replication types",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 54.02275,
        "tokens": 385
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "nosql design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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": 50.292667,
        "tokens": 503
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "sql query optimization",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 50.420041,
        "tokens": 142
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "data pipeline design",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6666666666666666,
        "latency_ms": 50.244584,
        "tokens": 498
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "testing strategies for software",
        "category": "semantic",
        "difficulty": "easy",
        "retrieved_sources": [
          "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.7333333333333333,
        "latency_ms": 60.076416,
        "tokens": 185
      },
      {
        "competitor": "colbert-replace-vector",
        "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.7333333333333333,
        "latency_ms": 53.625667,
        "tokens": 379
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "behavioral design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.6,
        "latency_ms": 47.082834,
        "tokens": 391
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "creational design patterns",
        "category": "semantic",
        "difficulty": "medium",
        "retrieved_sources": [
          "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.8,
        "latency_ms": 57.1305,
        "tokens": 412
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "how to bake sourdough in a kubernetes cluster",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 59.959042,
        "tokens": 354
      },
      {
        "competitor": "colbert-replace-vector",
        "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-warehouse-modeling.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": 71.412459,
        "tokens": 937
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "quantum entanglement in photosynthesis",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cryptography-basics.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": -1.0,
        "latency_ms": 82.724333,
        "tokens": 1078
      },
      {
        "competitor": "colbert-replace-vector",
        "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/owasp-top-10.md",
          "tests/fixtures/scale_docs/database-sharding.md",
          "tests/fixtures/scale_docs/design-patterns-structural.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": 76.745708,
        "tokens": 2311
      },
      {
        "competitor": "colbert-replace-vector",
        "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/ssh-configuration.md",
          "tests/fixtures/sample_docs/database-design.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/security-audit-checklist.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": 90.369125,
        "tokens": 1710
      },
      {
        "competitor": "colbert-replace-vector",
        "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/database-replication.md",
          "tests/fixtures/scale_docs/cloud-storage-options.md",
          "tests/fixtures/scale_docs/monitoring-observability.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": 84.852333,
        "tokens": 1746
      },
      {
        "competitor": "colbert-replace-vector",
        "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/grpc-protocol.md",
          "tests/fixtures/scale_docs/well-architected-framework.md",
          "tests/fixtures/scale_docs/data-serialization.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": 89.187958,
        "tokens": 2076
      },
      {
        "competitor": "colbert-replace-vector",
        "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/data-warehouse-modeling.md",
          "tests/fixtures/scale_docs/data-quality.md",
          "tests/fixtures/scale_docs/event-driven-architecture.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": 92.668291,
        "tokens": 2510
      },
      {
        "competitor": "colbert-replace-vector",
        "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/sql-query-optimization.md",
          "tests/fixtures/scale_docs/spark-fundamentals.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": 70.637709,
        "tokens": 1636
      },
      {
        "competitor": "colbert-replace-vector",
        "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/well-architected-framework.md",
          "tests/fixtures/scale_docs/grpc-protocol.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": 98.296083,
        "tokens": 2056
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "symptoms of a cold",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/cost-optimization.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": 69.752625,
        "tokens": 1136
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "movie recommendations for tonight",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/container-security.md",
          "tests/fixtures/scale_docs/penetration-testing-methodology.md",
          "tests/fixtures/scale_docs/chaos-engineering.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": 89.112541,
        "tokens": 1512
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 82.869917,
        "tokens": 1909
      },
      {
        "competitor": "colbert-replace-vector",
        "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": 88.026625,
        "tokens": 1667
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "meaning of life 42",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-process-management.md",
          "tests/fixtures/sample_docs/semantic-search.md",
          "tests/fixtures/sample_docs/vector-databases.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": 108.576625,
        "tokens": 1623
      },
      {
        "competitor": "colbert-replace-vector",
        "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/elasticsearch-basics.md",
          "tests/fixtures/scale_docs/well-architected-framework.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": 88.770917,
        "tokens": 1795
      },
      {
        "competitor": "colbert-replace-vector",
        "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/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": 100.821375,
        "tokens": 2346
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "best coffee shops in London",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 75.715125,
        "tokens": 471
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "gardening tips for summer",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/data-serialization.md",
          "tests/fixtures/scale_docs/multi-region-deployment.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": 70.937458,
        "tokens": 1106
      },
      {
        "competitor": "colbert-replace-vector",
        "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/incident-response.md",
          "tests/fixtures/scale_docs/infrastructure-as-code.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": 82.072708,
        "tokens": 1770
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "history of the internet",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/cloud-networking.md",
          "tests/fixtures/scale_docs/zero-trust-architecture.md",
          "tests/fixtures/scale_docs/dns-resolution.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": -1.0,
        "latency_ms": 80.902625,
        "tokens": 1450
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "space travel in the future",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.md",
          "tests/fixtures/scale_docs/concurrency-patterns.md",
          "tests/fixtures/scale_docs/auto-scaling.md",
          "tests/fixtures/scale_docs/cdn-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": 94.129292,
        "tokens": 2331
      },
      {
        "competitor": "colbert-replace-vector",
        "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/cost-optimization.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": -1.0,
        "latency_ms": 90.7645,
        "tokens": 2279
      },
      {
        "competitor": "colbert-replace-vector",
        "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/nosql-patterns.md",
          "tests/fixtures/scale_docs/owasp-top-10.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": 66.483667,
        "tokens": 1603
      },
      {
        "competitor": "colbert-replace-vector",
        "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/testing-strategies.md",
          "tests/fixtures/sample_docs/caching.md",
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/migration-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": 86.045041,
        "tokens": 1874
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "climate change impacts",
        "category": "adversarial",
        "difficulty": "medium",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/design-patterns-behavioral.md",
          "tests/fixtures/scale_docs/incident-response.md",
          "tests/fixtures/scale_docs/linux-permissions.md",
          "tests/fixtures/scale_docs/database-replication.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": 82.9605,
        "tokens": 1627
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "renewable energy sources",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/serverless-architecture.md",
          "tests/fixtures/scale_docs/container-fundamentals.md",
          "tests/fixtures/scale_docs/data-pipeline-design.md",
          "tests/fixtures/scale_docs/vpn-tunneling.md",
          "tests/fixtures/scale_docs/data-quality.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": 77.398209,
        "tokens": 2105
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "healthy eating habits",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/connection-pooling.md",
          "tests/fixtures/scale_docs/kubernetes-architecture.md",
          "tests/fixtures/scale_docs/chaos-engineering.md",
          "tests/fixtures/scale_docs/testing-strategies.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": 88.449584,
        "tokens": 2082
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "travel tips for Japan",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "tests/fixtures/scale_docs/event-driven-architecture.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": 91.113833,
        "tokens": 1939
      },
      {
        "competitor": "colbert-replace-vector",
        "run": 2,
        "query": "basics of photography",
        "category": "adversarial",
        "difficulty": "easy",
        "retrieved_sources": [
          "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": 55.446959,
        "tokens": 427
      }
    ]
  }
}