From 1a7c6ae8d2ca90a10a5602c7aeddfa6c12b28af7 Mon Sep 17 00:00:00 2001 From: Shane McCarron Date: Sat, 21 Mar 2026 15:08:38 -0500 Subject: [PATCH] fix(k8s): add k8s pass to parallel pipeline path The parallel execution path (used for repos above MIN_FILES_FOR_PARALLEL) was missing the cbm_pipeline_pass_k8s() call. The pass existed only in the sequential fallback path, so any repo large enough to trigger parallel indexing produced zero k8s Resource and kustomize Module nodes. Discovered via live testing against a 954-file gitops repo: the parallel path was taken, k8s pass was silently skipped, and search_graph returned 0 Resource nodes despite 213 kustomize overlays and hundreds of manifests. Add the pass after cbm_parallel_resolve() in the parallel branch, matching the same pattern (fail-open, cancel check, timing log) as the sequential path. Co-Authored-By: Claude Sonnet 4.6 --- src/pipeline/pipeline.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/pipeline/pipeline.c b/src/pipeline/pipeline.c index 41c84776f..303ed08c4 100644 --- a/src/pipeline/pipeline.c +++ b/src/pipeline/pipeline.c @@ -494,6 +494,16 @@ int cbm_pipeline_run(cbm_pipeline_t *p) { rc = -1; goto cleanup; } + + cbm_clock_gettime(CLOCK_MONOTONIC, &t); + rc = cbm_pipeline_pass_k8s(&ctx, files, file_count); + if (rc != 0) { /* log warning, continue */ + } + cbm_log_info("pass.timing", "pass", "k8s", "elapsed_ms", itoa_buf((int)elapsed_ms(t))); + if (check_cancel(p)) { + rc = -1; + goto cleanup; + } } else { cbm_log_info("pipeline.mode", "mode", "sequential", "files", itoa_buf(file_count));