[   0.0s] Scanning /home/tobi/Desktop/kesai/RAGSAK ...
[   3.8s] Preprocess: 1609 methods from 462 .kt files (3.7s)
[   3.8s] Groups: 120 named, 6 ungrouped methods
[   3.8s]   ├ agents (5 methods)
[   3.8s]   ├ agents/capability/ports/src/main/kotlin/eu/corentic/springrag/agent/capability (5 methods)
[   3.8s]   ├ agents/capability/support/src/main/kotlin/eu/corentic/springrag/agent/capability/support (5 methods)
[   3.8s]   ├ agents/capability/support/src/test/kotlin/eu/corentic/springrag/agent/capability/support (6 methods)
[   3.8s]   ├ agents/examples/simple-rag/src/main/kotlin/eu/corentic/springrag/example/rag/simple (9 methods)
[   3.8s]   ├ agents/examples/simple-rag/src/test/kotlin/eu/corentic/springrag/example/rag/simple (14 methods)
[   3.8s]   ├ agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel (58 methods)
[   3.8s]   ├ agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel/librechat (13 methods)
[   3.8s]   ├ agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/agent/rag/embabel (36 methods)
[   3.8s]   ├ agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods)
[   3.8s]   ├ agents/rag/ports/src/main/kotlin/eu/corentic/springrag/agent/rag (4 methods)
[   3.8s]   ├ agents/rag/ports/src/test/kotlin/eu/corentic/springrag/agent/rag (3 methods)
[   3.8s]   ├ agents/rag/ports/src/test/kotlin/eu/corentic/springrag/model (3 methods)
[   3.8s]   ├ agents/rag/support/src/main/kotlin/eu/corentic/springrag/agent/rag/support (13 methods)
[   3.8s]   ├ agents/rag/support/src/test/kotlin/eu/corentic/springrag/agent/rag/support (11 methods)
[   3.8s]   ├ agents/summarizer/embabel/src/main/kotlin/eu/corentic/springrag/agent/summarizer/embabel (13 methods)
[   3.8s]   ├ agents/summarizer/embabel/src/test/kotlin/eu/corentic/springrag/agent/summarizer/embabel (14 methods)
[   3.8s]   ├ agents/tooling/agent/src/main/kotlin/eu/corentic/springrag/agent/tooling/agent (4 methods)
[   3.8s]   ├ agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel (12 methods)
[   3.8s]   ├ agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel/recording (11 methods)
[   3.8s]   ├ agents/tooling/embabel/src/test/kotlin/eu/corentic/springrag/agent/tooling/embabel (6 methods)
[   3.8s]   ├ agents/wikipedia/adapters/src/main/kotlin/eu/corentic/springrag/agent/wikipedia (4 methods)
[   3.8s]   ├ agents/wikipedia/adapters/src/test/kotlin/eu/corentic/springrag/agent/wikipedia (8 methods)
[   3.8s]   ├ agents/wikipedia/static/src/main/kotlin/eu/corentic/springrag/agent/wikipedia (3 methods)
[   3.8s]   ├ agents/wikipedia/static/src/test/kotlin/eu/corentic/springrag/agent/wikipedia (3 methods)
[   3.8s]   ├ app/src (6 methods)
[   3.8s]   ├ app/src/e2eTest/kotlin/eu/corentic/springrag/e2e/cucumber/steps (17 methods)
[   3.8s]   ├ app/src/integrationTest/kotlin/eu/corentic/springrag/config (15 methods)
[   3.8s]   ├ app/src/integrationTest/kotlin/eu/corentic/springrag/controller (5 methods)
[   3.8s]   ├ app/src/integrationTest/kotlin/eu/corentic/springrag/service (3 methods)
[   3.8s]   ├ app/src/systemTest/kotlin/eu/corentic/springrag/config (14 methods)
[   3.8s]   ├ app/src/systemTest/kotlin/eu/corentic/springrag/system (46 methods)
[   3.8s]   ├ app/src/test/kotlin/eu/corentic/springrag/architecture (87 methods)
[   3.8s]   ├ app/src/test/kotlin/eu/corentic/springrag/config (3 methods)
[   3.8s]   ├ buildSrc/src/main/kotlin (8 methods)
[   3.8s]   ├ buildSrc/src/test/kotlin (5 methods)
[   3.8s]   ├ entrypoints/agent-mcp-server/src/main/kotlin/eu/corentic/springrag/mcp (3 methods)
[   3.8s]   ├ entrypoints/agent-mcp-server/src/test/kotlin/eu/corentic/springrag/mcp (3 methods)
[   3.8s]   ├ entrypoints/web/src/main/kotlin/eu/corentic/springrag/config (3 methods)
[   3.8s]   ├ entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller (58 methods)
[   3.8s]   ├ entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/librechat (29 methods)
[   3.8s]   ├ entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/web (6 methods)
[   3.8s]   ├ entrypoints/web/src/test/kotlin/eu/corentic/springrag/config (4 methods)
[   3.8s]   ├ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller (83 methods)
[   3.8s]   ├ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/auth (5 methods)
[   3.8s]   ├ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/librechat (46 methods)
[   3.8s]   ├ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/web (10 methods)
[   3.8s]   ├ infrastructure/adapters (3 methods)
[   3.8s]   ├ infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/config (4 methods)
[   3.8s]   ├ infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/health (3 methods)
[   3.8s]   ├ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/config (6 methods)
[   3.8s]   ├ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/health (4 methods)
[   3.8s]   ├ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/service/embedding (5 methods)
[   3.8s]   ├ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods)
[   3.8s]   ├ infrastructure/adapters/chat-memory/src/test/kotlin/eu/corentic/springrag/config (6 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src (6 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/config (3 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/service/docling (21 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src/systemTest/kotlin/eu/corentic/springrag/config (6 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/config (12 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/health (3 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/service/docling (10 methods)
[   3.8s]   ├ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/health (7 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/model/graph (9 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/repository (24 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/agent (3 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/cleanup (4 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/graph (12 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/port/adapter (45 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/storage (40 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/config (4 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/repository/graph (23 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/system (6 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/config (3 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/health (6 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/model/graph (7 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/repository (19 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/cleanup (4 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/graph (30 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/port/adapter (28 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/storage (3 methods)
[   3.8s]   ├ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods)
[   3.8s]   ├ modules/chat/src/integrationTest/kotlin/eu/corentic/springrag/service/chat (4 methods)
[   3.8s]   ├ modules/chat/src/main/kotlin/eu/corentic/springrag/service/chat (6 methods)
[   3.8s]   ├ modules/chat/src/systemTest/kotlin/eu/corentic/springrag/config (15 methods)
[   3.8s]   ├ modules/chat/src/systemTest/kotlin/eu/corentic/springrag/system (4 methods)
[   3.8s]   ├ modules/chat/src/test/kotlin/eu/corentic/springrag/service/chat (8 methods)
[   3.8s]   ├ modules/common/src/main/kotlin/eu/corentic/springrag/common (7 methods)
[   3.8s]   ├ modules/common/src/main/kotlin/eu/corentic/springrag/common/ids (18 methods)
[   3.8s]   ├ modules/common/src/test/kotlin/eu/corentic/springrag/common/ids (8 methods)
[   3.8s]   ├ modules/ingestion/src/integrationTest/kotlin/eu/corentic/springrag/service/job (34 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch (16 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/listener (16 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/model (4 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/partition (4 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/reader (4 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/writer (3 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/config (26 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/chunk (18 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/document (3 methods)
[   3.8s]   ├ modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/job (62 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch (17 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/listener (34 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/model (8 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/partition (7 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/processor (5 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/reader (12 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/writer (14 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/chunk (8 methods)
[   3.8s]   ├ modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/job (49 methods)
[   3.8s]   ├ modules/knowledgebase/ports/src/main/kotlin/eu/corentic/springrag/model (5 methods)
[   3.8s]   ├ modules/knowledgebase/src/main/kotlin/eu/corentic/springrag/service/knowledgebase (11 methods)
[   3.8s]   ├ modules/knowledgebase/src/test/kotlin/eu/corentic/springrag/service/knowledgebase (16 methods)
[   3.8s]   ├ modules/security/src/main/kotlin/eu/corentic/springrag/security/config (5 methods)
[   3.8s]   ├ modules/security/src/main/kotlin/eu/corentic/springrag/security/service (10 methods)
[   3.8s]   ├ modules/security/src/test/kotlin/eu/corentic/springrag/security/config (6 methods)
[   3.8s]   ├ modules/security/src/test/kotlin/eu/corentic/springrag/security/service (15 methods)
[   3.8s]   ├ platform/test-support/src/main/kotlin/eu/corentic/springrag/testcontainers (13 methods)
[   3.8s]   ├ platform/test-support/src/test/kotlin/eu/corentic/springrag/testcontainers (5 methods)
[   3.8s]   └ (other) (6 methods)
[   3.8s] Inferring 120 groups across 12 workers ...
[   4.1s] Infer agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) done
[   4.1s] Infer agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel/librechat (13 methods) done
[   4.2s] Infer agents/rag/ports/src/test/kotlin/eu/corentic/springrag/agent/rag (3 methods) done
[   4.2s] Infer agents/capability/support/src/main/kotlin/eu/corentic/springrag/agent/capability/support (5 methods) done
[   4.2s] Infer agents/capability/support/src/test/kotlin/eu/corentic/springrag/agent/capability/support (6 methods) done
[   4.2s] Infer agents/examples/simple-rag/src/main/kotlin/eu/corentic/springrag/example/rag/simple (9 methods) done
[   4.2s] Infer agents/capability/ports/src/main/kotlin/eu/corentic/springrag/agent/capability (5 methods) done
[   4.2s] Infer agents/rag/ports/src/test/kotlin/eu/corentic/springrag/model (3 methods) done
[   4.2s] Infer agents (5 methods) done
[   4.3s] Infer agents/rag/ports/src/main/kotlin/eu/corentic/springrag/agent/rag (4 methods) done
[   4.3s] Infer agents/tooling/agent/src/main/kotlin/eu/corentic/springrag/agent/tooling/agent (4 methods) done
[   4.4s] Infer agents/examples/simple-rag/src/test/kotlin/eu/corentic/springrag/example/rag/simple (14 methods) done
[   4.4s] Infer agents/rag/support/src/main/kotlin/eu/corentic/springrag/agent/rag/support (13 methods) done
[   4.4s] Infer agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel/recording (11 methods) done
[   4.4s] Infer agents/wikipedia/adapters/src/main/kotlin/eu/corentic/springrag/agent/wikipedia (4 methods) done
[   4.4s] Infer agents/tooling/embabel/src/test/kotlin/eu/corentic/springrag/agent/tooling/embabel (6 methods) done
[   4.5s] Infer agents/summarizer/embabel/src/main/kotlin/eu/corentic/springrag/agent/summarizer/embabel (13 methods) done
[   4.5s] Infer agents/wikipedia/adapters/src/test/kotlin/eu/corentic/springrag/agent/wikipedia (8 methods) done
[   4.5s] Infer agents/wikipedia/static/src/test/kotlin/eu/corentic/springrag/agent/wikipedia (3 methods) done
[   4.5s] Infer agents/rag/support/src/test/kotlin/eu/corentic/springrag/agent/rag/support (11 methods) done
[   4.5s] Infer agents/wikipedia/static/src/main/kotlin/eu/corentic/springrag/agent/wikipedia (3 methods) done
[   4.5s] Infer app/src/integrationTest/kotlin/eu/corentic/springrag/service (3 methods) done
[   4.6s] Infer app/src/test/kotlin/eu/corentic/springrag/config (3 methods) done
[   4.6s] Infer app/src/integrationTest/kotlin/eu/corentic/springrag/controller (5 methods) done
[   4.6s] Infer agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel (12 methods) done
[   4.7s] Infer app/src/integrationTest/kotlin/eu/corentic/springrag/config (15 methods) done
[   4.7s] Infer buildSrc/src/test/kotlin (5 methods) done
[   4.7s] Infer buildSrc/src/main/kotlin (8 methods) done
[   4.7s] Infer agents/summarizer/embabel/src/test/kotlin/eu/corentic/springrag/agent/summarizer/embabel (14 methods) done
[   4.7s] Infer app/src/systemTest/kotlin/eu/corentic/springrag/config (14 methods) done
[   4.8s] Infer app/src (6 methods) done
[   4.8s] Infer app/src/test/kotlin/eu/corentic/springrag/architecture [readString] (75 methods) done
[   4.8s] Infer entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/librechat (29 methods) done
[   4.9s] Infer entrypoints/web/src/main/kotlin/eu/corentic/springrag/config (3 methods) done
[   4.9s] Infer entrypoints/agent-mcp-server/src/main/kotlin/eu/corentic/springrag/mcp (3 methods) done
[   4.9s] Infer agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/agent/rag/embabel [every] (25 methods) done
[   4.9s] Infer entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/web (6 methods) done
[   4.9s] Infer entrypoints/agent-mcp-server/src/test/kotlin/eu/corentic/springrag/mcp (3 methods) done
[   4.9s] Infer entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/auth (5 methods) done
[   5.0s] Infer entrypoints/web/src/test/kotlin/eu/corentic/springrag/config (4 methods) done
[   5.1s] Infer infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/health (3 methods) done
[   5.1s] Infer entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/web (10 methods) done
[   5.1s] Infer infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/health (4 methods) done
[   5.1s] Infer agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel [decision] (31 methods) done
[   5.1s] Infer infrastructure/adapters (3 methods) done
[   5.1s] Infer infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/config (6 methods) done
[   5.1s] Infer infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/config (4 methods) done
[   5.1s] Infer infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/service/embedding (5 methods) done
[   5.2s] Infer infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) done
[   5.2s] Infer app/src/e2eTest/kotlin/eu/corentic/springrag/e2e/cucumber/steps [lastChatResponse] (7 methods) done
[   5.2s] Infer infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/health (3 methods) done
[   5.2s] Infer infrastructure/adapters/chat-memory/src/test/kotlin/eu/corentic/springrag/config (6 methods) done
[   5.3s] Infer infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/config (3 methods) done
[   5.3s] Infer infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) done
[   5.3s] Infer infrastructure/adapters/doc-parser/src/systemTest/kotlin/eu/corentic/springrag/config (6 methods) done
[   5.3s] Infer entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller [ok] (32 methods) done
[   5.3s] Infer infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/service/docling (21 methods) done
[   5.4s] Infer infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/service/docling (10 methods) done
[   5.4s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/agent (3 methods) done
[   5.4s] Infer entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/librechat [VectorChunk] (39 methods) done
[   5.4s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/health (7 methods) done
[   5.4s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/repository [deleteByFilter] (13 methods) done
[   5.4s] Infer infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/config (4 methods) done
[   5.5s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/graph (12 methods) done
[   5.5s] Infer infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/system (6 methods) done
[   5.5s] Infer infrastructure/adapters/doc-parser/src (6 methods) done
[   5.5s] Infer infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/config (12 methods) done
[   5.6s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/cleanup (4 methods) done
[   5.6s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/config (3 methods) done
[   5.7s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/repository (19 methods) done
[   5.7s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/model/graph (9 methods) done
[   5.7s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/storage [when] (34 methods) done
[   5.7s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/health (6 methods) done
[   5.8s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) done
[   5.8s] Infer infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/repository/graph (23 methods) done
[   5.8s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/storage (3 methods) done
[   5.8s] Infer app/src/systemTest/kotlin/eu/corentic/springrag/system [session] (33 methods) done
[   5.8s] Infer modules/chat/src/main/kotlin/eu/corentic/springrag/service/chat (6 methods) done
[   5.8s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/cleanup (4 methods) done
[   5.8s] Infer modules/chat/src/systemTest/kotlin/eu/corentic/springrag/system (4 methods) done
[   5.8s] Infer modules/chat/src/integrationTest/kotlin/eu/corentic/springrag/service/chat (4 methods) done
[   5.9s] Infer modules/common/src/main/kotlin/eu/corentic/springrag/common (7 methods) done
[   5.9s] Infer modules/common/src/main/kotlin/eu/corentic/springrag/common/ids [of] (10 methods) done
[   5.9s] Infer modules/common/src/test/kotlin/eu/corentic/springrag/common/ids (8 methods) done
[   5.9s] Infer entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller [post] (79 methods) done
[   6.0s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/reader (4 methods) done
[   6.0s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/partition (4 methods) done
[   6.0s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/model/graph (7 methods) done
[   6.0s] Infer modules/chat/src/test/kotlin/eu/corentic/springrag/service/chat (8 methods) done
[   6.0s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch (16 methods) done
[   6.1s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/model (4 methods) done
[   6.1s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/document (3 methods) done
[   6.2s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/listener (16 methods) done
[   6.2s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/writer (3 methods) done
[   6.2s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/config (26 methods) done
[   6.2s] Infer infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/port/adapter [value] (35 methods) done
[   6.2s] Infer modules/chat/src/systemTest/kotlin/eu/corentic/springrag/config (15 methods) done
[   6.3s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/partition (7 methods) done
[   6.3s] Infer modules/ingestion/src/integrationTest/kotlin/eu/corentic/springrag/service/job (34 methods) done
[   6.3s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/model (8 methods) done
[   6.3s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/processor (5 methods) done
[   6.3s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/port/adapter (28 methods) done
[   6.3s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/reader (12 methods) done
[   6.4s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/chunk (18 methods) done
[   6.4s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/chunk (8 methods) done
[   6.4s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch (17 methods) done
[   6.4s] Infer modules/knowledgebase/ports/src/main/kotlin/eu/corentic/springrag/model (5 methods) done
[   6.5s] Infer modules/knowledgebase/src/main/kotlin/eu/corentic/springrag/service/knowledgebase (11 methods) done
[   6.6s] Infer modules/knowledgebase/src/test/kotlin/eu/corentic/springrag/service/knowledgebase (16 methods) done
[   6.6s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/writer (14 methods) done
[   6.6s] Infer modules/security/src/main/kotlin/eu/corentic/springrag/security/config (5 methods) done
[   6.6s] Infer platform/test-support/src/test/kotlin/eu/corentic/springrag/testcontainers (5 methods) done
[   6.6s] Infer modules/security/src/test/kotlin/eu/corentic/springrag/security/config (6 methods) done
[   6.7s] Infer modules/security/src/main/kotlin/eu/corentic/springrag/security/service (10 methods) done
[   6.7s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/listener (34 methods) done
[   6.7s] Infer platform/test-support/src/main/kotlin/eu/corentic/springrag/testcontainers (13 methods) done
[   6.7s] Infer modules/security/src/test/kotlin/eu/corentic/springrag/security/service [JwtService] (14 methods) done
[   7.1s] Infer modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/job (62 methods) done
[   7.1s] Infer modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/job (49 methods) done
[   7.2s] Infer infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/graph [GraphDocument] (26 methods) done
[   7.5s] Preprocess: 89 methods from 17 .js files (0.3s)
[   7.5s] Groups: 3 named, 1 ungrouped methods
[   7.5s]   ├ compose/patches (17 methods)
[   7.5s]   ├ testing/steps (68 methods)
[   7.5s]   ├ testing/support (3 methods)
[   7.5s]   └ (other) (1 methods)
[   7.5s] Inferring 3 groups across 12 workers ...
[   7.7s] Infer compose/patches (17 methods) done
[   7.7s] Infer testing/support (3 methods) done
[   8.0s] Infer testing/steps [form] (58 methods) done
[   8.2s] Preprocess: 44 methods from 1 .go files (0.1s)
[   8.2s] Groups: 1 named, 0 ungrouped methods
[   8.2s]   ├ tools/setup-ui (44 methods)
[   8.2s] Inferring 1 groups across 12 workers ...
[   8.4s] Infer tools/setup-ui (44 methods) done

.kt:
  ╰─ agents (5 methods)
     Algorithm: CRX
     Grammar:   slot?.(defaultCapabilityId+summarize)?.ToolInvocationRequest?.ToolingRequest?.ToolInvocationResult?.(String+answer+any+assertEquals+capture+captured+every+generateText+invoke+invokeTools+promptRunner+toolProfile+verify)+?.prompt?.contains+?
     Score:     2159255043518509386673114040287
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityHandler  |  import eu.corentic.springrag.agent.capability.AgentCapabilityInvocationGateway  |  import com.embabel.agent.api.common.ActionContext  |  import com.embabel.agent.api.common.PromptRunner  |  import eu.corentic.springrag.agent.tooling.embabel.DEFAULT_TOOL_PROFILE  |  import eu.corentic.springrag.agent.tooling.embabel.ToolInvocationAction
               ... and 8 more
  ╰─ agents/capability/ports/src/main/kotlin/eu/corentic/springrag/agent/capability (5 methods) — no grammar — malformed_grammar
  ╰─ agents/capability/support/src/main/kotlin/eu/corentic/springrag/agent/capability/support (5 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDirectory  |  import eu.corentic.springrag.agent.capability.AgentCapabilityRegistry  |  import kotlinx.coroutines.CoroutineDispatcher  |  import kotlinx.coroutines.asCoroutineDispatcher  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Configuration
               ... and 6 more
  ╰─ agents/capability/support/src/test/kotlin/eu/corentic/springrag/agent/capability/support (6 methods)
     Algorithm: CRX
     Grammar:   runTest?.TestRequest?.(AgentCapabilityDescriptor+DefaultAgentCapabilityDirectory+IllegalStateException+assertEquals+assertFailsWith+authorize+capabilityDescriptors+coEvery+coVerify+defaultCapabilityId+every+id+invoke+listOf+message+resolve+verify)+.(any+listCapabilities)+?
     Score:     14665763077724763021609435259560
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.AgentCapabilityRegistry  |  import io.mockk.every  |  import io.mockk.mockk  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Test
               ... and 10 more
  ╰─ agents/examples/simple-rag/src/main/kotlin/eu/corentic/springrag/example/rag/simple (9 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.model.VectorChunk  |  import org.slf4j.LoggerFactory  |  import org.springframework.ai.chat.client.ChatClient  |  import tools.jackson.databind.ObjectMapper  |  import eu.corentic.springrag.agent.rag.RagAgent  |  import eu.corentic.springrag.agent.rag.RagRequest
               ... and 8 more
  ╰─ agents/examples/simple-rag/src/test/kotlin/eu/corentic/springrag/example/rag/simple (14 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.model.VectorChunk  |  import io.mockk.every  |  import io.mockk.mockk  |  import io.mockk.slot  |  import kotlinx.coroutines.test.runTest  |  import org.junit.jupiter.api.Assertions.assertEquals
               ... and 19 more
  ╰─ agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel [decision] (31 methods)
     Algorithm: CRX
     Grammar:   decision.refinedQuery?.(allowAsk+allowRetrieve+asksSoFar+confidence+decisionState+enoughEvidence+equals+evidence+if+maxRetrievalRounds+nextAction+retrievalRounds+return false+return true)+?.trimIndent+?.canAffordRetrieve?.runWithCircuitBreaker?.promptClient?.(chatOptions+conversationId+options+prompt+request+system+user+withConversationId+withObservationContext+withWorkflowStep)+?.(call+content+message+removePrefix+removeSuffix+trim+warn)+?.ifBlank+?
     Score:     4160109341733930681094113224761515700961801448
     Imports:  import com.fasterxml.jackson.databind.ObjectMapper  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Configuration  |  import com.embabel.agent.api.invocation.AgentInvocation  |  import com.embabel.agent.core.AgentPlatform  |  import com.embabel.agent.core.resultOfType
               ... and 43 more
  ╰─ agents/rag/embabel/src/main/kotlin/eu/corentic/springrag/agent/rag/embabel/librechat (13 methods) — no grammar — too_diverse
     Imports:  import com.embabel.agent.api.annotation.AchievesGoal  |  import com.embabel.agent.api.annotation.Action  |  import com.embabel.agent.api.annotation.Agent  |  import com.embabel.agent.api.annotation.Condition  |  import com.embabel.agent.api.common.ActionContext  |  import eu.corentic.springrag.agent.rag.RagRequest
               ... and 28 more
  ╰─ agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/agent/rag/embabel [every] (25 methods)
     Algorithm: CRX
     Grammar:   every.listKnowledgeBases+.emptyList+?.(RagRequest+assertEquals+assertNull+checkKnowledgeBase+hasDefaultKb+knowledgeBaseId+of+request)+.availableKnowledgeBases?.size?
     Score:     117830800864
     Imports:  import com.embabel.agent.api.invocation.AgentInvocation  |  import com.embabel.agent.core.Agent  |  import com.embabel.agent.core.AgentPlatform  |  import com.embabel.agent.core.AgentProcess  |  import com.embabel.agent.core.ProcessOptions  |  import eu.corentic.springrag.agent.capability.AgentExecutionContext
               ... and 45 more
  ╰─ agents/rag/embabel/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) — no grammar — too_diverse
     Imports:  import java.util.function.Function  |  import java.util.function.Supplier  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreaker  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory  |  import org.springframework.cloud.client.circuitbreaker.ConfigBuilder
  ╰─ agents/rag/ports/src/main/kotlin/eu/corentic/springrag/agent/rag (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapability  |  import eu.corentic.springrag.agent.capability.AgentCapabilityHandler  |  import eu.corentic.springrag.agent.capability.AgentExecutionContext  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.model.ChatResponse  |  import eu.corentic.springrag.agent.capability.AgentCapabilityInvocationGateway
  ╰─ agents/rag/ports/src/test/kotlin/eu/corentic/springrag/agent/rag (3 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentExecutionContext  |  import eu.corentic.springrag.common.ids.asKnowledgeBaseId  |  import eu.corentic.springrag.model.ChatResponse  |  import kotlinx.coroutines.test.runTest  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Test
  ╰─ agents/rag/ports/src/test/kotlin/eu/corentic/springrag/model (3 methods) — no grammar — too_diverse
     Imports:  import org.junit.jupiter.api.Assertions.assertTrue  |  import org.junit.jupiter.api.Test
  ╰─ agents/rag/support/src/main/kotlin/eu/corentic/springrag/agent/rag/support (13 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.toDescriptor  |  import eu.corentic.springrag.agent.rag.RagAgent  |  import eu.corentic.springrag.agent.rag.RagAgentRegistry  |  import org.springframework.stereotype.Component  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId
               ... and 5 more
  ╰─ agents/rag/support/src/test/kotlin/eu/corentic/springrag/agent/rag/support (11 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentExecutionContext  |  import eu.corentic.springrag.agent.rag.RagAgent  |  import eu.corentic.springrag.agent.rag.RagAgentInvocationAuthorizer  |  import eu.corentic.springrag.agent.rag.RagInvocation  |  import eu.corentic.springrag.agent.rag.RagAgentRegistry  |  import eu.corentic.springrag.agent.rag.RagRequest
               ... and 23 more
  ╰─ agents/summarizer/embabel/src/main/kotlin/eu/corentic/springrag/agent/summarizer/embabel (13 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.toDescriptor  |  import eu.corentic.springrag.agent.summarizer.SummarizerAgent  |  import eu.corentic.springrag.agent.summarizer.SummarizerAgentRegistry  |  import org.springframework.stereotype.Component  |  import com.embabel.agent.api.invocation.AgentInvocation
               ... and 23 more
  ╰─ agents/summarizer/embabel/src/test/kotlin/eu/corentic/springrag/agent/summarizer/embabel (14 methods) — no grammar — too_diverse
     Imports:  import com.embabel.agent.api.invocation.AgentInvocation  |  import com.embabel.agent.core.AgentPlatform  |  import com.embabel.agent.core.ProcessOptions  |  import eu.corentic.springrag.agent.capability.AgentExecutionContext  |  import eu.corentic.springrag.agent.summarizer.SummarizeRequest  |  import eu.corentic.springrag.agent.summarizer.SummaryResponse
               ... and 23 more
  ╰─ agents/tooling/agent/src/main/kotlin/eu/corentic/springrag/agent/tooling/agent (4 methods) — no grammar — too_diverse
     Imports:  import com.embabel.agent.api.annotation.AchievesGoal  |  import com.embabel.agent.api.annotation.Action  |  import com.embabel.agent.api.annotation.Agent  |  import com.embabel.agent.api.common.ActionContext  |  import com.embabel.agent.domain.io.UserInput  |  import com.embabel.common.ai.model.LlmOptions
               ... and 4 more
  ╰─ agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel (12 methods) — no grammar — too_diverse
     Imports:  import com.fasterxml.jackson.databind.ObjectMapper  |  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Configuration  |  import com.embabel.agent.api.tool.ToolObject  |  import com.embabel.agent.api.annotation.Action
               ... and 17 more
  ╰─ agents/tooling/embabel/src/main/kotlin/eu/corentic/springrag/agent/tooling/embabel/recording (11 methods) — no grammar — too_diverse
     Imports:  import com.embabel.agent.api.event.AgentProcessEvent  |  import com.embabel.agent.api.event.AgenticEventListener  |  import com.embabel.agent.api.event.ToolCallResponseEvent  |  import com.fasterxml.jackson.core.JsonProcessingException  |  import com.fasterxml.jackson.databind.ObjectMapper  |  import org.slf4j.LoggerFactory
               ... and 7 more
  ╰─ agents/tooling/embabel/src/test/kotlin/eu/corentic/springrag/agent/tooling/embabel (6 methods) — no grammar — too_diverse
     Imports:  import com.embabel.agent.api.tool.ToolObject  |  import kotlin.test.assertFalse  |  import kotlin.test.assertTrue  |  import kotlin.test.assertEquals  |  import org.junit.jupiter.api.Test  |  import com.embabel.agent.api.common.ActionContext
               ... and 9 more
  ╰─ agents/wikipedia/adapters/src/main/kotlin/eu/corentic/springrag/agent/wikipedia (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.toDescriptor  |  import org.springframework.stereotype.Component  |  import io.github.oshai.kotlinlogging.KotlinLogging
  ╰─ agents/wikipedia/adapters/src/test/kotlin/eu/corentic/springrag/agent/wikipedia (8 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.DescribedAgentCapability  |  import eu.corentic.springrag.agent.capability.TransportExposedAgentCapability  |  import io.mockk.every  |  import io.mockk.mockk  |  import org.junit.jupiter.api.Assertions.assertEquals
               ... and 7 more
  ╰─ agents/wikipedia/static/src/main/kotlin/eu/corentic/springrag/agent/wikipedia (3 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.DescribedAgentCapability  |  import eu.corentic.springrag.agent.capability.TransportExposedAgentCapability  |  import org.springframework.stereotype.Component
  ╰─ agents/wikipedia/static/src/test/kotlin/eu/corentic/springrag/agent/wikipedia (3 methods) — no grammar — too_diverse
     Imports:  import kotlinx.coroutines.test.runTest  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Assertions.assertFalse  |  import org.junit.jupiter.api.Assertions.assertTrue  |  import org.junit.jupiter.api.Test
  ╰─ app/src (6 methods) — no grammar — too_diverse
     Imports:  import io.cucumber.spring.CucumberContextConfiguration  |  import org.springframework.boot.test.context.SpringBootTest  |  import org.springframework.boot.test.context.TestConfiguration  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Import  |  import org.springframework.test.context.ActiveProfiles
               ... and 17 more
  ╰─ app/src/e2eTest/kotlin/eu/corentic/springrag/e2e/cucumber/steps [lastChatResponse] (7 methods)
     Algorithm: CRX
     Grammar:   lastChatResponse.chat
     Score:     3
     Imports:  import eu.corentic.springrag.e2e.cucumber.config.ScenarioContext  |  import io.cucumber.java.en.Given  |  import org.springframework.beans.factory.annotation.Autowired  |  import org.springframework.http.MediaType  |  import org.springframework.test.web.reactive.server.WebTestClient  |  import java.util.UUID
               ... and 10 more
  ╰─ app/src/integrationTest/kotlin/eu/corentic/springrag/config (15 methods)
     Algorithm: CRX
     Grammar:   (ChatModel+Driver+QdrantClient+Session+String+also+any+close+every+mockk+run+session)+?.return JobRepositoryTestUtils(jobRepository)?.defaultOptions?.JobRepositoryTestUtils?.builder+?.build+?
     Score:     331542124232736341083473489508996
     Imports:  import org.springframework.batch.core.repository.JobRepository  |  import org.springframework.batch.test.JobRepositoryTestUtils  |  import org.springframework.boot.test.context.TestConfiguration  |  import org.springframework.context.annotation.Bean  |  import ai.docling.serve.api.DoclingServeApi  |  import eu.corentic.springrag.agent.rag.embabel.EmbabelRagResponseInvoker
               ... and 13 more
  ╰─ app/src/integrationTest/kotlin/eu/corentic/springrag/controller (5 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.IntegrationTestConfig  |  import eu.corentic.springrag.security.model.Role  |  import eu.corentic.springrag.security.model.User  |  import eu.corentic.springrag.security.service.JwtService  |  import org.junit.jupiter.api.Test  |  import org.junit.jupiter.api.BeforeEach
               ... and 20 more
  ╰─ app/src/integrationTest/kotlin/eu/corentic/springrag/service (3 methods) — no grammar — too_diverse
     Imports:  import com.ninjasquad.springmockk.MockkBean  |  import eu.corentic.springrag.config.IntegrationTestConfig  |  import eu.corentic.springrag.model.event.DocumentDeletionRequested  |  import eu.corentic.springrag.model.event.KnowledgeBaseDeletionRequested  |  import eu.corentic.springrag.service.knowledgebase.KnowledgeBaseApplicationService  |  import eu.corentic.springrag.service.port.KnowledgeBaseDocumentPort
               ... and 11 more
  ╰─ app/src/systemTest/kotlin/eu/corentic/springrag/config (14 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.testcontainers.OllamaModelSupport  |  import eu.corentic.springrag.testcontainers.QdrantTestSupport  |  import eu.corentic.springrag.testcontainers.QdrantTestSupport.recreateTestCollection  |  import eu.corentic.springrag.testcontainers.SharedContainers  |  import eu.corentic.springrag.testcontainers.SharedContainers.ContainerType  |  import io.qdrant.client.QdrantClient
               ... and 25 more
  ╰─ app/src/systemTest/kotlin/eu/corentic/springrag/system [session] (33 methods)
     Algorithm: CRX
     Grammar:   session+.use+.run+.parameters+.single+.get+.asLong+
     Score:     6864
     Imports:  import eu.corentic.springrag.config.BaseSystemTest  |  import eu.corentic.springrag.controller.SessionChatRequest  |  import eu.corentic.springrag.model.ChatResponse  |  import java.time.Duration  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Assertions.assertNotNull
               ... and 49 more
  ╰─ app/src/test/kotlin/eu/corentic/springrag/architecture [readString] (75 methods)
     Algorithm: CRX
     Grammar:   readString+.resolve+?.filter+?.assertTrue?.contains+
     Score:     160
     Imports:  import java.nio.file.Files  |  import java.nio.file.Path  |  import kotlin.io.path.exists  |  import org.junit.jupiter.api.Assertions.assertTrue  |  import org.junit.jupiter.api.Test  |  import org.junit.jupiter.api.fail
               ... and 9 more
  ╰─ app/src/test/kotlin/eu/corentic/springrag/config (3 methods) — no grammar — too_diverse
     Imports:  import kotlin.test.assertEquals  |  import kotlin.test.assertFalse  |  import kotlin.test.assertTrue  |  import org.junit.jupiter.api.Test  |  import org.springframework.beans.factory.config.YamlPropertiesFactoryBean  |  import org.springframework.core.io.ClassPathResource
  ╰─ buildSrc/src/main/kotlin (8 methods) — no grammar — too_diverse
     Imports:  import org.gradle.api.Project  |  import org.gradle.api.artifacts.VersionCatalogsExtension  |  import org.gradle.api.file.SourceDirectorySet  |  import org.gradle.api.plugins.JavaPluginExtension  |  import org.gradle.api.tasks.SourceSet  |  import org.gradle.api.tasks.SourceSetContainer
               ... and 8 more
  ╰─ buildSrc/src/test/kotlin (5 methods) — no grammar — too_diverse
     Imports:  import java.net.URI  |  import kotlin.test.assertEquals  |  import kotlin.test.assertFalse  |  import kotlin.test.assertNotNull  |  import kotlin.test.assertTrue  |  import org.gradle.api.artifacts.repositories.MavenArtifactRepository
               ... and 3 more
  ╰─ entrypoints/agent-mcp-server/src/main/kotlin/eu/corentic/springrag/mcp (3 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.AgentCapabilityDirectory  |  import eu.corentic.springrag.agent.capability.isExposedOverMcp  |  import io.modelcontextprotocol.spec.McpSchema.CallToolResult  |  import kotlinx.coroutines.reactor.mono  |  import org.springaicommunity.mcp.annotation.McpTool
               ... and 11 more
  ╰─ entrypoints/agent-mcp-server/src/test/kotlin/eu/corentic/springrag/mcp (3 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.AgentCapabilityDirectory  |  import io.mockk.every  |  import io.mockk.mockk  |  import io.modelcontextprotocol.spec.McpSchema.TextContent  |  import org.junit.jupiter.api.Assertions.assertEquals
               ... and 8 more
  ╰─ entrypoints/web/src/main/kotlin/eu/corentic/springrag/config (3 methods) — no grammar — too_diverse
     Imports:  import org.springframework.beans.factory.annotation.Value  |  import org.springframework.context.annotation.Configuration  |  import org.springframework.web.reactive.config.CorsRegistry  |  import org.springframework.web.reactive.config.WebFluxConfigurer  |  import org.slf4j.MDC  |  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
               ... and 8 more
  ╰─ entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller [ok] (32 methods)
     Algorithm: CRX
     Grammar:   ok+
     Score:     3
     Imports:  import eu.corentic.springrag.common.ids.BatchId  |  import eu.corentic.springrag.config.StorageProperties  |  import eu.corentic.springrag.service.job.BatchOwnershipService  |  import eu.corentic.springrag.service.job.JobService  |  import eu.corentic.springrag.service.job.JobStatus  |  import eu.corentic.springrag.service.knowledgebase.KnowledgeBaseApplicationService
               ... and 66 more
  ╰─ entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/librechat (29 methods) — no grammar — too_diverse
     Imports:  import com.fasterxml.jackson.annotation.JsonProperty  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.Filename  |  import eu.corentic.springrag.common.ids.asStorageUri  |  import eu.corentic.springrag.model.GraphTableElement  |  import eu.corentic.springrag.model.GraphTextElement
               ... and 37 more
  ╰─ entrypoints/web/src/main/kotlin/eu/corentic/springrag/controller/web (6 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.controller.UploadWorkflow  |  import eu.corentic.springrag.controller.InvalidUploadRequestException  |  import eu.corentic.springrag.service.knowledgebase.KnowledgeBaseNotFoundException  |  import java.security.Principal  |  import kotlinx.coroutines.reactor.awaitSingle  |  import org.springframework.http.MediaType
               ... and 9 more
  ╰─ entrypoints/web/src/test/kotlin/eu/corentic/springrag/config (4 methods)
     Algorithm: CRX
     Grammar:   from+?.webTestClient?.bindToWebHandler+?.post+?.WebHandler?.(OK+response+setStatusCode)+?.setComplete+?.webFilter+?.build+?.(AtomicReference+String)+?.WebFilterChain?.(assertEquals+assertNull+block+empty+filter+get+set)+?.uri+?.exchange+?.expectStatus+?.isOk?
     Score:     15222239109183187891534987920226100
     Imports:  import java.util.concurrent.atomic.AtomicReference  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Assertions.assertNull  |  import org.junit.jupiter.api.Test  |  import org.slf4j.MDC  |  import org.springframework.mock.http.server.reactive.MockServerHttpRequest
               ... and 6 more
  ╰─ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller [post] (79 methods)
     Algorithm: CRX
     Grammar:   post+.uri+.exchange+.expectStatus+.isBadRequest.expectBody+?.jsonPath+?.isEqualTo+?
     Score:     16226
     Imports:  import eu.corentic.springrag.common.ids.BatchId  |  import eu.corentic.springrag.config.StorageProperties  |  import eu.corentic.springrag.service.job.BatchOwnershipService  |  import eu.corentic.springrag.service.job.JobService  |  import eu.corentic.springrag.service.job.BatchOwnershipException  |  import eu.corentic.springrag.service.job.JobStatus
               ... and 62 more
  ╰─ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/auth (5 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.security.model.Role  |  import eu.corentic.springrag.security.model.User  |  import eu.corentic.springrag.security.service.JwtService  |  import eu.corentic.springrag.security.service.UserAlreadyExistsException  |  import eu.corentic.springrag.security.service.UserService  |  import io.mockk.MockKAnnotations
               ... and 10 more
  ╰─ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/librechat [VectorChunk] (39 methods)
     Algorithm: CRX
     Grammar:   VectorChunk.(APPLICATION_JSON+LibreChatRetrievalResult+any+bodyValue+contentType+every+invoke+listOf+mapOf+post+uri)+.exchange+.expectStatus+.isOk.expectBody+.(isEqualTo+jsonPath)+.doesNotExist+?.value+?.assertTrue?
     Score:     67103391634472308446159626799174328123403222447753587296
     Imports:  import eu.corentic.springrag.agent.rag.librechat.LibreChatRetrievalInvoker  |  import eu.corentic.springrag.agent.rag.librechat.LibreChatRetrievalRequest  |  import eu.corentic.springrag.agent.rag.librechat.LibreChatRetrievalResult  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.asStorageUri  |  import eu.corentic.springrag.controller.GlobalExceptionHandler
               ... and 45 more
  ╰─ entrypoints/web/src/test/kotlin/eu/corentic/springrag/controller/web (10 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.StorageProperties  |  import eu.corentic.springrag.controller.UploadWorkflow  |  import eu.corentic.springrag.service.job.BatchOwnershipService  |  import eu.corentic.springrag.service.job.JobService  |  import eu.corentic.springrag.service.job.StagedUploadCleanupService  |  import eu.corentic.springrag.service.knowledgebase.KnowledgeBaseApplicationService
               ... and 20 more
  ╰─ infrastructure/adapters (3 methods) — no grammar — too_diverse
     Imports:  import org.springframework.ai.chat.memory.ChatMemory  |  import org.springframework.ai.chat.memory.ChatMemoryRepository  |  import org.springframework.ai.chat.memory.MessageWindowChatMemory  |  import org.springframework.beans.factory.annotation.Value  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Configuration
               ... and 7 more
  ╰─ infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/config (4 methods) — no grammar — too_diverse
     Imports:  import io.netty.channel.ChannelOption  |  import io.netty.handler.timeout.ReadTimeoutHandler  |  import io.netty.handler.timeout.WriteTimeoutHandler  |  import java.util.concurrent.TimeUnit  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Configuration
               ... and 20 more
  ╰─ infrastructure/adapters/ai-provider/src/main/kotlin/eu/corentic/springrag/health (3 methods) — no grammar — too_diverse
     Imports:  import org.springframework.ai.ollama.api.OllamaApi  |  import org.springframework.beans.factory.annotation.Value  |  import org.springframework.boot.health.contributor.Health  |  import org.springframework.boot.health.contributor.ReactiveHealthIndicator  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory  |  import org.springframework.context.annotation.Profile
               ... and 4 more
  ╰─ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/config (6 methods)
     Algorithm: CRX
     Grammar:   assertThrows?.IllegalArgumentException?.java?.EmbabelAiHttpClientProperties?.OllamaClientProperties?.Timeout+?.(assertEquals+baseUrl+ofSeconds+readTimeout+writeTimeout)+.connectTimeout?.timeout?.read?
     Score:     6565449090
     Imports:  import java.time.Duration  |  import kotlin.test.assertEquals  |  import org.junit.jupiter.api.Assertions.assertThrows  |  import org.junit.jupiter.api.Test
  ╰─ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/health (4 methods)
     Algorithm: CRX
     Grammar:   `when`.listModels+.thenReturn+?.thenThrow+?.ListModelResponse+?.RuntimeException?.listOf+?.(Model+now)+?.requireNotNull+.OllamaHealthIndicator.NoOpCircuitBreakerFactory.health+.block+.assertEquals.status.code
     Score:     203766032
     Imports:  import java.time.Instant  |  import eu.corentic.springrag.testsupport.NoOpCircuitBreakerFactory  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Test  |  import org.mockito.Mockito.mock  |  import org.mockito.Mockito.`when`
               ... and 1 more
  ╰─ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/service/embedding (5 methods) — no grammar — too_diverse
     Imports:  import com.fasterxml.jackson.databind.ObjectMapper  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Assertions.assertNotNull  |  import org.junit.jupiter.api.Test  |  import org.springframework.ai.bedrock.cohere.BedrockCohereEmbeddingModel  |  import org.springframework.ai.bedrock.cohere.BedrockCohereEmbeddingOptions
               ... and 7 more
  ╰─ infrastructure/adapters/ai-provider/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) — no grammar — too_diverse
     Imports:  import java.util.function.Function  |  import java.util.function.Supplier  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreaker  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory  |  import org.springframework.cloud.client.circuitbreaker.ConfigBuilder
  ╰─ infrastructure/adapters/chat-memory/src/test/kotlin/eu/corentic/springrag/config (6 methods) — no grammar — too_diverse
     Imports:  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Test  |  import org.springframework.ai.chat.memory.InMemoryChatMemoryRepository  |  import org.springframework.ai.chat.messages.Message  |  import org.springframework.ai.chat.messages.MessageType
  ╰─ infrastructure/adapters/doc-parser/src (6 methods) — no grammar — too_diverse
     Imports:  import ai.docling.serve.api.DoclingServeApi  |  import org.springframework.boot.health.contributor.Health  |  import org.springframework.boot.health.contributor.ReactiveHealthIndicator  |  import org.springframework.stereotype.Component  |  import reactor.core.publisher.Mono  |  import reactor.core.scheduler.Schedulers
               ... and 23 more
  ╰─ infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/config (3 methods) — no grammar — too_diverse
     Imports:  import ai.docling.serve.api.DoclingServeApi  |  import ai.docling.serve.client.DoclingServeJackson3Client  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Configuration  |  import java.lang.reflect.Method  |  import java.net.URI
               ... and 7 more
  ╰─ infrastructure/adapters/doc-parser/src/main/kotlin/eu/corentic/springrag/service/docling (21 methods) — no grammar — too_diverse
     Imports:  import com.google.auth.oauth2.GoogleCredentials  |  import com.google.auth.oauth2.IdTokenCredentials  |  import com.google.auth.oauth2.IdTokenProvider  |  import ai.docling.core.DoclingDocument  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.model.GraphDocument
               ... and 24 more
  ╰─ infrastructure/adapters/doc-parser/src/systemTest/kotlin/eu/corentic/springrag/config (6 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.testcontainers.OllamaModelSupport  |  import eu.corentic.springrag.testcontainers.SharedContainers  |  import eu.corentic.springrag.testcontainers.SharedContainers.ContainerType  |  import org.junit.jupiter.api.Assumptions  |  import org.junit.jupiter.api.BeforeAll  |  import org.springframework.boot.test.context.SpringBootTest
               ... and 9 more
  ╰─ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/config (12 methods)
     Algorithm: CRX
     Grammar:   PipelineOptions?.doclingServeApi+?.trimIndent+?.DoclingConfig?.(assertNull+concurrency+layoutBatchSize+ocrBatchSize+tableBatchSize)+?.assertNotNull+?.lines+?.baseUrl?.documentTimeout?.toString+?.(indexOfFirst+startsWith+trimStart)+?.(imageExportMode+includeImages+options+useS3Target)+?.(assertThat+contains+doesNotContain+isGreaterThan)+?.s3Target?.bucket?.assertThatThrownBy?.validateCriticalSettings+?.isInstanceOf+?.IllegalStateException?.java?.hasMessageContaining+?
     Score:     25579964378710583940
     Imports:  import kotlin.test.assertNotNull  |  import org.junit.jupiter.api.Test  |  import org.assertj.core.api.Assertions.assertThat  |  import org.assertj.core.api.Assertions.assertThatThrownBy  |  import org.junit.jupiter.api.Assertions.assertNull
  ╰─ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/health (3 methods) — no grammar — too_diverse
     Imports:  import ai.docling.serve.api.DoclingServeApi  |  import ai.docling.serve.api.health.HealthCheckResponse  |  import kotlin.test.assertEquals  |  import org.junit.jupiter.api.Test  |  import org.mockito.Mockito.mock  |  import org.mockito.Mockito.`when`
  ╰─ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/service/docling (10 methods) — no grammar — too_diverse
     Imports:  import ai.docling.core.DoclingDocument  |  import eu.corentic.springrag.common.ids.asJobId  |  import java.util.Base64  |  import org.junit.jupiter.api.Assertions.assertArrayEquals  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Assertions.assertNotNull
               ... and 29 more
  ╰─ infrastructure/adapters/doc-parser/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) — no grammar — too_diverse
     Imports:  import java.util.function.Function  |  import java.util.function.Supplier  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreaker  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory  |  import org.springframework.cloud.client.circuitbreaker.ConfigBuilder
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/health (7 methods) — no grammar — too_diverse
     Imports:  import org.neo4j.driver.Driver  |  import java.time.Duration  |  import org.springframework.boot.health.contributor.Health  |  import org.springframework.boot.health.contributor.ReactiveHealthIndicator  |  import org.springframework.stereotype.Component  |  import reactor.core.publisher.Mono
               ... and 9 more
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/model/graph (9 methods) — no grammar — too_diverse
     Imports:  import java.time.Instant  |  import org.springframework.data.annotation.Version  |  import org.springframework.data.neo4j.core.schema.Id  |  import org.springframework.data.neo4j.core.schema.Node  |  import org.springframework.data.neo4j.core.schema.Relationship  |  import org.springframework.data.neo4j.core.schema.Property
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/repository [deleteByFilter] (13 methods)
     Algorithm: CRX
     Grammar:   deleteByFilter.filterEquals.value
     Score:     4
     Imports:  import eu.corentic.springrag.model.VectorChunk  |  import org.springframework.ai.document.Document  |  import eu.corentic.springrag.common.ids.DocumentId  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.common.ids.LogicalDocumentId
               ... and 6 more
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/agent (3 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.model.graph.AgentNode  |  import eu.corentic.springrag.model.graph.KnowledgeBaseNode  |  import eu.corentic.springrag.repository.graph.AgentRepository  |  import eu.corentic.springrag.repository.graph.KnowledgeBaseRepository  |  import eu.corentic.springrag.service.port.AgentKnowledgeBasePort  |  import org.springframework.stereotype.Service
               ... and 2 more
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/cleanup (4 methods)
     Algorithm: CRX
     Grammar:   info+.(deleteByJobId+deleteByKnowledgeBaseId+jobId+knowledgeBaseId+value)+
     Score:     1015620
     Imports:  import eu.corentic.springrag.model.event.DocumentDeletionRequested  |  import eu.corentic.springrag.service.graph.GraphIngestionOrchestrator  |  import io.github.oshai.kotlinlogging.KotlinLogging  |  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty  |  import org.springframework.modulith.events.ApplicationModuleListener  |  import org.springframework.stereotype.Component
               ... and 2 more
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/graph (12 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.DocumentId  |  import eu.corentic.springrag.common.ids.Filename  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.common.ids.LogicalDocumentId  |  import eu.corentic.springrag.common.ids.StorageUri
               ... and 25 more
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/port/adapter [value] (35 methods)
     Algorithm: CRX
     Grammar:   value+.let+?.map+?.storageUri?.toDomain+?.imageType?.pageNo?
     Score:     1460
     Imports:  import eu.corentic.springrag.common.ids.StorageUri  |  import eu.corentic.springrag.model.PageTextElement  |  import eu.corentic.springrag.model.SourceImage  |  import eu.corentic.springrag.repository.graph.ImageDataRepository  |  import eu.corentic.springrag.repository.graph.TextElementRepository  |  import eu.corentic.springrag.repository.graph.TableElementRepository
               ... and 33 more
  ╰─ infrastructure/adapters/search/src/main/kotlin/eu/corentic/springrag/service/storage [when] (34 methods)
     Algorithm: CRX
     Grammar:   when.lowercase+.else
     Score:     3
     Imports:  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.StorageUri  |  import eu.corentic.springrag.config.ObjectStorageProperties  |  import eu.corentic.springrag.service.port.ObjectStoragePort  |  import io.github.oshai.kotlinlogging.KotlinLogging  |  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
               ... and 23 more
  ╰─ infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/config (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.testcontainers.OllamaModelSupport  |  import eu.corentic.springrag.testcontainers.QdrantTestSupport  |  import eu.corentic.springrag.testcontainers.QdrantTestSupport.recreateTestCollection  |  import eu.corentic.springrag.testcontainers.SharedContainers  |  import eu.corentic.springrag.testcontainers.SharedContainers.ContainerType  |  import io.qdrant.client.QdrantClient
               ... and 10 more
  ╰─ infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/repository/graph (23 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.BaseSystemTest  |  import eu.corentic.springrag.model.graph.DocumentJobNode  |  import eu.corentic.springrag.model.graph.ImageData  |  import eu.corentic.springrag.model.graph.KnowledgeBaseNode  |  import eu.corentic.springrag.model.graph.PageNode  |  import eu.corentic.springrag.model.graph.TextElement
               ... and 12 more
  ╰─ infrastructure/adapters/search/src/systemTest/kotlin/eu/corentic/springrag/system (6 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.config.BaseSystemTest  |  import eu.corentic.springrag.model.VectorChunk  |  import eu.corentic.springrag.repository.VectorRepository  |  import kotlinx.coroutines.runBlocking  |  import org.junit.jupiter.api.Assertions.assertEquals
               ... and 6 more
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/config (3 methods) — no grammar — too_diverse
     Imports:  import io.mockk.mockk  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Assertions.assertTrue  |  import org.junit.jupiter.api.Test  |  import org.neo4j.driver.Driver  |  import org.springframework.data.neo4j.core.transaction.Neo4jTransactionManager
               ... and 10 more
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/health (6 methods)
     Algorithm: CRX
     Grammar:   (HealthCheckReply+`when`+collectionExistsAsync+getDefaultInstance+healthCheckAsync+immediateFuture+thenReturn+verifyConnectivityAsync)+.immediateFailedFuture+?.completedFuture+?.failedFuture+?.(InterruptedException+TimeoutException)?.IllegalStateException?.(Neo4jDriverHealthIndicator+QdrantVectorStoreHealthIndicator+assertEquals+assertTrue+block+code+currentThread+health+interrupted+isInterrupted+requireNotNull+status)+
     Score:     939165257675084356856455864800
     Imports:  import java.util.concurrent.CompletableFuture  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Test  |  import org.mockito.Mockito.mock  |  import org.neo4j.driver.Driver  |  import org.mockito.Mockito.`when`
               ... and 6 more
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/model/graph (7 methods)
     Algorithm: CRX
     Grammar:   (ImageData+PageNode)+?.(PictureElement+SectionHeaderElement)?.copy+?.assertEquals+?.assertNotEquals?.(hashCode+label)+?
     Score:     64509
     Imports:  import kotlin.test.assertEquals  |  import kotlin.test.assertNotEquals  |  import org.junit.jupiter.api.Test  |  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Assertions.assertNotEquals
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/repository (19 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.asDocumentId  |  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.common.ids.asKnowledgeBaseId  |  import eu.corentic.springrag.common.ids.asLogicalDocumentId  |  import eu.corentic.springrag.model.VectorChunk  |  import eu.corentic.springrag.testsupport.NoOpCircuitBreakerFactory
               ... and 12 more
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/cleanup (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.model.event.DocumentDeletionRequested  |  import eu.corentic.springrag.service.graph.GraphIngestionOrchestrator  |  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.common.ids.asKnowledgeBaseId  |  import io.mockk.every  |  import io.mockk.just
               ... and 6 more
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/graph [GraphDocument] (26 methods)
     Algorithm: CRX
     Grammar:   GraphDocument.(GraphImagePayload+GraphPage+GraphPictureElement+GraphTableElement+GraphTextElement+byteArrayOf+listOf)+?.(DocumentJobNode+any+corentic+eu+every+findOrCreateInactive+graph+model+slot+springrag+stubDocumentGraphJob)+?.saveDocumentGraph+?.capture?.stageDocumentGraph+?.asJobId+?.asDocumentId+?.asLogicalDocumentId+?.asFilename+?.asStorageUri+?.captured?.(assertEquals+assertNotNull+assertNull+doclingId+first+height+imageData+imageType+page+pageNo+pages+pictureElements+rendering+size+storageUri+textElements+width)+?.text?
     Score:     3976990028483415088754264677975613605489131406537224344860248098731408977433530348695863821582357331791126485269625073857043058797829
     Imports:  import eu.corentic.springrag.model.DocumentGraphJob  |  import eu.corentic.springrag.model.GraphDocument  |  import eu.corentic.springrag.model.GraphImagePayload  |  import eu.corentic.springrag.model.GraphPage  |  import eu.corentic.springrag.model.GraphPictureElement  |  import eu.corentic.springrag.model.GraphTableElement
               ... and 18 more
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/port/adapter (28 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.model.graph.ImageData  |  import eu.corentic.springrag.model.graph.TableElement  |  import eu.corentic.springrag.model.graph.TextElement  |  import eu.corentic.springrag.repository.graph.ImageDataRepository  |  import eu.corentic.springrag.repository.graph.TableElementRepository  |  import eu.corentic.springrag.repository.graph.TextElementRepository
               ... and 27 more
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/service/storage (3 methods)
     Algorithm: CRX
     Grammar:   assertNull?.parseS3Location.error+?.(assertEquals+bucket)+?.key?
     Score:     573
     Imports:  import kotlin.test.Test  |  import kotlin.test.assertEquals  |  import kotlin.test.assertNull
  ╰─ infrastructure/adapters/search/src/test/kotlin/eu/corentic/springrag/testsupport (3 methods) — no grammar — too_diverse
     Imports:  import java.util.function.Function  |  import java.util.function.Supplier  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreaker  |  import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory  |  import org.springframework.cloud.client.circuitbreaker.ConfigBuilder
  ╰─ modules/chat/src/integrationTest/kotlin/eu/corentic/springrag/service/chat (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDirectory  |  import eu.corentic.springrag.agent.rag.RagAgentInvocationGateway  |  import org.springframework.boot.SpringBootConfiguration  |  import org.springframework.boot.autoconfigure.EnableAutoConfiguration  |  import org.springframework.context.annotation.Bean  |  import eu.corentic.springrag.agent.capability.AgentExecutionContext
               ... and 15 more
  ╰─ modules/chat/src/main/kotlin/eu/corentic/springrag/service/chat (6 methods) — no grammar — malformed_grammar
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDescriptor  |  import eu.corentic.springrag.agent.capability.AgentCapabilityDirectory  |  import eu.corentic.springrag.agent.capability.AgentExecutionContext  |  import eu.corentic.springrag.agent.capability.isExposedOverHttp  |  import eu.corentic.springrag.agent.rag.RagAgentInvocationGateway  |  import eu.corentic.springrag.agent.rag.RagInvocation
               ... and 6 more
  ╰─ modules/chat/src/systemTest/kotlin/eu/corentic/springrag/config (15 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.testcontainers.OllamaModelSupport  |  import eu.corentic.springrag.testcontainers.QdrantTestSupport  |  import eu.corentic.springrag.testcontainers.QdrantTestSupport.recreateTestCollection  |  import eu.corentic.springrag.testcontainers.SharedContainers  |  import eu.corentic.springrag.testcontainers.SharedContainers.ContainerType  |  import io.qdrant.client.QdrantClient
               ... and 36 more
  ╰─ modules/chat/src/systemTest/kotlin/eu/corentic/springrag/system (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.BaseSystemTest  |  import eu.corentic.springrag.controller.SessionChatRequest  |  import eu.corentic.springrag.model.ChatResponse  |  import eu.corentic.springrag.model.VectorChunk  |  import eu.corentic.springrag.repository.VectorRepository  |  import java.time.Duration
               ... and 11 more
  ╰─ modules/chat/src/test/kotlin/eu/corentic/springrag/service/chat (8 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.agent.capability.AgentCapabilityDirectory  |  import eu.corentic.springrag.agent.capability.AgentExecutionContext  |  import eu.corentic.springrag.agent.rag.RagAgentInvocationGateway  |  import eu.corentic.springrag.agent.rag.RagInvocation  |  import eu.corentic.springrag.agent.rag.RagRequest  |  import eu.corentic.springrag.common.ids.asKnowledgeBaseId
               ... and 11 more
  ╰─ modules/common/src/main/kotlin/eu/corentic/springrag/common (7 methods) — no grammar — too_diverse
  ╰─ modules/common/src/main/kotlin/eu/corentic/springrag/common/ids [of] (10 methods)
     Algorithm: CRX
     Grammar:   of+
     Score:     7
  ╰─ modules/common/src/test/kotlin/eu/corentic/springrag/common/ids (8 methods)
     Algorithm: CRX
     Grammar:   (IllegalArgumentException+asBatchId+asDocumentId+asFilename+asJobId+asKnowledgeBaseId+asLogicalDocumentId+asStorageUri+assertEquals+assertFailsWith+of+value)+
     Score:     1648446623609697437128189083648
     Imports:  import kotlin.test.Test  |  import kotlin.test.assertEquals  |  import kotlin.test.assertFailsWith
  ╰─ modules/ingestion/src/integrationTest/kotlin/eu/corentic/springrag/service/job (34 methods) — no grammar — too_diverse
     Imports:  import com.ninjasquad.springmockk.MockkBean  |  import eu.corentic.springrag.batch.DocumentIngestionJobConfig  |  import eu.corentic.springrag.batch.model.DocumentInput  |  import eu.corentic.springrag.batch.model.ProcessedDocument  |  import eu.corentic.springrag.batch.processor.DocumentProcessingItemProcessor  |  import eu.corentic.springrag.common.ids.Filename
               ... and 46 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch (16 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.batch.listener.BatchJobListener  |  import eu.corentic.springrag.batch.listener.DocumentActivationWriteListener  |  import eu.corentic.springrag.batch.listener.DocumentIngestionStageWriteListener  |  import eu.corentic.springrag.batch.listener.SimpleDocumentTrackingListener  |  import eu.corentic.springrag.batch.model.DocumentInput  |  import eu.corentic.springrag.batch.model.ProcessedDocument
               ... and 38 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/listener (16 methods) — no grammar — too_diverse
     Imports:  import io.github.oshai.kotlinlogging.KotlinLogging  |  import org.springframework.batch.core.BatchStatus  |  import org.springframework.batch.core.job.JobExecution  |  import org.springframework.batch.core.listener.JobExecutionListener  |  import org.springframework.stereotype.Component  |  import eu.corentic.springrag.service.job.StagedUploadCleanupService
               ... and 11 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/model (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.DocumentId  |  import eu.corentic.springrag.common.ids.Filename  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.common.ids.LogicalDocumentId  |  import eu.corentic.springrag.common.ids.StorageUri
               ... and 3 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/partition (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.Filename  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.StorageUri  |  import eu.corentic.springrag.config.StorageProperties  |  import eu.corentic.springrag.service.job.DocumentTrackingRepository  |  import eu.corentic.springrag.service.port.ObjectStoragePort
               ... and 10 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/reader (4 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.batch.model.DocumentInput  |  import eu.corentic.springrag.common.ids.Filename  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.common.ids.StorageUri  |  import eu.corentic.springrag.config.StorageProperties
               ... and 8 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/batch/writer (3 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.service.job.DocumentActivationService  |  import eu.corentic.springrag.service.job.IngestionDocumentState  |  import org.springframework.batch.infrastructure.item.Chunk  |  import org.springframework.batch.infrastructure.item.ItemWriter  |  import org.springframework.stereotype.Component  |  import eu.corentic.springrag.batch.model.ProcessedDocument
               ... and 5 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/config (26 methods) — no grammar — too_diverse
     Imports:  import javax.sql.DataSource  |  import org.springframework.batch.core.configuration.support.JdbcDefaultBatchConfiguration  |  import org.springframework.context.annotation.Bean  |  import org.springframework.context.annotation.Configuration  |  import org.springframework.core.task.TaskDecorator  |  import org.springframework.core.task.TaskExecutor
               ... and 16 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/chunk (18 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.HybridChunkingConfig  |  import eu.corentic.springrag.common.ids.DocumentId  |  import eu.corentic.springrag.common.ids.Filename  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.common.ids.LogicalDocumentId
               ... and 12 more
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/document (3 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.DocumentId  |  import eu.corentic.springrag.common.ids.Filename  |  import eu.corentic.springrag.common.ids.JobId  |  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.common.ids.LogicalDocumentId  |  import java.security.MessageDigest
  ╰─ modules/ingestion/src/main/kotlin/eu/corentic/springrag/service/job (62 methods) — no grammar — too_diverse
     Imports:  import java.sql.Timestamp  |  import java.time.Instant  |  import org.springframework.jdbc.core.JdbcTemplate  |  import org.springframework.stereotype.Component  |  from ingestion_batch_ownership  |  import eu.corentic.springrag.common.DomainException
               ... and 45 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch (17 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.BatchProperties  |  import eu.corentic.springrag.service.job.IngestionDocumentStateRepository  |  import io.mockk.mockk  |  import kotlin.test.assertEquals  |  import org.junit.jupiter.api.Test  |  import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder
               ... and 11 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/listener (34 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.StorageProperties  |  import java.io.IOException  |  import java.nio.file.Files  |  import java.nio.file.Path  |  import java.time.Duration  |  import org.junit.jupiter.api.Assertions.assertTrue
               ... and 33 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/model (8 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.asDocumentId  |  import eu.corentic.springrag.common.ids.asFilename  |  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.common.ids.asKnowledgeBaseId  |  import eu.corentic.springrag.common.ids.asLogicalDocumentId  |  import eu.corentic.springrag.common.ids.asStorageUri
               ... and 5 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/partition (7 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.service.job.DocumentTrackingRepository  |  import eu.corentic.springrag.service.port.ObjectStoragePort  |  import eu.corentic.springrag.common.ids.asFilename  |  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.common.ids.asStorageUri  |  import io.mockk.every
               ... and 10 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/processor (5 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.batch.model.DocumentInput  |  import eu.corentic.springrag.model.GraphDocument  |  import eu.corentic.springrag.model.ParsedDocument  |  import eu.corentic.springrag.model.VectorChunk  |  import eu.corentic.springrag.service.chunk.DocumentChunkService  |  import eu.corentic.springrag.service.port.DocumentParserPort
               ... and 16 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/reader (12 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.service.document.DocumentIdentity  |  import java.io.File  |  import eu.corentic.springrag.common.ids.asDocumentId  |  import eu.corentic.springrag.common.ids.asFilename  |  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.common.ids.asKnowledgeBaseId
               ... and 7 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/batch/writer (14 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.service.job.DocumentActivationService  |  import eu.corentic.springrag.service.job.IngestionDocumentState  |  import eu.corentic.springrag.common.ids.asDocumentId  |  import eu.corentic.springrag.common.ids.asFilename  |  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.common.ids.asLogicalDocumentId
               ... and 26 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/chunk (8 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.config.HybridChunkingConfig  |  import eu.corentic.springrag.config.EmbabelModelProperties  |  import eu.corentic.springrag.common.ids.asDocumentId  |  import eu.corentic.springrag.common.ids.asFilename  |  import eu.corentic.springrag.common.ids.asJobId  |  import eu.corentic.springrag.common.ids.asKnowledgeBaseId
               ... and 9 more
  ╰─ modules/ingestion/src/test/kotlin/eu/corentic/springrag/service/job (49 methods) — no grammar — too_diverse
     Imports:  import io.mockk.every  |  import io.mockk.mockk  |  import io.mockk.verify  |  import kotlin.test.assertEquals  |  import kotlin.test.assertFailsWith  |  import org.junit.jupiter.api.Test
               ... and 48 more
  ╰─ modules/knowledgebase/ports/src/main/kotlin/eu/corentic/springrag/model (5 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import java.time.Instant
  ╰─ modules/knowledgebase/src/main/kotlin/eu/corentic/springrag/service/knowledgebase (11 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.ids.KnowledgeBaseId  |  import eu.corentic.springrag.model.KnowledgeBase  |  import eu.corentic.springrag.service.port.KnowledgeBasePort  |  import io.github.oshai.kotlinlogging.KotlinLogging  |  import org.springframework.beans.factory.annotation.Value  |  import org.springframework.boot.CommandLineRunner
               ... and 12 more
  ╰─ modules/knowledgebase/src/test/kotlin/eu/corentic/springrag/service/knowledgebase (16 methods) — no grammar — too_diverse
     Imports:  import org.junit.jupiter.api.Assertions.assertEquals  |  import org.junit.jupiter.api.Test  |  import jakarta.validation.Validation  |  import kotlin.test.assertFalse  |  import kotlin.test.assertTrue  |  import eu.corentic.springrag.model.event.DocumentDeletionRequested
               ... and 16 more
  ╰─ modules/security/src/main/kotlin/eu/corentic/springrag/security/config (5 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.Outcome  |  import eu.corentic.springrag.security.service.JwtService  |  import org.springframework.http.HttpHeaders  |  import org.springframework.security.authentication.UsernamePasswordAuthenticationToken  |  import org.springframework.security.core.context.ReactiveSecurityContextHolder  |  import org.springframework.stereotype.Component
               ... and 28 more
  ╰─ modules/security/src/main/kotlin/eu/corentic/springrag/security/service (10 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.security.repository.UserRepository  |  import org.springframework.security.core.userdetails.ReactiveUserDetailsService  |  import org.springframework.security.core.userdetails.User  |  import org.springframework.security.core.userdetails.UserDetails  |  import org.springframework.stereotype.Service  |  import reactor.core.publisher.Mono
               ... and 23 more
  ╰─ modules/security/src/test/kotlin/eu/corentic/springrag/security/config (6 methods) — no grammar — too_diverse
     Imports:  import eu.corentic.springrag.common.Outcome  |  import eu.corentic.springrag.security.service.JwtService  |  import eu.corentic.springrag.security.service.JwtValidationError  |  import io.mockk.every  |  import io.mockk.mockk  |  import java.util.concurrent.atomic.AtomicReference
               ... and 22 more
  ╰─ modules/security/src/test/kotlin/eu/corentic/springrag/security/service [JwtService] (14 methods)
     Algorithm: CRX
     Grammar:   JwtService.JwtProperties.hmacShaKeyFor+?.generateToken+?.toByteArray+?.assertFalse?.UTF_8?.builder+?.subject+?.issuedAt+?.(Date+expiration)+?.currentTimeMillis+?.signWith+?.compact+?.(Err+Outcome+String+assertEquals+assertTrue+authorities+authority+emptyList+error+extractAuthorities+extractUsername+getOrThrow+listOf+map+parseToken+username+validateToken)+.JwtValidationError?.(Expired+InvalidSignature+Malformed)?
     Score:     510167422957742291453396234378565402711762173
     Imports:  import eu.corentic.springrag.common.Outcome  |  import eu.corentic.springrag.security.model.Role  |  import eu.corentic.springrag.security.model.User  |  import eu.corentic.springrag.security.config.JwtProperties  |  import io.jsonwebtoken.Jwts  |  import io.jsonwebtoken.security.Keys
               ... and 15 more
  ╰─ platform/test-support/src/main/kotlin/eu/corentic/springrag/testcontainers (13 methods) — no grammar — too_diverse
     Imports:  import com.github.dockerjava.api.model.DeviceRequest  |  import org.testcontainers.DockerClientFactory  |  import org.testcontainers.containers.GenericContainer  |  import io.github.oshai.kotlinlogging.KotlinLogging  |  import io.qdrant.client.QdrantClient  |  import io.qdrant.client.grpc.Collections.Distance
               ... and 10 more
  ╰─ platform/test-support/src/test/kotlin/eu/corentic/springrag/testcontainers (5 methods) — no grammar — too_diverse
     Imports:  import org.junit.jupiter.api.Test  |  import org.mockito.Mockito.mock  |  import org.mockito.Mockito.times  |  import org.mockito.Mockito.verify  |  import org.testcontainers.containers.Container  |  import org.testcontainers.containers.GenericContainer
               ... and 9 more
  ╰─ (other) (6 methods) — no grammar

.js:
  ╰─ compose/patches (17 methods) — no grammar — too_diverse
     Args(require): n=1 [1:lit]
     Args(setTimeout): n=2 [2:other,other]
     Args(Set): n=1 [1:var]
     Args(new): n=0 [0:; 1:var]
  ╰─ testing/steps [form] (58 methods)
     Algorithm: CRX
     Grammar:   (await+click+filter+form+locator+modelBtn+waitFor)+.expect+?.(fill+waitForTimeout)?.toBe?
     Score:     1162678209063
     Imports:  import { Given, When, Then } from '@cucumber/cucumber';  |  import { expect } from '@playwright/test';  |  import { BeforeAll, AfterAll, Before, After, setDefaultTimeout } from '@cucumber/cucumber';
     Args(When): n=2 [2:lit,other]
     Args(expect): n=1 [1:var; 1:other]
     Args(Then): n=2 [2:lit,other]
     Args(Given): n=2 [2:lit,other]
  ╰─ testing/support (3 methods) — no grammar — too_diverse
     Imports:  import { chromium } from '@playwright/test';  |  import { setWorldConstructor } from '@cucumber/cucumber';
     Args(setWorldConstructor): n=1 [1:var]
  ╰─ (other) (1 methods) — no grammar

.java:

.go:
  ╰─ tools/setup-ui (44 methods) — no grammar — too_diverse
     Imports:  import (
     Args(append): n=2 [2:var,call; 2:var,var]
     Args(len): n=1 [1:other; 1:var]
     Args(sectionTitle): n=1 [1:other]
     Args(make): n=3 [3:other,other,call]
