{
  "metadata": {
    "corpus_docs": 89,
    "query_count": 108,
    "runs": 3,
    "k": 5,
    "warmup_queries": 5,
    "timestamp": "2026-02-24T14:49:35"
  },
  "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.616347687400319,
      "latency_p50": 493.719917,
      "latency_p95": 587.982791,
      "latency_p99": 628.795459,
      "avg_tokens": 799.1851851851852,
      "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": 447.263208,
        "tokens": 612
      },
      {
        "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": 501.60425,
        "tokens": 832
      },
      {
        "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": 453.776375,
        "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.6,
        "latency_ms": 467.229916,
        "tokens": 634
      },
      {
        "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": 470.731458,
        "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": 443.436,
        "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": 480.939792,
        "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": 495.196083,
        "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": 490.003583,
        "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": 468.349083,
        "tokens": 946
      },
      {
        "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.4,
        "latency_ms": 523.227625,
        "tokens": 446
      },
      {
        "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": 498.492083,
        "tokens": 1190
      },
      {
        "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.4,
        "latency_ms": 485.550875,
        "tokens": 615
      },
      {
        "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": 515.477791,
        "tokens": 938
      },
      {
        "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": 497.112083,
        "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": 495.787208,
        "tokens": 1178
      },
      {
        "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.13333333333333333,
        "latency_ms": 527.505541,
        "tokens": 678
      },
      {
        "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.6,
        "latency_ms": 496.836625,
        "tokens": 914
      },
      {
        "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.6666666666666666,
        "latency_ms": 486.149834,
        "tokens": 607
      },
      {
        "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": 455.322042,
        "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.8,
        "latency_ms": 467.426458,
        "tokens": 728
      },
      {
        "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.2,
        "latency_ms": 492.524167,
        "tokens": 809
      },
      {
        "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": 430.158542,
        "tokens": 205
      },
      {
        "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.13333333333333333,
        "latency_ms": 450.767417,
        "tokens": 493
      },
      {
        "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.4666666666666667,
        "latency_ms": 445.599,
        "tokens": 556
      },
      {
        "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": 471.19725,
        "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": 442.318417,
        "tokens": 789
      },
      {
        "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": 454.338542,
        "tokens": 649
      },
      {
        "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": 486.820334,
        "tokens": 585
      },
      {
        "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": 523.136666,
        "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": 509.113167,
        "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": 510.819,
        "tokens": 674
      },
      {
        "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.26666666666666666,
        "latency_ms": 484.131458,
        "tokens": 631
      },
      {
        "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": 515.062583,
        "tokens": 1011
      },
      {
        "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": 484.806084,
        "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": 470.424375,
        "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": 459.851625,
        "tokens": 892
      },
      {
        "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": 490.653625,
        "tokens": 696
      },
      {
        "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.6666666666666666,
        "latency_ms": 460.24825,
        "tokens": 394
      },
      {
        "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": 443.642,
        "tokens": 592
      },
      {
        "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": 421.572542,
        "tokens": 1535
      },
      {
        "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": 415.359083,
        "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": 483.278708,
        "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": 499.641084,
        "tokens": 1047
      },
      {
        "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": 497.751041,
        "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": 510.041875,
        "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": 533.805209,
        "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": 497.906875,
        "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": 487.682292,
        "tokens": 716
      },
      {
        "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": 494.922583,
        "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": 473.539833,
        "tokens": 1122
      },
      {
        "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": 478.522708,
        "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": 510.234834,
        "tokens": 1307
      },
      {
        "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": 444.784208,
        "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": 461.360208,
        "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": 460.056792,
        "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": 472.176625,
        "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": 459.294958,
        "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.2,
        "latency_ms": 464.843125,
        "tokens": 1256
      },
      {
        "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": 493.719917,
        "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": 480.522333,
        "tokens": 603
      },
      {
        "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": 473.191417,
        "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": 507.403291,
        "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": 499.829666,
        "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": 517.982875,
        "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": 508.216,
        "tokens": 421
      },
      {
        "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": 500.224458,
        "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": 509.034834,
        "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": 520.7565,
        "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.7333333333333333,
        "latency_ms": 462.629583,
        "tokens": 428
      },
      {
        "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": 472.939459,
        "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": 450.111,
        "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": 423.774292,
        "tokens": 439
      },
      {
        "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": 456.557417,
        "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.8,
        "latency_ms": 478.48925,
        "tokens": 505
      },
      {
        "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": 469.590792,
        "tokens": 570
      },
      {
        "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": 452.186792,
        "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": 474.025292,
        "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": 518.965667,
        "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": 496.745375,
        "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": 507.178792,
        "tokens": 696
      },
      {
        "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": 556.994584,
        "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": 478.377167,
        "tokens": 502
      },
      {
        "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": 524.452125,
        "tokens": 1946
      },
      {
        "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": 473.3615,
        "tokens": 661
      },
      {
        "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": 488.565416,
        "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": 439.250292,
        "tokens": 1774
      },
      {
        "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": 480.423208,
        "tokens": 1946
      },
      {
        "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": 440.567416,
        "tokens": 1382
      },
      {
        "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": 521.350417,
        "tokens": 665
      },
      {
        "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": 483.496375,
        "tokens": 767
      },
      {
        "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": 485.13775,
        "tokens": 1840
      },
      {
        "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": 462.483,
        "tokens": 1511
      },
      {
        "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": 523.78275,
        "tokens": 1769
      },
      {
        "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": 507.203875,
        "tokens": 959
      },
      {
        "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": 468.03825,
        "tokens": 156
      },
      {
        "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": 472.392916,
        "tokens": 520
      },
      {
        "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": 498.919292,
        "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": 517.256833,
        "tokens": 1812
      },
      {
        "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": 496.649,
        "tokens": 2086
      },
      {
        "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": 456.023916,
        "tokens": 2097
      },
      {
        "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": 451.464583,
        "tokens": 1129
      },
      {
        "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": 457.609791,
        "tokens": 997
      },
      {
        "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": 470.213458,
        "tokens": 699
      },
      {
        "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": 468.651,
        "tokens": 733
      },
      {
        "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": 437.998209,
        "tokens": 820
      },
      {
        "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": 454.1235,
        "tokens": 1361
      },
      {
        "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": 444.668167,
        "tokens": 315
      },
      {
        "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": 525.5705,
        "tokens": 612
      },
      {
        "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": 516.516666,
        "tokens": 832
      },
      {
        "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": 535.226708,
        "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.6,
        "latency_ms": 599.622208,
        "tokens": 634
      },
      {
        "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": 621.461833,
        "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": 581.813333,
        "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": 528.0685,
        "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": 503.867208,
        "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": 465.583917,
        "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": 540.18,
        "tokens": 946
      },
      {
        "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.4,
        "latency_ms": 513.171958,
        "tokens": 446
      },
      {
        "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": 486.078458,
        "tokens": 1190
      },
      {
        "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.4,
        "latency_ms": 528.62775,
        "tokens": 615
      },
      {
        "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": 469.088833,
        "tokens": 938
      },
      {
        "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": 508.506916,
        "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": 600.105083,
        "tokens": 1178
      },
      {
        "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.13333333333333333,
        "latency_ms": 595.445292,
        "tokens": 678
      },
      {
        "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.6,
        "latency_ms": 587.982791,
        "tokens": 914
      },
      {
        "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.6666666666666666,
        "latency_ms": 513.268333,
        "tokens": 607
      },
      {
        "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": 567.711042,
        "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.8,
        "latency_ms": 517.080541,
        "tokens": 728
      },
      {
        "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.2,
        "latency_ms": 510.377333,
        "tokens": 809
      },
      {
        "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": 491.884583,
        "tokens": 205
      },
      {
        "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.13333333333333333,
        "latency_ms": 550.603958,
        "tokens": 493
      },
      {
        "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.4666666666666667,
        "latency_ms": 455.767792,
        "tokens": 556
      },
      {
        "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": 508.1425,
        "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": 489.022625,
        "tokens": 789
      },
      {
        "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": 475.506834,
        "tokens": 649
      },
      {
        "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": 516.826541,
        "tokens": 585
      },
      {
        "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": 571.463041,
        "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": 559.554125,
        "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": 571.810458,
        "tokens": 674
      },
      {
        "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.26666666666666666,
        "latency_ms": 558.47175,
        "tokens": 631
      },
      {
        "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": 533.243583,
        "tokens": 1011
      },
      {
        "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": 562.184458,
        "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": 577.627583,
        "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": 584.14625,
        "tokens": 892
      },
      {
        "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": 482.824833,
        "tokens": 696
      },
      {
        "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.6666666666666666,
        "latency_ms": 480.710667,
        "tokens": 394
      },
      {
        "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": 423.217834,
        "tokens": 592
      },
      {
        "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": 445.013083,
        "tokens": 1535
      },
      {
        "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": 471.59875,
        "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": 490.383875,
        "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": 491.714709,
        "tokens": 1047
      },
      {
        "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": 483.231458,
        "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": 513.803834,
        "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": 551.667375,
        "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": 565.660292,
        "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": 547.093,
        "tokens": 716
      },
      {
        "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": 566.668584,
        "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": 537.566125,
        "tokens": 1122
      },
      {
        "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": 561.179583,
        "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": 586.475,
        "tokens": 1307
      },
      {
        "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": 536.256333,
        "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": 521.18475,
        "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": 488.473542,
        "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": 511.015791,
        "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": 454.689625,
        "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.2,
        "latency_ms": 538.997042,
        "tokens": 1256
      },
      {
        "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": 477.777292,
        "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": 545.172917,
        "tokens": 603
      },
      {
        "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": 609.021083,
        "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": 570.905375,
        "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": 576.577333,
        "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": 599.600083,
        "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": 584.205708,
        "tokens": 421
      },
      {
        "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": 612.6435,
        "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": 507.625959,
        "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": 478.038625,
        "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.7333333333333333,
        "latency_ms": 456.820459,
        "tokens": 428
      },
      {
        "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": 489.292,
        "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": 518.196833,
        "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": 482.4805,
        "tokens": 439
      },
      {
        "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": 472.174459,
        "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.8,
        "latency_ms": 532.188083,
        "tokens": 505
      },
      {
        "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": 513.556375,
        "tokens": 570
      },
      {
        "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": 540.752208,
        "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": 538.728709,
        "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": 603.699583,
        "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": 603.277541,
        "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": 628.795459,
        "tokens": 696
      },
      {
        "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": 986.059584,
        "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": 1033.316417,
        "tokens": 502
      },
      {
        "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": 717.266916,
        "tokens": 1946
      },
      {
        "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": 597.916584,
        "tokens": 661
      },
      {
        "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": 595.297667,
        "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": 560.830167,
        "tokens": 1774
      },
      {
        "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": 627.826125,
        "tokens": 1946
      },
      {
        "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": 560.388708,
        "tokens": 1382
      },
      {
        "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": 504.396291,
        "tokens": 665
      },
      {
        "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": 492.632375,
        "tokens": 767
      },
      {
        "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": 514.747917,
        "tokens": 1840
      },
      {
        "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": 551.444,
        "tokens": 1511
      },
      {
        "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": 531.772417,
        "tokens": 1769
      },
      {
        "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": 441.56025,
        "tokens": 959
      },
      {
        "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": 499.922209,
        "tokens": 156
      },
      {
        "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": 530.1495,
        "tokens": 520
      },
      {
        "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": 573.229459,
        "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": 568.770167,
        "tokens": 1812
      },
      {
        "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": 529.738959,
        "tokens": 2086
      },
      {
        "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": 569.2665,
        "tokens": 2097
      },
      {
        "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": 545.585209,
        "tokens": 1129
      },
      {
        "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": 562.164416,
        "tokens": 997
      },
      {
        "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": 583.484,
        "tokens": 699
      },
      {
        "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": 582.456417,
        "tokens": 733
      },
      {
        "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": 491.379833,
        "tokens": 820
      },
      {
        "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": 523.308792,
        "tokens": 1361
      },
      {
        "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": 427.80825,
        "tokens": 315
      },
      {
        "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": 511.353375,
        "tokens": 612
      },
      {
        "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": 436.948375,
        "tokens": 832
      },
      {
        "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": 424.433,
        "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.6,
        "latency_ms": 442.376292,
        "tokens": 634
      },
      {
        "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": 450.684042,
        "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": 455.813625,
        "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": 399.627375,
        "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": 458.2935,
        "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": 456.438333,
        "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": 455.314208,
        "tokens": 946
      },
      {
        "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.4,
        "latency_ms": 511.064333,
        "tokens": 446
      },
      {
        "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": 539.28925,
        "tokens": 1190
      },
      {
        "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.4,
        "latency_ms": 520.910292,
        "tokens": 615
      },
      {
        "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": 546.739958,
        "tokens": 938
      },
      {
        "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": 511.475125,
        "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": 514.1815,
        "tokens": 1178
      },
      {
        "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.13333333333333333,
        "latency_ms": 539.816125,
        "tokens": 678
      },
      {
        "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.6,
        "latency_ms": 462.309083,
        "tokens": 914
      },
      {
        "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.6666666666666666,
        "latency_ms": 460.095792,
        "tokens": 607
      },
      {
        "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": 414.026667,
        "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.8,
        "latency_ms": 423.316791,
        "tokens": 728
      },
      {
        "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.2,
        "latency_ms": 471.769959,
        "tokens": 809
      },
      {
        "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": 437.648583,
        "tokens": 205
      },
      {
        "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.13333333333333333,
        "latency_ms": 428.028584,
        "tokens": 493
      },
      {
        "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.4666666666666667,
        "latency_ms": 518.904083,
        "tokens": 556
      },
      {
        "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": 538.646417,
        "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": 568.196167,
        "tokens": 789
      },
      {
        "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": 552.65925,
        "tokens": 649
      },
      {
        "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": 546.542875,
        "tokens": 585
      },
      {
        "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": 531.981084,
        "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": 432.335042,
        "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": 436.034833,
        "tokens": 674
      },
      {
        "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.26666666666666666,
        "latency_ms": 424.263375,
        "tokens": 631
      },
      {
        "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": 432.501417,
        "tokens": 1011
      },
      {
        "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": 493.266167,
        "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": 426.339042,
        "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": 407.871083,
        "tokens": 892
      },
      {
        "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": 439.690041,
        "tokens": 696
      },
      {
        "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.6666666666666666,
        "latency_ms": 446.890625,
        "tokens": 394
      },
      {
        "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": 511.089,
        "tokens": 592
      },
      {
        "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": 503.477291,
        "tokens": 1535
      },
      {
        "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": 503.3185,
        "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": 487.405958,
        "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": 473.264958,
        "tokens": 1047
      },
      {
        "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": 526.349792,
        "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": 522.604458,
        "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": 522.038833,
        "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": 544.488125,
        "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": 458.616959,
        "tokens": 716
      },
      {
        "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": 387.692291,
        "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": 452.688666,
        "tokens": 1122
      },
      {
        "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": 435.1395,
        "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": 455.380209,
        "tokens": 1307
      },
      {
        "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": 448.393875,
        "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": 414.916209,
        "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": 446.999834,
        "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": 429.331792,
        "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": 445.459875,
        "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.2,
        "latency_ms": 502.7855,
        "tokens": 1256
      },
      {
        "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": 510.578,
        "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": 537.639708,
        "tokens": 603
      },
      {
        "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": 504.910959,
        "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": 488.889084,
        "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": 492.9645,
        "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": 503.319375,
        "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": 537.485583,
        "tokens": 421
      },
      {
        "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": 496.257458,
        "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": 458.116292,
        "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": 445.190083,
        "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.7333333333333333,
        "latency_ms": 435.6775,
        "tokens": 428
      },
      {
        "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": 431.181792,
        "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": 429.222458,
        "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": 425.965084,
        "tokens": 439
      },
      {
        "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": 409.523875,
        "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.8,
        "latency_ms": 431.863709,
        "tokens": 505
      },
      {
        "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": 438.874916,
        "tokens": 570
      },
      {
        "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": 469.03475,
        "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": 509.002792,
        "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": 520.292417,
        "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": 501.262208,
        "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": 524.103958,
        "tokens": 696
      },
      {
        "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": 481.528625,
        "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": 520.262208,
        "tokens": 502
      },
      {
        "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": 527.590459,
        "tokens": 1946
      },
      {
        "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": 539.589833,
        "tokens": 661
      },
      {
        "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": 471.159708,
        "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": 461.370709,
        "tokens": 1774
      },
      {
        "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": 427.666708,
        "tokens": 1946
      },
      {
        "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": 433.784833,
        "tokens": 1382
      },
      {
        "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": 400.988334,
        "tokens": 665
      },
      {
        "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": 413.4995,
        "tokens": 767
      },
      {
        "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": 451.372583,
        "tokens": 1840
      },
      {
        "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": 438.512292,
        "tokens": 1511
      },
      {
        "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": 481.690792,
        "tokens": 1769
      },
      {
        "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": 505.158958,
        "tokens": 959
      },
      {
        "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": 521.09175,
        "tokens": 156
      },
      {
        "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": 482.909542,
        "tokens": 520
      },
      {
        "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": 530.806541,
        "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": 543.319834,
        "tokens": 1812
      },
      {
        "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": 544.270625,
        "tokens": 2086
      },
      {
        "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": 493.434416,
        "tokens": 2097
      },
      {
        "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": 528.006791,
        "tokens": 1129
      },
      {
        "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": 528.982792,
        "tokens": 997
      },
      {
        "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": 449.87075,
        "tokens": 699
      },
      {
        "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": 448.929083,
        "tokens": 733
      },
      {
        "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": 432.89425,
        "tokens": 820
      },
      {
        "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": 463.47075,
        "tokens": 1361
      },
      {
        "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": 421.0325,
        "tokens": 315
      }
    ]
  }
}