davsclaus opened a new pull request, #26633:
URL: https://github.com/apache/camel/pull/26633
## Description
Three shapes from the round-2 benchmark (series l2, 155 attempts of a local
model on the camel-jbang-examples ladder) that the schema validator rejected
with a message that did not say what to write, so a model or a person needs
another round or two to get past them. Three rows in `SchemaHints.PROPERTY`,
placed before the generic did-you-mean row:
- **`pollEnrich: {uri: ...}` / `enrich: {resourceUri: ...}`** (3 attempts, 3
examples; all three ran the file anyway and died at startup): the endpoint is
an expression, and the message now says so with the value echoed: `the endpoint
of pollEnrich is an expression: write pollEnrich: {expression: {constant:
{expression: "file:./order.json"}}}`.
- **`- steps:` as a grouping item inside a steps list, or `steps:` on an EIP
without a pipeline** (7 attempts): `steps: is the list of a route or of an EIP
that owns a pipeline (filter, split, choice, step); an EIP is an item of that
list, not a group inside it: move the items up one level, or use step: {id:
..., steps: [...]} for a named group`. This row also removes the `did you mean
'step'?` suggestion for the case, which led the model to the next shape.
- **EIP names directly under `step`**: `step is the Step EIP, a named group:
its EIPs go in its steps: list (step: {id: ..., steps: [- setHeader: ...]})`. A
replace row with a fixed text, so the errors for each EIP under one `step`
collapse into one line through the existing dedup instead of one "property 'x'
is not defined" per EIP.
The two existing steps rows (`steps` under `route`, an EIP name misplaced
under a pipeline owner) keep their messages; the new one matches what they do
not.
## Tests
`YamlValidatorPropertyHintTest`: one test per shape, run in classic and
canonical mode; the step case asserts exactly one message, the steps case
asserts no did-you-mean. All 129 validator tests green.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01Bp3538HRBPMQkb5ta9xRaj
--
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]