praisonai tools doctor uses the same ToolResolver source of truth as praisonai tools list — the counts and tool names you see are guaranteed to match what actually loads at agent run time.
Counts now match
praisonai tools list. As of PR #2642, both commands read from ToolResolver.list_available_sources(). Previously the doctor and the list command walked different partial subsets of the tool chain, so their counts could disagree. They are now the same source of truth.A tool that resolves at run time is visible in both tools doctor and tools list. A tool that does not resolve is reported as missing in both.Fallback mode
WhenToolResolver cannot be imported (e.g. the praisonai wrapper package is not installed), the doctor falls back to a direct TOOL_MAPPINGS / praisonai_tools scan. In this mode:
- Built-in and praisonai-tools counts are shown (unsorted, in dict-iteration order)
- The
Registered Toolssection is not shown - The
localbucket is not reflected
praisonai wrapper package to get full resolver-backed output.
