diff --git a/src/mcp/mcp.c b/src/mcp/mcp.c index ce1ff7a50..aee17e797 100644 --- a/src/mcp/mcp.c +++ b/src/mcp/mcp.c @@ -12093,7 +12093,7 @@ static char *resolve_path_owner(const char *path, char *derived) { cbm_dirent_t *entry; while ((entry = cbm_readdir(d)) != NULL) { mcp_project_record_t record = {0}; - if (!is_project_db_file(entry->name, strlen(entry->name)) || + if (!cbm_is_project_index_db(entry->name) || read_project_record_identity(dir_path, entry->name, 0, &record) != PROJECT_RECORD_OK) { continue; } diff --git a/src/pipeline/pass_calls.c b/src/pipeline/pass_calls.c index 83f994419..668919682 100644 --- a/src/pipeline/pass_calls.c +++ b/src/pipeline/pass_calls.c @@ -903,7 +903,7 @@ static int resolve_single_call(cbm_pipeline_ctx_t *ctx, CBMCall *call, const CBM if (cbm_service_pattern_route_method(call->callee_name) != NULL && call->first_string_arg && call->first_string_arg[0] == '/') { handle_route_registration(ctx, call, source_node, module_qn, imp_keys, imp_vals, - imp_count); + imp_count, route_mount); return SKIP_ONE; } return 0; diff --git a/src/pipeline/pass_parallel.c b/src/pipeline/pass_parallel.c index c1cfa7e9a..a8a9f3693 100644 --- a/src/pipeline/pass_parallel.c +++ b/src/pipeline/pass_parallel.c @@ -2668,7 +2668,8 @@ static void emit_service_edge(cbm_gbuf_t *gbuf, const cbm_gbuf_node_t *source, static void emit_xlang_refused_route(cbm_gbuf_t *gbuf, const cbm_gbuf_node_t *source, const CBMCall *call, const char *module_qn, const cbm_registry_t *registry, const cbm_gbuf_t *main_gbuf, - const char **imp_keys, const char **imp_vals, int imp_count) { + const char **imp_keys, const char **imp_vals, int imp_count, + const char *route_mount) { if (cbm_service_pattern_route_method(call->callee_name) == NULL) { return; } @@ -2680,7 +2681,7 @@ static void emit_xlang_refused_route(cbm_gbuf_t *gbuf, const cbm_gbuf_node_t *so const char *route_path = find_route_path_in_args(call, &handler_ref); if (route_path) { emit_route_registration(gbuf, source, call, route_path, handler_ref, module_qn, registry, - main_gbuf, imp_keys, imp_vals, imp_count); + main_gbuf, imp_keys, imp_vals, imp_count, route_mount); } } @@ -3259,7 +3260,7 @@ static void resolve_file_calls(resolve_ctx_t *rc, resolve_worker_state_t *ws, CB * CALLS edge across a language boundary. A route registration * behind the refused binding still gets its Route. */ emit_xlang_refused_route(ws->local_edge_buf, source_node, call, module_qn, rc->registry, - rc->main_gbuf, imp_keys, imp_vals, imp_count); + rc->main_gbuf, imp_keys, imp_vals, imp_count, route_mount); continue; } if (!target_node || source_node->id == target_node->id) {