{
  "strategy": "Baseline: Package grouping",
  "total_contexts": 137,
  "meaningful_contexts": 116,
  "total_methods": 1594,
  "methods_in_good_groups": 9,
  "sore_successes": 2,
  "sore_failures": 10,
  "skip_reasons": {
    "too_large": 5,
    "too_diverse": 89,
    "large_alphabet": 10
  },
  "groups": [
    {
      "context": "app/src/test/kotlin/eu/corentic/springrag/architecture",
      "methods": 87,
      "unique": 70,
      "unique_ratio": 0.805,
      "sore": "SKIP(too_large)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller",
      "methods": 83,
      "unique": 74,
      "unique_ratio": 0.892,
      "sore": "SKIP(too_large)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/job",
      "methods": 61,
      "unique": 55,
      "unique_ratio": 0.902,
      "sore": "SKIP(too_large)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller",
      "methods": 56,
      "unique": 53,
      "unique_ratio": 0.946,
      "sore": "SKIP(too_large)",
      "sore_success": false
    },
    {
      "context": "agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel",
      "methods": 52,
      "unique": 52,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_large)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/job",
      "methods": 49,
      "unique": 48,
      "unique_ratio": 0.98,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "app/src/systemTest/kotlin/eu/corentic/springrag/system",
      "methods": 46,
      "unique": 38,
      "unique_ratio": 0.826,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/librechat",
      "methods": 46,
      "unique": 40,
      "unique_ratio": 0.87,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/port/adapter",
      "methods": 45,
      "unique": 44,
      "unique_ratio": 0.978,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/storage",
      "methods": 40,
      "unique": 27,
      "unique_ratio": 0.675,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/agent/rag/embabel",
      "methods": 35,
      "unique": 25,
      "unique_ratio": 0.714,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/listener",
      "methods": 34,
      "unique": 31,
      "unique_ratio": 0.912,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/integrationTest/kotlin/eu/corentic/springrag/service/job",
      "methods": 33,
      "unique": 30,
      "unique_ratio": 0.909,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/graph",
      "methods": 30,
      "unique": 25,
      "unique_ratio": 0.833,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/librechat",
      "methods": 29,
      "unique": 29,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/port/adapter",
      "methods": 28,
      "unique": 27,
      "unique_ratio": 0.964,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/config",
      "methods": 26,
      "unique": 23,
      "unique_ratio": 0.885,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/repository",
      "methods": 24,
      "unique": 21,
      "unique_ratio": 0.875,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/repository/graph",
      "methods": 23,
      "unique": 22,
      "unique_ratio": 0.957,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/service/docling",
      "methods": 21,
      "unique": 18,
      "unique_ratio": 0.857,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/repository",
      "methods": 19,
      "unique": 18,
      "unique_ratio": 0.947,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/common/src/main/kotlin/eu/corentic/springrag/common/ids",
      "methods": 18,
      "unique": 12,
      "unique_ratio": 0.667,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "app/src/e2eTest/kotlin/eu/corentic/springrag/e2e/cucumber/steps",
      "methods": 17,
      "unique": 13,
      "unique_ratio": 0.765,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/chunk",
      "methods": 17,
      "unique": 17,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch",
      "methods": 17,
      "unique": 17,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/listener",
      "methods": 16,
      "unique": 13,
      "unique_ratio": 0.812,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "modules/knowledgebase/src/test/kotlin/eu/corentic/springrag/service/knowledgebase",
      "methods": 16,
      "unique": 16,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "app/src/integrationTest/kotlin/eu/corentic/springrag/config",
      "methods": 15,
      "unique": 5,
      "unique_ratio": 0.333,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "modules/chat/src/systemTest/kotlin/eu/corentic/springrag/config",
      "methods": 15,
      "unique": 14,
      "unique_ratio": 0.933,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch",
      "methods": 15,
      "unique": 15,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/security/src/test/kotlin/eu/corentic/springrag/security/service",
      "methods": 15,
      "unique": 12,
      "unique_ratio": 0.8,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "agents/examples/simple-rag/src/test/kotlin/eu/corentic/springrag/example/rag/simple",
      "methods": 14,
      "unique": 14,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/summarizer/embabel/src/test/kotlin/eu/corentic/springrag/agent/summarizer/embabel",
      "methods": 14,
      "unique": 14,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "app/src/systemTest/kotlin/eu/corentic/springrag/config",
      "methods": 14,
      "unique": 14,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/writer",
      "methods": 14,
      "unique": 14,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel/librechat",
      "methods": 13,
      "unique": 13,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "platform/test-support/src/main/kotlin/eu/corentic/springrag/testcontainers",
      "methods": 13,
      "unique": 13,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/rag/support/src/main/kotlin/eu/corentic/springrag/agent/rag/support",
      "methods": 12,
      "unique": 11,
      "unique_ratio": 0.917,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/summarizer/embabel/src/main/kotlin/eu/corentic/springrag/agent/summarizer/embabel",
      "methods": 12,
      "unique": 12,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel",
      "methods": 12,
      "unique": 12,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/config",
      "methods": 12,
      "unique": 6,
      "unique_ratio": 0.5,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/graph",
      "methods": 12,
      "unique": 12,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/reader",
      "methods": 12,
      "unique": 11,
      "unique_ratio": 0.917,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/rag/support/src/test/kotlin/eu/corentic/springrag/agent/rag/support",
      "methods": 11,
      "unique": 11,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel/recording",
      "methods": 11,
      "unique": 11,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/knowledgebase/src/main/kotlin/eu/corentic/springrag/service/knowledgebase",
      "methods": 11,
      "unique": 11,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/web",
      "methods": 10,
      "unique": 10,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/service/docling",
      "methods": 10,
      "unique": 10,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/security/src/main/kotlin/eu/corentic/springrag/security/service",
      "methods": 10,
      "unique": 10,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/examples/simple-rag/src/main/kotlin/eu/corentic/springrag/example/rag/simple",
      "methods": 9,
      "unique": 9,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/model/graph",
      "methods": 9,
      "unique": 9,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/wikipedia/adapters/src/test/kotlin/eu/corentic/springrag/agent/wikipedia",
      "methods": 8,
      "unique": 8,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "buildSrc/src/main/kotlin",
      "methods": 8,
      "unique": 8,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/chat/src/test/kotlin/eu/corentic/springrag/service/chat",
      "methods": 8,
      "unique": 8,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/common/src/test/kotlin/eu/corentic/springrag/common/ids",
      "methods": 8,
      "unique": 4,
      "unique_ratio": 0.5,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/model",
      "methods": 8,
      "unique": 6,
      "unique_ratio": 0.75,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/chunk",
      "methods": 8,
      "unique": 8,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/model/graph",
      "methods": 7,
      "unique": 6,
      "unique_ratio": 0.857,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/partition",
      "methods": 7,
      "unique": 7,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/capability/support/src/test/kotlin/eu/corentic/springrag/agent/capability/support",
      "methods": 6,
      "unique": 5,
      "unique_ratio": 0.833,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "agents/tooling/embabel/src/test/kotlin/eu/corentic/springrag/agent/tooling/embabel",
      "methods": 6,
      "unique": 6,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/web",
      "methods": 6,
      "unique": 6,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/config",
      "methods": 6,
      "unique": 4,
      "unique_ratio": 0.667,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/doc-parser/src/systemTest/kotlin/eu/corentic/springrag/config",
      "methods": 6,
      "unique": 5,
      "unique_ratio": 0.833,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/health",
      "methods": 6,
      "unique": 6,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/health",
      "methods": 6,
      "unique": 5,
      "unique_ratio": 0.833,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/system",
      "methods": 6,
      "unique": 6,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/chat/src/main/kotlin/eu/corentic/springrag/service/chat",
      "methods": 6,
      "unique": 5,
      "unique_ratio": 0.833,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "modules/common/src/main/kotlin/eu/corentic/springrag/common",
      "methods": 6,
      "unique": 6,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/security/src/test/kotlin/eu/corentic/springrag/security/config",
      "methods": 6,
      "unique": 6,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/capability/ports/src/main/kotlin/eu/corentic/springrag/agent/capability",
      "methods": 5,
      "unique": 3,
      "unique_ratio": 0.6,
      "sore": "(return AgentCapabilityDescriptor(\n        id = id,\n        capabilityType = capabilityType,\n        displayName = describedCapability?.displayName ?: id,\n        description = describedCapability?.de",
      "sore_success": true
    },
    {
      "context": "agents/capability/support/src/main/kotlin/eu/corentic/springrag/agent/capability/support",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "app/src/integrationTest/kotlin/eu/corentic/springrag/controller",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "buildSrc/src/test/kotlin",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/auth",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/service/embedding",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/chat-memory/src/test/kotlin/eu/corentic/springrag/config",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/processor",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/knowledgebase/ports/src/main/kotlin/eu/corentic/springrag/model",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/security/src/main/kotlin/eu/corentic/springrag/security/config",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "platform/test-support/src/test/kotlin/eu/corentic/springrag/testcontainers",
      "methods": 5,
      "unique": 5,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/rag/ports/src/main/kotlin/eu/corentic/springrag/agent/rag",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/tooling/agent/src/main/kotlin/eu/corentic/springrag/agent/tooling/agent",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/test/kotlin/eu/corentic/springrag/config",
      "methods": 4,
      "unique": 3,
      "unique_ratio": 0.75,
      "sore": "SKIP(large_alphabet)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/config",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/health",
      "methods": 4,
      "unique": 3,
      "unique_ratio": 0.75,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/cleanup",
      "methods": 4,
      "unique": 2,
      "unique_ratio": 0.5,
      "sore": "info.(deleteByJobId|deleteByKnowledgeBaseId)",
      "sore_success": true
    },
    {
      "context": "infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/config",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/cleanup",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/chat/src/integrationTest/kotlin/eu/corentic/springrag/service/chat",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/chat/src/systemTest/kotlin/eu/corentic/springrag/system",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/model",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/partition",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/reader",
      "methods": 4,
      "unique": 4,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/testsupport",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/rag/ports/src/test/kotlin/eu/corentic/springrag/agent/rag",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/rag/ports/src/test/kotlin/eu/corentic/springrag/model",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/wikipedia/adapters/src/main/kotlin/eu/corentic/springrag/agent/wikipedia",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/wikipedia/static/src/test/kotlin/eu/corentic/springrag/agent/wikipedia",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "agents/wikipedia/static/src/main/kotlin/eu/corentic/springrag/agent/wikipedia",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "app/src/integrationTest/kotlin/eu/corentic/springrag/service",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "app/src/test/kotlin/eu/corentic/springrag/config",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "entrypoints/agent-mcp-server/src/main/kotlin/eu/corentic/springrag/mcp",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "entrypoints/agent-mcp-server/src/test/kotlin/eu/corentic/springrag/mcp",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "entrypoints/web/src/main/kotlin/eu/corentic/springrag/config",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/health",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/testsupport",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/config",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/health",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/testsupport",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/agent",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/config",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/storage",
      "methods": 3,
      "unique": 2,
      "unique_ratio": 0.667,
      "sore": "\u2205",
      "sore_success": false
    },
    {
      "context": "infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/testsupport",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/writer",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    },
    {
      "context": "modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/document",
      "methods": 3,
      "unique": 3,
      "unique_ratio": 1.0,
      "sore": "SKIP(too_diverse)",
      "sore_success": false
    }
  ],
  "coverage": 0.6,
  "elapsed_seconds": 0.07
}