Evaluation diagnostics¶
explain(context) returns the evaluated value and the deterministic decision
path that produced it. This page summarizes the model at a lookup level.
Top-level fields¶
EvaluationDiagnostics<T> currently includes these fields.
| Field | Meaning |
|---|---|
namespaceId |
Namespace identity for the evaluation |
featureKey |
Feature key inside that namespace |
configVersion |
Version from ConfigurationMetadata, if present |
mode |
Evaluation mode used by the engine |
durationNanos |
Observability timing, not semantics |
value |
Final typed value returned by evaluation |
decision |
Closed set of evaluation outcomes |
Decision branches¶
The decision field is one of these branches.
| Branch | Meaning |
|---|---|
RegistryDisabled |
Namespace-wide kill switch forced the default |
Inactive |
Flag inactivity forced the default |
Rule |
A rule produced the winning value |
Default |
No eligible rule produced a value |
Rule matches¶
When the decision involves a rule, the diagnostics include a RuleMatch
wrapper with:
rule: the structured rule explanationbucket: theBucketInfoused for rollout reasoning
The rule explanation includes rollout, locale, platform, version, axis, and specificity metadata so you can inspect the matched path without re-running the rule logic manually.
Current caution¶
The diagnostics type is part of the current returned surface of explain(...),
but it is more operational than the core declaration APIs. Treat it as a
useful inspection model rather than the primary abstraction for application
logic.
Next steps¶
If you are validating local workflows around docs, builds, and release, the last reference page collects those commands.