[
https://issues.apache.org/jira/browse/CAMEL-25147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18120778#comment-18120778
]
Claus Ibsen commented on CAMEL-25147:
-------------------------------------
Design decisions (from discussion with davsclaus):
*1. Routes not placed in a capability*
They go in an "Other" box. Some routes do not need to be in the view at all
(see utility routes below).
*2. Shared and utility routes*
Not every route belongs to one capability, and some carry little business
meaning. Each route gets one of three roles:
* *capability* - part of exactly one business capability (as today).
* *shared* - used by routes in two or more capabilities, such as audit,
notification or enrichment. Derived from the sources (a route that routes in
several capabilities call or hand off to), not guessed. Shown once, as a
"Shared services" box or lane beside the capabilities, with the links from each
capability. It is not copied into each capability.
* *utility* - plumbing with little business value: logging, dead letter, error
handling, retries, housekeeping. Hidden by default. A toggle shows it, like an
"internal steps" switch. The AI can suggest this role, and simple signals from
the sources help: the route is only reached from onException or a dead letter
channel, or it only logs.
The prompt changes accordingly: each route is placed in one capability, or
marked shared or utility. The summary file records the role, AI-assisted roles
marked with the ✦.
*3. Route group from the source*
Agreed: when routes set group in the DSL, it wins over the AI grouping. Those
boxes are facts and are shown without the ✦ mark. The AI groups only routes
without a group.
_Claude Code on behalf of davsclaus_
> camel-jbang - TUI: capabilities view grouping the route topology by the AI
> project overview's business capabilities
> -------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-25147
> URL: https://issues.apache.org/jira/browse/CAMEL-25147
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang
> Reporter: Claus Ibsen
> Priority: Major
>
> Follow-up to CAMEL-25143 (AI project overview).
> CAMEL-25143 lets an AI group a project's routes into business capabilities
> (for example "Ticket intake & lookup", "AI triage & alerting"). These are
> saved in integration-summary.md, but today they only appear as text. This
> ticket adds a capabilities view in the TUI: a zoom level above the route
> topology, so a project with many routes stays readable instead of turning
> into a flat spaghetti diagram.
> h3. Proposal
> * A top level in the Diagram topology with one box per capability (typically
> 3-6).
> ** Capability names are drawn in the ai-assisted style with the ✦ mark, since
> the grouping is AI-assisted.
> ** Each box shows facts from the sources: its entry points (HTTP, schedules,
> consumers), the external systems it uses (Kafka, SQL, OpenAI, ...), how many
> routes it has, and any warnings from the findings.
> * Lines between boxes are the existing route links, merged per capability
> pair, labelled with the strongest kind (call, hand-off, event).
> * Enter on a box drills down to its routes in the existing topology, Esc goes
> back up: capability -> routes -> steps.
> * The CLI (camel overview) can print the same grouped view.
> Most of the data already exists: capabilities and their route lists in the
> summary, links, systems and findings from ProjectOverview. The work is mostly
> TUI layout and navigation; the existing topology layout engine can lay out
> capability boxes as nodes.
> h3. Open design questions
> * Routes the AI did not place in any capability: an "Other" box, or a finding?
> * Routes in more than one capability: the prompt currently asks for exactly
> one, which keeps it a strict tree.
> * A route group set in the source (the DSL group field): it should probably
> win over the AI grouping. Such boxes are facts and are then shown without the
> ✦ mark.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)