davsclaus opened a new pull request, #29519: URL: https://github.com/apache/camel/pull/29519
[CAMEL-26792](https://issues.apache.org/jira/browse/CAMEL-26792): the feed of a chaos experiment is sent the way `camel cmd send` sends: to the endpoint the route starts from, with a producer. That reaches the route for `direct`, `seda`, a stub (`--stub=kafka`) and a broker. For the other routes the experiment failed with a producer error such as "Producer is not supported", which tells neither the AI nor the user what to do. Now `ChaosExperimentRun.checkFeed` (used by `camel cmd chaos-experiment`, the `chaos_experiment` tool of `camel ask` and the MCP tool) looks at the route the feed reaches. It classifies the route's input from the catalog: `consumerOnly` and the labels. | Route starts from | Now | |---|---| | timer, scheduler, cron, quartz | refused: "makes its own messages: leave the feed out" | | platform-http, rest, and other HTTP servers | refused: "an HTTP endpoint, which an experiment cannot feed yet: feed a route that calls it" | | other components that only consume (`master`, …) | refused with the reason | | a remote endpoint that is not stubbed (the chaos report has no `stubbedConsumer` for the route) | runs, with a **warning**: the messages go to the real system; use a local one (`camel infra run kafka`) or `--stub=kafka` | | direct, seda, stub, file | unchanged | The warning goes into the experiment's `warnings`, next to those of a rule that matches nothing, so the CLI prints it and the AI reads it. The status is read once for both checks. The playbook and the docs (camel-jbang-managing, "Chaos explorations") say so. Follow-ups, next PRs: feeding an HTTP route with HTTP requests to the integration's own server (replacing the "cannot feed yet"), and naming the files of a file feed. Tests: `ChaosExperimentRunTest` (`aRouteThatCannotBeFedSaysWhy`, `aFeedToARealSystemIsWarned`). 348 chaos and tool tests of camel-jbang-core green. **Stacked on #29514** (CAMEL-26788), which changed `checkFeed`. Retarget to main once that merges. _Claude Code on behalf of Claus Ibsen_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012nJsFsjqqFiwroeHRWaKbS -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
