Claus Ibsen created CAMEL-26821:
-----------------------------------
Summary: camel-jbang - explain a failure: why an error, a lost
message or a chaos experiment happened, from the Good to know rules, with AI on
Shift+F8
Key: CAMEL-26821
URL: https://issues.apache.org/jira/browse/CAMEL-26821
Project: Camel
Issue Type: New Feature
Reporter: Claus Ibsen
Assignee: Claus Ibsen
Explain a failure in plain words: why it happened, what it means in production,
and the choices to fix it. This covers any failure of a Camel integration, not
only chaos:
* a failed exchange on the Errors tab or the Timeline of the TUI, {{camel get
errors}}, and the MCP tools {{camel_get_errors}} and {{camel_error_diagnose}};
* messages lost or duplicated between two routes;
* a chaos experiment that made it happen on purpose (let there be chaos,
CAMEL-26760). This is stage 2 of the start dialog of the TUI (PR #29577), whose
results confuse a new user: {{inbox->ship:lost<=0: unmet, 39 lost}} says what
broke, not why.
Design sketch (Shift+F8 on the Explore view, the facts it uses, the "why" line
without AI): https://claude.ai/artifact/RrgdyNZE5oejbiXvbUFtnd
How:
* The "why" is the Good to know rule (CAMEL-26716, design PR #29554, section
"Explaining a failure") whose {{outcome}} the failure is. Without an AI, it is
one line next to the error or the unmet expectation.
* With an AI (F8), Shift+F8 explains from the rule, its facts and what was seen
(counts, exception, message history), and offers the {{choices}} of the rule.
The user decides; the fix is validated before it is shown. Then {{e}} edits
with the fix, {{r}} runs the chaos rule again, and {{t}} makes it a test.
* The TUI works out the facts, and there is one small prompt per kind of
outcome, so a small local model can write it.
* When no rule matches, the explanation says it is less certain. Each such
failure is a rule the file does not have yet.
Needs from CAMEL-26716: the {{receiver}}, {{outcome}}, {{impact}} and
{{choices}} fields of the rules, the {{onSuccess}} fact, redelivery in the
{{errorHandler}} condition, and transient or permanent per exception and HTTP
status in the catalog.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)