@@ -347,36 +347,35 @@ pub async fn run_consumer(
347347 affected_file_ids. push ( result. file_id ) ;
348348
349349 // Adjust folder centroid for newly added files
350- if is_new_file {
351- if let Ok ( vectors) =
350+ if is_new_file
351+ && let Ok ( vectors) =
352352 store_guard. get_chunk_vectors_for_file ( result. file_id )
353- && !vectors. is_empty ( )
354- {
355- let dim = vectors[ 0 ] . len ( ) ;
356- let mut mean = vec ! [ 0.0f32 ; dim] ;
357- for v in & vectors {
358- for ( i, val) in v. iter ( ) . enumerate ( ) {
359- mean[ i] += val;
360- }
361- }
362- let n = vectors. len ( ) as f32 ;
363- for val in & mut mean {
364- * val /= n;
353+ && !vectors. is_empty ( )
354+ {
355+ let dim = vectors[ 0 ] . len ( ) ;
356+ let mut mean = vec ! [ 0.0f32 ; dim] ;
357+ for v in & vectors {
358+ for ( i, val) in v. iter ( ) . enumerate ( ) {
359+ mean[ i] += val;
365360 }
361+ }
362+ let n = vectors. len ( ) as f32 ;
363+ for val in & mut mean {
364+ * val /= n;
365+ }
366366
367- let folder = std:: path:: Path :: new ( & rel)
368- . parent ( )
369- . map ( |p| p. to_string_lossy ( ) . to_string ( ) )
370- . unwrap_or_default ( ) ;
371- if let Err ( e) =
372- store_guard. adjust_folder_centroid ( & folder, & mean, true )
373- {
374- tracing:: warn!(
375- path = %rel,
376- error = %e,
377- "failed to adjust centroid for new file"
378- ) ;
379- }
367+ let folder = std:: path:: Path :: new ( & rel)
368+ . parent ( )
369+ . map ( |p| p. to_string_lossy ( ) . to_string ( ) )
370+ . unwrap_or_default ( ) ;
371+ if let Err ( e) =
372+ store_guard. adjust_folder_centroid ( & folder, & mean, true )
373+ {
374+ tracing:: warn!(
375+ path = %rel,
376+ error = %e,
377+ "failed to adjust centroid for new file"
378+ ) ;
380379 }
381380 }
382381 }
@@ -398,13 +397,9 @@ pub async fn run_consumer(
398397 let store_guard = store. lock ( ) . await ;
399398
400399 // Capture mean vector BEFORE removal for centroid adjustment
401- let mean_vec_and_folder = store_guard
402- . get_file ( & rel)
403- . ok ( )
404- . flatten ( )
405- . and_then ( |file| {
406- let vectors =
407- store_guard. get_chunk_vectors_for_file ( file. id ) . ok ( ) ?;
400+ let mean_vec_and_folder =
401+ store_guard. get_file ( & rel) . ok ( ) . flatten ( ) . and_then ( |file| {
402+ let vectors = store_guard. get_chunk_vectors_for_file ( file. id ) . ok ( ) ?;
408403 if vectors. is_empty ( ) {
409404 return None ;
410405 }
@@ -431,16 +426,15 @@ pub async fn run_consumer(
431426 tracing:: info!( path = %rel, "removed deleted file from index" ) ;
432427
433428 // Adjust folder centroid after successful removal
434- if let Some ( ( mean, folder) ) = mean_vec_and_folder {
435- if let Err ( e) = store_guard
436- . adjust_folder_centroid ( & folder, & mean, false )
437- {
438- tracing:: warn!(
439- path = %rel,
440- error = %e,
441- "failed to adjust centroid for deleted file"
442- ) ;
443- }
429+ if let Some ( ( mean, folder) ) = mean_vec_and_folder
430+ && let Err ( e) =
431+ store_guard. adjust_folder_centroid ( & folder, & mean, false )
432+ {
433+ tracing:: warn!(
434+ path = %rel,
435+ error = %e,
436+ "failed to adjust centroid for deleted file"
437+ ) ;
444438 }
445439 }
446440 Err ( e) => {
@@ -547,10 +541,13 @@ pub async fn run_consumer(
547541 }
548542 None => {
549543 // Check if it's a confirmation (suggested == actual) — just strip
550- let has_suggested = content. contains ( "suggested_folder:" ) ;
544+ let has_suggested =
545+ content. contains ( "suggested_folder:" ) ;
551546 if has_suggested {
552547 let stripped =
553- placement:: strip_placement_frontmatter ( & content) ;
548+ placement:: strip_placement_frontmatter (
549+ & content,
550+ ) ;
554551 if stripped != content {
555552 Some ( stripped)
556553 } else {
@@ -576,8 +573,8 @@ pub async fn run_consumer(
576573 // The write triggers a Changed event that gets re-indexed anyway.
577574 if let Some ( stripped) = needs_frontmatter_strip {
578575 let tmp = to. with_extension ( "md.tmp" ) ;
579- if let Err ( e) = std :: fs :: write ( & tmp , & stripped )
580- . and_then ( |_| std:: fs:: rename ( & tmp, to) )
576+ if let Err ( e) =
577+ std :: fs :: write ( & tmp , & stripped ) . and_then ( |_| std:: fs:: rename ( & tmp, to) )
581578 {
582579 tracing:: warn!( error = %e, "failed to strip placement frontmatter" ) ;
583580 let _ = std:: fs:: remove_file ( & tmp) ;
0 commit comments