From 682a64354f771712e722c60c5b6308343090ed7f Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Wed, 17 Jun 2026 13:41:28 +0200 Subject: [PATCH] fix: remove std::path from application layer, document merge error behavior --- crates/application/src/use_cases/build_code_graph.rs | 2 ++ crates/application/src/use_cases/generate_diagram.rs | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/application/src/use_cases/build_code_graph.rs b/crates/application/src/use_cases/build_code_graph.rs index ed9daa8..0308129 100644 --- a/crates/application/src/use_cases/build_code_graph.rs +++ b/crates/application/src/use_cases/build_code_graph.rs @@ -53,6 +53,8 @@ where let mut graph = result.graph().clone(); if level == DiagramLevel::Module { if let Some(pa) = self.project_analyzer { + // Propagate error: a present but malformed manifest is a user error, + // not a silent skip. let project_cg = pa.analyze(root)?; graph.merge_project_edges(&project_cg); } diff --git a/crates/application/src/use_cases/generate_diagram.rs b/crates/application/src/use_cases/generate_diagram.rs index 9267d0e..1af1a70 100644 --- a/crates/application/src/use_cases/generate_diagram.rs +++ b/crates/application/src/use_cases/generate_diagram.rs @@ -44,8 +44,7 @@ fn render_split( let ext = overview .files() .first() - .and_then(|f| std::path::Path::new(f.name()).extension()) - .and_then(|e| e.to_str()) + .and_then(|f| f.name().rsplit_once('.').map(|(_, e)| e)) .unwrap_or("txt"); if let Some(f) = overview.files().first() {