Observed Decision Service
Opt-in observations for decision services, preserving the delegate's DECISION metadata snapshot. Classification emits one embabel.ai.classification observation; proposition assessment emits one embabel.ai.decision observation. Both carry only fixed operation and outcome tags. False is an answered outcome, just like true. Operational failures and exceptions use a fixed, stackless error marker with no cause. Original exceptions are rethrown unchanged and never logged. Thread interruption state is untouched. Non-fatal observation lifecycle exceptions use bounded diagnostics when logging is available and never replace service behavior. JVM error types propagate.
An ask emits one logical embabel.ai.ask observation plus one embabel.ai.decision observation per provider call made inside it: ask_question_set for a question-set call, and assess or rate for each proposition or rating question asked on its own. A choice question asked on its own goes through classify and emits one embabel.ai.classification observation. The capabilities are the delegate's. Preflight checks them against the hook interfaces of the delegate, so a delegate whose capabilities claim a hook it does not implement fails with an IllegalStateException before any provider call. Every ask overload runs through the shared execution path, so a delegate's own ask override is not called.
Constructors
Properties
Functions
Answers a request inside one embabel.ai.ask observation. Each provider call is a child observation. Preflight uses the delegate's capabilities and hooks.
Answers the questions of a spec against the given input. It behaves as ask with a request.
Runs the delegate's question-set call inside one ask_question_set observation.
Assess the proposition; a false answer is successful evidence, not an operational failure.
Runs the delegate's proposition question call inside one assess observation.
Returns the delegate's capabilities.
Classify text using only the request's category domain, returning evidence rather than routing policy.
Classifies text with a spec. Same as calling classify with ClassificationRequest.of(input, spec).
Pure DECISION metadata snapshot; never serialize a live service in place of this value.
Runs the delegate's rating call inside one rate observation.