Hi Gabriele,

Assuming "drools-experimental" repo is created, I think your point is
its maintenance policy and CD/CI policy. Could you share your thoughts
on this? (e.g., Should the artifacts be released to maven repo? Should
"drools-experimental" repo CI be executed as downstream CI of "drools"
PR?)

Thanks!
Toshiya

On Wed, Mar 4, 2026 at 5:23 PM Gabriele Cardosi
<[email protected]> wrote:
>
> Alex, TOshiya, from my POV the idea of "experimental folder" introduce a
> logical and practical inconsistence, with downfall issues:
> 1. from logical POV, it would mean that there would be "stable" (mean -
> production ready) modules and code mixed with "unstable" (mean
> experimental) code experimental
> 2. there would be no way to avoid the latter impacting the former, whatever
> problem may arise (dependency clashes, CVE, bugs)
> 3. at ci level, the only way to differentiate a "stable" build with the
> experimental one would be to create/duplicate CI scripts so that, e.g.
> there would be a PR build that excludes the experimental module and another
> one that include them (or, some similar "hack") that, again, would be much
> more cumbersome to maintain
>
> There is no "easy" solution, IMO, but the constant look for "easy solution"
> always leads to "workarounds" that, soon after being implemented, proved to
> be problematic to maintain.
> Complex problems require complex solutions to be properly addressed and,
> sorry, but the idea of an "experimental folder" mixed in the very same
> "production-ready" code seems very naive to me.
>
> Cheers
>
> Gabriele
>
>
>
>
> On Wed, Mar 4, 2026 at 3:13 AM Alex Porcelli <[email protected]> wrote:
>
> > The problem of your suggestion Gabriele is the CI complexity it introduces,
> > being experimental or whatever.. I'd argue once accepted it should be
> > released.. and this also require being part of release automation.
> >
> > We are already struggling with current complexity in place - see the email
> > I sent early today about 10.2.0 release that I'm sure Kennedy is fighting
> > hard.
> >
> > +1 for the experimental folder, I think Toshyia provided a very good
> > initial framework we can start with.. and probably in a point in time we
> > may want to refine it.
> >
> > Subhanshu, in the meantime while we discuss these topics in parallel, I
> > submitted a PR review… so please continue refining it.. don't get this
> > helpful and healthy discussion distract you from your contribution. Thank
> > you again!
> >
> > -
> > Alex
> >
> >
> >
> > On Mon, Mar 02, 2026 at 3:32 AM, Gabriele Cardosi <
> > [email protected]> wrote:
> >
> > > Hi all,
> > > one of the critical aspects with introducing new features, IMO, it is to
> > > avoid that "main" branches ends up containing unused code (we already
> > have
> > > a certain amount of that) that, anyway, we have to maintain, in terms of
> > > security, library compatibility, etc.; basically, it will also impact the
> > > CI build, with all consequent issues (see: clashing libraries versions,
> > > framework upgrade hassle, etc).
> > > Creating a specific directory inside the main branch does not solve any
> > of
> > > such problems (the name of a directory is just a human convention). In
> > the
> > > past I also remember the usage of "experimental" flags but, again, this
> > > won't solve the above.
> > > So, I would like to propose two different approaches, to both simplify
> > the
> > > introduction of new features from any contributor, on one side, and keep
> > > integrity of our build, on the other side:
> > > 1. a specific branch
> > > 2. a specific repo
> > >
> > > I've not a strong opinion about any of the two. Anyway, with either of
> > > those in place, maybe we would already have, in community, some code
> > that,
> > > in the past, has been pushed back due to lack of clear understanding and
> > > other uncertainty.
> > > And, again with that in place, that Opentelemetry feature would be easily
> > > included in our domain.
> > > (side-note: this is exactly the approach that has been followed by me, in
> > > the past, after internal discussion with the so-called "drools" team).
> > >
> > > M2C
> > >
> > > Cheers
> > >
> > > On Mon, Mar 2, 2026 at 8:24 AM Toshiya Kobayashi <toshiyakobayashi@gmail.
> > > com> wrote:
> > >
> > > Also, having a `contrib/experimental` area can help reduce maintenance
> > > costs. For example, it could include disclaimers such as:
> > >
> > > - Experimental APIs may change in future releases.
> > > - Experimental features may be removed in future releases.
> > > - Experimental features must not block a release. For example, if an
> > issue
> > > is found in an experimental feature during the release process, we may
> > > choose to disable that feature for the current release.
> > >
> > > This is just a proposal. I’d be happy to hear your thoughts.
> > >
> > > Toshiya
> > >
> > > On Fri, Feb 27, 2026 at 11:20 AM Toshiya Kobayashi
> > > <[email protected]> wrote:
> > >
> > > Thank you for moving this topic forward, Alex.
> > >
> > > I agree that criteria are required.
> > >
> > > What do you think would be reasonable criteria to establish?
> > >
> > > Here is a quick draft. Opinions are welcome:
> > >
> > > (Creation)
> > > - A new feature module should default to contrib/experimental (not
> > limited
> > > to new contributors).
> > > - If a developer wants to place the module elsewhere from the beginning,
> > > they should start a thread on the dev mailing list (dev ML). If there are
> > > no objections, it is accepted. If there are objections, a vote will be
> > held
> > > (Simple Majority vote: https://www.apache.org/foundation/glossary.
> > > html#SimpleMajority).
> > >
> > > (Promotion)
> > > - If anyone wants to promote the module to a different location, they
> > > should start a thread on the dev ML. If there are no objections, it is
> > > accepted. If there are objections, a vote will be held (Simple Majority
> > > vote).
> > >
> > > * These criteria do not apply to the creation of modules that are not new
> > > features (e.g., refactoring modules).
> > >
> > > Regards,
> > > Toshiya
> > >
> > > On Fri, Feb 27, 2026 at 2:18 AM Alex Porcelli <[email protected]> wrote:
> > >
> > > Subhanshu,
> > >
> > > Thank you for the contribution, it's great idea. I'll take some time to
> > > review soon.
> > >
> > > Now I'm sorry to hijack the thread….
> > >
> > > Toshiya-san,
> > >
> > > The idea to have contrib/experimental makes total sense, but it misses
> > > criteria. Lots of features have been added by new contributors without
> > >
> > > such
> > >
> > > experimental or contrib labels.
> > >
> > > I'm absolutely in favor of exploring this idea, but we need to define a
> > > fair criteria for when a thing is flagged as contrib/experimental and
> > > what's the criteria to promote it out of that status.
> > >
> > > Otherwise we risk creating inconsistency in how we treat contributions,
> > > especially since we've accepted feature additions at the top level in
> > >
> > > the
> > >
> > > recent past.
> > >
> > > What do you think would be reasonable criteria to establish?
> > >
> > > -
> > > Alex
> > >
> > > On Wed, Feb 25, 2026 at 11:15 PM, Toshiya Kobayashi < toshiyakobayashi@
> > > gmail.com> wrote:
> > >
> > > Hi Subhanshu,
> > >
> > > Thank you for the contribution!
> > >
> > > The module looks good and will add value to the use cases you
> > >
> > > mentioned.
> > >
> > > My concern is that `drools-opentelemetry` looks like a feature built
> > >
> > > on
> > >
> > > top of the Drools engine, so it may not be appropriate to place it
> > >
> > > at the
> > >
> > > top level of the `drools` repository. Maybe we could have an umbrella
> > > directory like `drools-contrib` or `drools-experimental`. Does
> > >
> > > anyone have
> > >
> > > thoughts?
> > >
> > > Toshiya
> > >
> > > On Wed, Feb 25, 2026 at 8:42 PM Francisco Javier Tirado Sarti
> > > <[email protected]> wrote:
> > >
> > > Hi,
> > > Nice addition.
> > > Although not completely related, I think it is worth mentioning that
> > >
> > > there
> > >
> > > is already some OpenTelemetry usage in the kogito-runtimes
> > >
> > > repository. Here
> > >
> > > <https://github.com/apache/incubator-kie-kogito-runtimes/tree/main/
> > > quarkus/addons/opentelemetry> node
> > > listeners are used to trace the progress of the Workflow. I do not
> > >
> > > think
> > >
> > > it will conflict with what you are planning to do (If I understood
> > > correctly, you are adding OpenTelemetry only to the rule engine)
> > >
> > > Also,
> > >
> > > since Quarkus's POM handles OpenTelemetry dependencies, we are good
> > >
> > > on that
> > >
> > > too.
> > >
> > > On Wed, Feb 25, 2026 at 12:37 AM Subhanshu Bansal <
> > >
> > > subhanshu.bansal5566@
> > >
> > > gmail.com> wrote:
> > >
> > > Hi Everyone,
> > >
> > > I have opened a PR to implement support for OpenTelemetry for Drools.
> > >
> > > PR: https://github.com/apache/incubator-kie-drools/pull/6595
> > >
> > > This is a separate module and why I used Open Telemetry specifically
> > >
> > > is
> > >
> > > because it gives you production visibility into how your Drools
> > >
> > > rules are
> > >
> > > actually behaving in a running system. Here’s what that means
> > >
> > > concretely
> > >
> > > for this project:Distributed TracingWhen rules execute inside a
> > > microservice, the TracingAgendaEventListener creates spans that
> > >
> > > connect to
> > >
> > > your existing traces. If a REST request hits your service, triggers
> > >
> > > rule
> > >
> > > evaluation, and then calls a downstream service, you get one unified
> > >
> > > trace
> > >
> > > showing exactly which rules fired, how long each took, and what
> > >
> > > facts were
> > >
> > > involved. Without this, Drools is a black box inside your trace —
> > >
> > > you see
> > >
> > > the request enter and leave, but nothing about the decision logic in
> > > between.Metrics for Production MonitoringThe
> > >
> > > MetricsAgendaEventListener
> > >
> > > exposes counters and histograms that flow into whatever backend you
> > >
> > > already
> > >
> > > use (Prometheus, Datadog, Grafana, etc.). This lets you:
> > >
> > > - Alert when a rule suddenly fires 10x more than usual (possible data
> > > issue or regression)
> > > - Dashboard rule firing latency to catch performance degradations
> > >
> > > before
> > >
> > > users notice
> > > - Compare rule firing patterns across deployments (did the new rule
> > > version change behavior?)
> > >
> > > Why OpenTelemetry specifically (vs. the existing Micrometer in
> > > drools-metric)The existing drools-metric module focuses on internal
> > > node-level constraint evaluation metrics via Micrometer.
> > >
> > > OpenTelemetry adds
> > >
> > > a different dimension with metrics and tracing.
> > >
> > > The key differentiator is correlation. When a customer complaint
> > >
> > > comes in,
> > >
> > > an SRE can search traces by the request ID, see exactly which rules
> > >
> > > fired
> > >
> > > during that request, how long each took, and what facts were
> > >
> > > inserted — all
> > >
> > > without adding any logging or redeploying. That’s the operational
> > >
> > > benefit
> > >
> > > that the existing drools-metric module doesn’t address.
> > >
> > > I am open to all the suggestions. Feel free to reach out.
> > >
> > > Thanks!
> > >
> > > --------------------------------------------------------------------- To
> > >
> > > unsubscribe, e-mail: [email protected] For additional
> > > commands, e-mail: [email protected]
> > >
> > > --------------------------------------------------------------------- To
> > > unsubscribe, e-mail: [email protected] For additional
> > > commands, e-mail: [email protected]
> > >
> > >
> >

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to