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)

Reply via email to