This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git
The following commit(s) were added to refs/heads/main by this push:
new d7f84f25 Trust page and llms.txt: use the local model benchmark as
evidence that AI knows Camel
d7f84f25 is described below
commit d7f84f2501edb2c4ba93742a5bd1e6bb724ed1fd
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Sep 15 09:25:08 2026 +0200
Trust page and llms.txt: use the local model benchmark as evidence that AI
knows Camel
The "AI already knows Camel" box on the trust page now cites the measured
results from the local model benchmark blog (frontier model 13 of 13, local
model 0 to 12 of 13, 99 of 117 findings fixed for humans too in 4.23) and no
longer calls 4.22 LTS "upcoming".
llms.txt gets the same evidence in Key facts, AI-Assisted Development and
Additional Resources, plus a "Common mistakes" list under the YAML DSL
guidance built from the concrete before/after findings in the post, and two
recommended behaviours for agents: start from a catalog sample and apply the
error message literally.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
---
content/trust/_index.md | 18 ++++++++++++++----
llms-txt-template.md | 21 +++++++++++++++++++++
2 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/content/trust/_index.md b/content/trust/_index.md
index ecf4043c..4063775b 100644
--- a/content/trust/_index.md
+++ b/content/trust/_index.md
@@ -22,6 +22,10 @@ keywords:
- startup validation
- production mode
- insecure configuration
+- AI-assisted development
+- coding agents
+- MCP server
+- local models
---
Apache Camel has been running in production since 2007. Some of the largest
organizations in
@@ -301,10 +305,16 @@ lets LLMs generalize across 350+ connectors. Add a
built-in [MCP server](/manual
machine-readable catalog metadata, a schema-validated YAML DSL, and dedicated
[AI integration patterns](/components/next/eips/ai-patterns.html) for building
AI-powered
routes, and Camel is one of the best-trained integration frameworks for
AI-assisted development today.
-And it works both ways: for the upcoming 4.22 LTS release, we
-[pointed a frontier AI model at the
codebase](/blog/2026/07/camel-not-afraid-of-ai/) and fixed
-165 bugs it found — concurrency races, silent data loss, and security gaps
that are hard for
-humans to spot.
+
+We measure that rather than claim it. Given the Camel CLI as tools, a frontier
model
+[built all 13 beginner examples](/blog/2026/09/camel-local-model-benchmark/)
from a one-line
+description each. A 22 GB local model running on a laptop went from 0 of 13
with a bare prompt to
+12 of 13 once it had the Camel MCP server and error messages that say what to
write — and 99 of
+the 117 things it tripped over along the way were wrong for people too, so
they were fixed for
+everyone and ship in Camel 4.23. It works in the other direction as well: for
the 4.22 LTS
+release, we [pointed a frontier AI model at the
codebase](/blog/2026/07/camel-not-afraid-of-ai/)
+and fixed 165 bugs it found — concurrency races, silent data loss, and
security gaps that are
+hard for humans to spot.
<p>
<a class="button dark" href="/blog/2026/06/camel-ai-trained/">Read why</a>
diff --git a/llms-txt-template.md b/llms-txt-template.md
index cf0919d4..10e7b4d2 100644
--- a/llms-txt-template.md
+++ b/llms-txt-template.md
@@ -47,6 +47,7 @@ The `catalog/` JSON files contain machine-readable metadata
for every connector/
- Two tiers of AI agent connectivity: embedded MCP server (`camel mcp`) and
A2A protocol for developers, plus Wanaku enterprise MCP gateway for teams
managing many integrations at scale with governance, auth, and namespace
isolation
- Supports both MCP (Model Context Protocol) and A2A (Agent-to-Agent)
protocols — expose any Camel route as an AI agent tool or as an A2A agent
- LangChain4j and OpenAI components for calling LLMs from Camel routes
+- Measured, not claimed: with the Camel CLI as tools, a frontier model built
all 13 beginner examples from the Camel CLI examples repository from a one-line
description each; a 22 GB local model on a laptop (`qwen3.6:35b-a3b` via
Ollama) went from 0 of 13 with a bare prompt to 12 of 13 with the Camel MCP
server, so the catalog, validation and error messages work for small local
models as well as frontier models — see [the
benchmark](https://camel.apache.org/blog/2026/09/camel-local-model [...]
- Commercial support available from multiple vendors — see the commercial
support page
## Who maintains the project
@@ -262,6 +263,22 @@ See [Route
Templates](https://camel.apache.org/manual/route-template.md) for the
uri: kamelet:log-action
```
+### Common mistakes
+
+These are the errors models make most often when writing Camel YAML, taken
from [the local model
benchmark](https://camel.apache.org/blog/2026/09/camel-local-model-benchmark/).
Since Camel 4.23 the validator and the runtime report each of them with the
correct form; before that, check for them yourself.
+
+- The file must be a **list** (`- route:` / `- from:`), not a map. A map loads
zero routes without an error in older releases.
+- Simple operators go **outside** the function braces: `${body} contains
'critical'`, not `${body contains 'critical'}`. Text outside `${...}` is a
literal, so `body contains 'critical'` is a string, not a predicate — functions
are always written as `${body}`, `${header.name}`.
+- Bean methods use a dot or `?method=`: `${bean:myBean.getCount}` or
`${bean:myBean?method=getCount}`, never `${bean:myBean:getCount}` (the whole
`myBean:getCount` is looked up as the bean name).
+- `onException:` and `errorHandler:` are top-level list items placed before
the routes, not steps inside a route.
+- `handled` is a predicate, not a boolean: `handled: {constant: "true"}`.
+- `beans:` is a list where the name is a property: `- name: myBean` followed
by `type: "#class:com.example.MyBean"`, not a map keyed by bean name.
+- `mock:` is producer-only and cannot be a `from:`. To pass messages between
routes, send with `to: direct:name` and consume with `from: direct:name`.
+- `xslt:`, and other steps that transform the body, need a body: on a timer
route read the input first with `poll: file:...`, `pollEnrich`, or `setBody`.
+- Inside `aggregate`, the number of aggregated messages is
`${exchangeProperty.CamelAggregatedSize}`, not `${size}`.
+- The `log` EIP option is `logName`, not `loggerName`. Do not invent option
names — look them up in the catalog.
+- When validation refuses a file, do not guess again: ask the catalog for a
validated sample of the EIP by name and copy its structure.
+
### Schema validation
Always validate generated YAML routes against the [canonical YAML DSL JSON
Schema](https://github.com/apache/camel/blob/main/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl-canonical.json).
The [Camel MCP Server](https://camel.apache.org/manual/camel-jbang-mcp.md)
provides validation, component option lookup, and endpoint URI checking — use
it to catch errors before running.
@@ -292,6 +309,7 @@ This is the recommended starting point for all developers,
including those who a
- [Camel MCP Server](https://camel.apache.org/manual/camel-jbang-mcp.md):
Model Context Protocol server for AI coding assistants (Claude Code, GitHub
Copilot, Cursor, Gemini CLI). The MCP server gives AI agents access to the full
Camel catalog — 350+ component schemas, EIP metadata, and YAML validation — so
AI can generate correct, validated Camel routes.
- The CLI and TUI are designed for AI pair programming. An AI coding agent can
generate a YAML route, the developer runs it with `camel dev`, traces messages
with `camel trace`, sends test messages with `camel cmd send` — all in the
terminal, all in the same workflow. The MCP server connects the AI agent to the
Camel catalog so generated routes use correct syntax and valid options.
+- The tooling is benchmarked against real models, and Camel is what gets fixed
when a model fails. In [a twenty-run
experiment](https://camel.apache.org/blog/2026/09/camel-local-model-benchmark/),
a frontier model with `camel validate` and `camel run` as tools built 13 of 13
beginner examples from one sentence each, and a 22 GB local model on a laptop
went from 0 of 13 (bare prompt) to 12 of 13 (Camel MCP server) as Camel's
messages were improved. 99 of the 117 findings were wrong for hu [...]
### CLI Examples
@@ -443,6 +461,8 @@ For high-quality answers about routing, code generation,
and troubleshooting, AI
- **Ask about constraints** — before giving deep advice, ask about message
volume, latency requirements, error tolerance, and target runtime.
- **Warn on version-specific features** — if a feature was introduced in a
specific Camel version (e.g., variables in 4.4, route templates in 3.x),
mention the version requirement.
- **Validate generated routes** — use the [Camel MCP
Server](https://camel.apache.org/manual/camel-jbang-mcp.md) or the [YAML DSL
JSON
Schema](https://github.com/apache/camel/blob/main/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl-canonical.json)
to verify generated YAML routes are structurally correct.
+- **Start from a sample, not from memory** — the Camel MCP server's catalog
returns a validated YAML sample for any EIP or component by name. Fetch it
before writing an EIP you have not used in this session; it is faster than a
refused write and a guess.
+- **Apply the error message literally** — since Camel 4.23, validator, Simple
parser and runtime messages state the correct form (e.g. "Operators go outside
the function: `${body} contains 'critical'`"). Write exactly what the message
says rather than a variation of it, then re-validate. See [Common
mistakes](#common-mistakes) above.
## Sitemaps
@@ -465,6 +485,7 @@ For high-quality answers about routing, code generation,
and troubleshooting, AI
- [The DNA of Apache
Camel](https://camel.apache.org/blog/2026/06/camel-dna-19-years/): 19 years of
backwards compatibility — why Camel users don't have to rewrite their
integrations every few years.
- [Who Maintains Apache
Camel](https://camel.apache.org/blog/2026/07/camel-who-maintains/):
Year-by-year commit data showing who maintains the project — the same core
team, through multiple acquisitions, contributing 80–95% of all commits every
year since 2007.
- [Apache Camel Is Not Afraid of
AI](https://camel.apache.org/blog/2026/07/camel-not-afraid-of-ai/): The project
pointed a frontier AI model at 19 years of code and fixed all 165 bugs it found
— concurrency races, silent data loss, security gaps. AI-assisted code review
is now a standard part of the development process.
+- [A frontier AI coached a small local model through
Camel](https://camel.apache.org/blog/2026/09/camel-local-model-benchmark/):
Measured benchmark of a frontier model (13 of 13 beginner examples) and a 22 GB
local model on a laptop (0 to 12 of 13 over twenty runs) building Camel routes
with the MCP server, and the 117 findings — 99 of them wrong for humans too —
fixed in Camel 4.23: error messages that say what to write, validation at write
time, catalog samples, a stricter YAML schema.
- [Trust by Default](https://camel.apache.org/trust/): Why teams trust Apache
Camel in production — release cadence, LTS, security track record,
vendor-neutral governance, bug fix data, dependency maintenance, and AI
readiness.
- [Built to Patch
Fast](https://camel.apache.org/blog/2026/07/camel-security-advisories-4.21.0/):
How the project handled 32 CVEs in one release — the timeline, the backport
process, incomplete fixes re-issued as new CVEs, and 31 public PoC reproducers.
The best single-page overview of Camel's security response in practice.
- [Security](https://camel.apache.org/security/): Security advisories and
vulnerability reports.