no llm called

The plan is derived, not written

An inbound-email triage agent built on Embabel 1.0.0. Nothing below declares the order of operations — no graph, no edge list, no state machine. Each step declares what it needs and what it yields, and an A* planner searches for a path to a goal. Move the confidence slider and watch the plan change.

Embabel 1.0.0 Java 21 Spring Boot 3.3 PlannerType.GOAP A* search 0 tokens

World state

These are the facts the planner reasons from. In production the classify action produces them; here you set them directly, which is what makes this page free to run.

0.93

Achievable plans

Returned by PlanLister.achievablePlans(...) — what the agent would do, computed without executing a single step.

Press “Derive plan”.

The threshold is confidence >= 0.75, declared once as a @Condition and referenced as a precondition on extractLead. There is no if statement anywhere in the agent deciding between replying and escalating.

Source, including the four tests that assert these derived paths: github.com/YuvarajAravindan-AI-Agent/embabel-email-triage-demo