davsclaus opened a new pull request, #29358:
URL: https://github.com/apache/camel/pull/29358

   [CAMEL-26699](https://issues.apache.org/jira/browse/CAMEL-26699): fixes for 
what a hands-on round of the chaos screen turned up, using a small demo shop.
   
   **camel-chaos**
   - An expectation keeps counting after it is decided, until its time is up. 
The outcome still never changes once decided (by design). Before, 
`expect=orders:handled<=0` stayed at "1 handled" while the rule's effect and 
the route counts said 6. Now the reason says "6 exchanges handled ..., at most 
0 expected". `lost` is unaffected: it only reads the count of an unmet 
`completed` expectation, which was never decided early.
   
   **Terminal UI, chaos screen**
   - **Poll targets:** "Polls fail" / "Polls are skipped" and `!` offer only 
consumers that poll on a schedule. The consumers console marks a timer 
`scheduled` as well, but `at=poll` hooks only a scheduled poll consumer, which 
is the one that has a `schedulerClass`. The rule check already warned about a 
timer; the form no longer offers it.
   - **Pick order:** the endpoints are offered as remote calls first, then the 
sends within the integration, then the endpoints only an error handler sends 
to. The dead letter channel came first before, and now comes last: it has a 
producer in every route but no `out` endpoint, and it has a recipe of its own. 
The reply side of `platform-http` (an `out` endpoint that a route consumes) is 
no longer offered as a send.
   - **FAULT** is shown in a few words, as the report says it: `error status 
503`, `error ConnectException`, `delay 300ms..800ms`, `stop 5s ×3 every 20s`. A 
flapping rule was cut to `lifecycle action=stop duration=5`. The full rule 
stays in the title of the detail panel.
   - **EFFECT:** the in-flight mark is now `◷` instead of `…`, because `62↩ 1…` 
read like cut text. The column is as wide as its counts need.
   - **Poll rules** show their effect: `12 polls failed` in the table, and in 
the detail "12 polls failed: the consumer polls again on its schedule". Before, 
it was empty.
   - **What a delay costs:** the detail lists the routes of the rule's recent 
faults with their mean, p95, p99 and throughput. A delay's EFFECT is 
"completed", while the cost shows in the route times.
   - **Recent faults:** an exchange faulted again on its redeliveries is shown 
once, with `×N`.
   
   **Terminal UI, MCP**
   - A tab can say that Esc only cancels its confirm 
(`MonitorTab.isConfirmCancelledByEsc()`); only the Chaos tab does. Then a lone 
Esc from `tui_send_keys` gets through, so an AI can close a confirm it opened; 
before, it stayed until a person pressed Esc. Every other key, and Esc for 
every other dialog, is still dropped (CAMEL-25444). The guard is unchanged for 
the dialogs where Esc means another answer, such as an AI edit waiting to be 
saved.
   
   Not in this PR: `!` after `tui_navigate` to a Diagram node took the route 
entry once. I could not reproduce it reliably to find the cause, so it stays 
open on the JIRA.
   
   **Tests**
   - camel-chaos: `aDecidedExpectationCountsOnUntilTheTimeIsUp`. All 651 
camel-chaos tests pass.
   - TUI: pick order and poll targets (`ChaosRecipesTest`), short fault, poll 
effect, in-flight mark, grouped faults and the routes line 
(`ChaosTabRenderTest`), and Esc (`ConfirmationsTest`). All 2330 TUI module 
tests pass. `LaunchManagerOutcomeTest` failed once and passed on the rerun; 
it's unrelated.
   - Live: the demo with 4 rules (step error, file poll error, a delay on the 
HTTP stock call, a flapping shipping route) in a TUI built from this branch.
   
   _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]

Reply via email to