Claus Ibsen created CAMEL-26483:
-----------------------------------
Summary: camel-jbang - AI tools: a field of the body a pollEnrich
replaced, a variable for ${property.x}, an exception class with no key, and no
trigger note for noErrorHandler
Key: CAMEL-26483
URL: https://issues.apache.org/jira/browse/CAMEL-26483
Project: Camel
Issue Type: Improvement
Components: camel-jbang, camel-yaml-dsl
Reporter: Claus Ibsen
Fix For: 4.24.0
Four answers of the AI tools gave a wrong fix in the r25 run of the local-model
benchmark (qwen3.6 35B on Ollama). Three of them came from our own r24 changes.
*A field of the body a pollEnrich replaced (route-enrich-and-dedupe step 2)*
After a pollEnrich of the customer file, the log read {{$\{body[orderId]\}}}, a
field of the order that the pollEnrich replaced. The answer (CAMEL-26412) said
to add unmarshal: json. Two runs did that, lost the order and failed. Now the
answer says that the pollEnrich replaced the body, and gives the fix:
variableReceive: customer on the pollEnrich, then unmarshal the variable in
place. The fields of the JSON files decide whose field it is: the AI tools now
also read the files of the directory a pollEnrich or a poll reads. When the
fields do not tell, both fixes are given. A field read on the body that is a
field of the file in a variable now points to that variable, such as
{{$\{variable.customer[name]\}}}.
*A variable for $\{property.x\} (run-order-generator step 1)*
Asked to set a variable, the model wrote setProperty and
{{$\{property.orderId\}}}, followed the hint {{$\{exchangeProperty.orderId\}}},
and failed (3 runs of 8, and in r24 and r23). The hint now says where the route
keeps the value: {{$\{variable.x\}}} for setVariable, {{$\{header.x\}}} for
setHeader. For setProperty, or when nothing sets it, it adds that Camel keeps a
value of the route in a variable.
*An exception class with no key (contracts-openapi-server step 3)*
An exception class written as a bare line under onException was told to become
a key with a value (CAMEL-26413). Under onException and doCatch a class name
now gets the two lines to write: exception: with the class as a list item.
*No trigger note for noErrorHandler*
The note that an error handler acts only on an exception (CAMEL-26412) also
showed on the noErrorHandler sample (7 answers). The kind asked for decides now.
_Filed by Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)