Extract a file path from a node's detail or summary.
(node: &GraphNode)
| 599 | |
| 600 | /// Extract a file path from a node's detail or summary. |
| 601 | fn extract_file(node: &GraphNode) -> Option<String> { |
| 602 | // Try detail first |
| 603 | if let Some(ref detail) = node.detail { |
| 604 | // For commitment nodes: detail.file |
| 605 | if let Some(file) = detail.get("file").and_then(|v| v.as_str()) { |
| 606 | if !file.is_empty() { |
| 607 | return Some(file.to_string()); |
| 608 | } |
| 609 | } |
| 610 | // For exploration nodes: detail.target |
| 611 | if let Some(target) = detail.get("target").and_then(|v| v.as_str()) { |
| 612 | if !target.is_empty() { |
| 613 | return Some(target.to_string()); |
| 614 | } |
| 615 | } |
| 616 | } |
| 617 | None |
| 618 | } |
| 619 | |
| 620 | /// Extract a command string from a verification node's detail. |
| 621 | fn extract_command(node: &GraphNode) -> Option<String> { |
no test coverage detected