(hint: Option<ToolHint>)
| 89 | const HOOK_ANALYTICS_FILENAME: &str = "hook_analytics.jsonl"; |
| 90 | |
| 91 | fn research_block_reason(hint: Option<ToolHint>) -> String { |
| 92 | let base = crate::config::brand_env("RESEARCH_BLOCK_REASON") |
| 93 | .unwrap_or_else(|| TRACEDECAY_RESEARCH_BLOCK_REASON.to_string()); |
| 94 | hint.map_or_else( |
| 95 | || base.clone(), |
| 96 | |hint| format!("{}\n\n{}", base, format_tool_hint(&hint)), |
| 97 | ) |
| 98 | } |
| 99 | |
| 100 | fn record_hook_analytics(root: Option<&Path>, event: &str, mut fields: serde_json::Value) { |
| 101 | let Some(path) = hook_analytics_path(root) else { |
no test coverage detected