TramAI - governed AI workflows for Java and Kotlin

Testing & Observability

Reliable AI integration requires two things: deterministic validation before release, and clear runtime visibility after release. This section groups the guides that deliver both.

In This Section

GuideFocus
Testing TramAI CodeMock providers, failure simulation, the assertion DSL, and the shared contract TCKs
ObservabilityOpenTelemetry spans, metrics, token tracking, and workflow-level visibility
CI IntegrationRunning deterministic AI tests in a pipeline, and the gate set TramAI itself enforces

When To Start Here

Start here when you already understand the core APIs and want confidence, traceability, and operational visibility around them.

What 0.6.0 Changed Here

Two things are worth knowing before you read on:

  • Contract TCKs now ship. tramai-testing contains ProviderTck plus the shared store TCKs (approval, continuation, audit, suspended invocation, checkpoint, lease, chat memory, ops outbox), and enrolment is architecture-enforced. If you implement a provider or a store, the TCK is the contract.
  • tramai-observability stays optional at the dependency level. If you do not add the module, TramAI runs with zero OpenTelemetry dependencies. Event, attribute, and metric names are declared in RuntimeEventCatalogue, so they are a stable contract rather than an implementation detail.

If You Are Extending TramAI

The testing surfaces back the extension points directly:

You are addingStart with
A provider adapterAdding a Provider, then Custom Providers
A persistence storeAdding a Store
A runtime eventAdding an Event
An interceptor or observerCustom Interceptors, Custom Observers

Next Steps