```json
[
  {"name": "normalize_pr_body", "tool": "function_body", "params": {"file_path": "ftl_project_expert/sources/github.py", "function_name": "_normalize_pr"}},
  {"name": "pullrequest_to_prompt_text", "tool": "function_body", "params": {"file_path": "ftl_project_expert/sources/__init__.py", "function_name": "to_prompt_text"}},
  {"name": "create_entry_body", "tool": "function_body", "params": {"file_path": "ftl_project_expert/cli.py", "function_name": "_create_entry"}},
  {"name": "emit_body", "tool": "function_body", "params": {"file_path": "ftl_project_expert/cli.py", "function_name": "_emit"}},
  {"name": "get_source_body", "tool": "function_body", "params": {"file_path": "ftl_project_expert/cli.py", "function_name": "_get_source"}},
  {"name": "has_reasons_body", "tool": "function_body", "params": {"file_path": "ftl_project_expert/cli.py", "function_name": "_has_reasons"}},
  {"name": "load_network_body", "tool": "function_body", "params": {"file_path": "ftl_project_expert/cli.py", "function_name": "_load_network"}},
  {"name": "invoke_sync_signature", "tool": "function_body", "params": {"file_path": "ftl_project_expert/llm.py", "function_name": "invoke_sync"}},
  {"name": "invoke_concurrent_sync_signature", "tool": "function_body", "params": {"file_path": "ftl_project_expert/llm.py", "function_name": "invoke_concurrent_sync"}},
  {"name": "gitlab_get_issue", "tool": "function_body", "params": {"file_path": "ftl_project_expert/sources/gitlab.py", "function_name": "get_issue"}},
  {"name": "jira_get_issue", "tool": "function_body", "params": {"file_path": "ftl_project_expert/sources/jira.py", "function_name": "get_issue"}},
  {"name": "research_tests", "tool": "related_test_files", "params": {"file_path": "ftl_project_expert/cli.py"}},
  {"name": "extract_issue_refs_callers", "tool": "find_usages", "params": {"symbol": "_extract_issue_refs"}},
  {"name": "github_get_issue_body", "tool": "function_body", "params": {"file_path": "ftl_project_expert/sources/github.py", "function_name": "get_issue"}}
]
```
