WHEN: a user encounters an error message, infolog error, or runtime exception in D365. Also handles business-language error explanation when audienceType='business'. Triggers (developer): 'fix this error', 'what causes', 'exception thrown', 'infolog error', 'update conflict', 'outside tts', 'number sequence'. Triggers (business): 'what does this error mean', 'explain this error to me', 'user gets error X', 'que signifie cette erreur', 'message d\'erreur', 'what should the user do when they see this error'. Find known D365 F&O error patterns matching an error message or symptoms description. Matches against a built-in database of common errors (transaction conflicts, security issues, number sequences, posting errors, batch problems, etc.), resolves D365 label IDs from error text (e.g. user sees 'Number sequence not set up' -> finds @SYS70535 -> finds the throwing code), and searches the indexed codebase. Returns root causes, step-by-step resolution, label matches, and source code locations. [~] When the error text contains a D365 label ID (e.g. '@SYS12345'), call `search_labels` first to resolve the label text, then call this tool with the resolved text. Set audienceType='business' for a plain-language explanation targeted at end users instead of developers.