This guide applies when an application uses structured transition learning. It is not a setup requirement for continuity, general Domain reasoning, the interval-policy contract, or every Adapt-1 workflow.
Ask this question: Which events can supply evidence for this query? Reserved API fields and configured paths have specified functions. Other field names do not define causal functions.
Transition setup
Setlearning.enabled: true and learning.transition.enabled: true. Declare the event type, input paths, and observable targets:
action_path only when the learned relationship includes an action. Add group_by_paths only when evidence must remain separated across incompatible public task or dataset contexts. Leave support, neighbor, distance, and retention controls at their defaults until the evidence contract requires a change.
Structured transition learning can coexist with ordinary policy feedback in one Domain. It can also be the only adaptive output in a Domain with no hypotheses. Use separate Domains when the input, target, or retention scopes should not mix.
Application data layers
Keep the complete operational record outside the learner view. This separation preserves provenance. It also lets you revise the Domain without exposing all recorded fields.
The application can send a feedback signal through a documented feedback route. Keep feedback separate from the learner view and the transition target.
Learner inputs
A learner input can include a relative offset, normalized state, proposed intervention, or operating mode. The application must calculate each input before the consequence occurs. Do not include the observed consequence, a hidden cause, the preferred action, or a solver label. Do not include a collision or boundary label calculated from the consequence. Use a boundary feature only if permitted observations independently supply that feature before the consequence. The initial state and proposed intervention can imply a physical configuration. Include that configuration if the application can calculate it before the consequence. Do not describe consequence data as an action feature.Event boundary
Make one eligible event for one declared input-to-target relationship. Use the same boundary for equivalent events. When the relationship includes an intervention, start from the last observation before that intervention and end at its declared observation point:Transition patterns
The same contract works across many application types:
These examples supply necessary observations. They do not supply the preferred choice or the observable target in advance.
This page covers the structured-transition learner that predicts declared observable targets from configured event inputs. An action is part of that input only when the declared relationship requires one. If the application instead needs policy scoring against a bounded public objective, use bounded transition scoring. The two relationships are different.
Support diagnostics
Evidence reuse
Event admission
The API can accept and store an event that the structured-transition learner does not accept. Do these checks before you use the result:- The API accepted the request and returned an event or memory ID.
- Every configured input, target, action, and grouping path was present with the expected type.
- The structured-transition learner accepted the sample.
- For one eligible and unique event,
sample_count_deltareports the specified increase. This value is usually1. - The learner-relevant model or subsystem version advanced exactly as the endpoint contract specifies.
After posting an event, inspect
learner_eligibility. accepted confirms that the event matched the configured learner view. rejection_reason and missing_paths explain rejected events. sample_count and model_version are learner-state diagnostics, not settings users must tune.Evidence-routing refinement
Start with observable inputs that have the correct numeric and categorical meanings. Examine returned evidence to find routing problems. Make the smallest necessary Domain change.- Normalize comparable quantities when an irrelevant scale controls neighbor selection.
- Add relative or invariant features when equivalent physical events are far apart.
- Add categorical action context when action identity changes the transition behavior.
- Add grouping only when evidence must not cross incompatible operating modes.
- Do equivalent events retrieve one another?
- Do arbitrary action labels prevent evidence reuse?
- Does the support set contain incompatible modes?
- Does the learner abstain when no eligible nearby experience exists?
Target structure
The target must preserve each observable distinction that the learner must predict. Use one object when the possible distinctions constrain one another. Keep the complete after-observation in the operational record. If effects are mutually exclusive, use one joint target. Independent coordinates can combine into an effect that cannot occur. For example:
A valid processed state can hide an invalid raw transition prediction. Keep both values available for application monitoring.
Abstention
required_support is one step in the support sequence. It does not fully define relevance. Use it with these controls:
Read predicted values only when the returned status is
predicted. When returned, support_count and evidence_memory_ids identify the supporting observations.
The API can select distant samples that have eligible group values. Use the documented distance control if the route supplies one. Otherwise, change the feature geometry or grouping. required_support alone does not control distance.
Read-only inspection
Use non-mutating Domain queries and/explain to examine a prediction, uncertainty, or an integration.
One use of this read-only pattern is counterfactual evaluation. An application can construct a fixed set of candidate interventions, query the learned transition state for each without adding evidence, and compare the predicted consequences before committing an action. The application still defines the candidates, selection rule, and execution boundary.
For a repeatable read, include the required query and grouping context. If the route supports these fields, disable exploration and memory-state updates:
/explain to the exact query or result ID if the route supports this connection. A later explanation can use a different evidence set. Assume identical evidence only if the endpoint contract guarantees it.
Keep both complete responses. Use the route schema to find each field. Different subsystems can put fields at different levels.
Use
/explain as specified in its route contract. For a read-only call, the documented learner-state hash and applicable versions must not change. Do not use a service hash unless the API defines that hash as learner state.
allow_exploration: false and update_memory_state: false control different functions. Disabled exploration does not prove that the read cannot change state. Use the endpoint contract and version checks together.Advanced: hypothesis evidence
Advanced: hypothesis evidence
Transition predictions do not automatically create hypotheses. A Domain with no configured candidates can return an empty hypothesis list.When the application needs hypotheses, use alternatives of equal status. The alternatives must:
- compete over the same relation.
- predict different observable consequences.
- can gain both supporting evidence and counterevidence.
- share the same schema and do not encode a preferred answer.
- use the events that distinguish them.
- Declare two or more alternatives with different observable predictions.
- Send ordinary application events that distinguish those alternatives.
- Read
/explainbefore adding feedback. - Confirm that supporting evidence or counterevidence changes with the observations.
- If the evidence does not change, do not combine transition output with hypothesis output. Treat a feedback-driven hypothesis route as a separate contract.
Evidence-routing troubleshooting
Advanced: autonomous structural learning
Advanced: autonomous structural learning
Configure Supported target types are
learning.structure when the Domain should induce compact predictive conditions or relations from accepted events without using an LLM:number, categorical, boolean, and set. Accepted events sent to POST https://rei-neuroadapt-api-uat.reilabs.org/api/v1/domains/{domain_id}/events update structural state; Domain query and explain can return induced_structure, and eligible induced hypotheses appear in ranked_hypotheses with origin: "induced".Structural output is predictive rather than proof of causality. The learner can abstain under weak or ambiguous support, and compatible transfer remains owner-scoped and requires local confirmation.Launch checklist
Before relying on a transition result, verify:- Store the operational record, learner view, and application-only context separately.
- Confirm that every derived learner feature is computable before the consequence.
- Keep one meaningful intervention inside each declared event boundary.
- Match numeric scale, position, and invariances to the transition behavior.
- Keep arbitrary numeric distance out of categorical values.
- Give
action_path, categorical inputs, and grouping separate functions. - Use grouping only to block incompatible transition behavior.
- Represent each legal observable consequence as one coherent target.
- Keep raw predictions and post-processed state separately inspectable.
- Verify learner admission instead of inferring it from event storage.
- Confirm that unsupported queries abstain and unrelated events cannot supply support.
- Preserve evidence identity, distance, disagreement, and abstention reasons.
- If the Domain uses hypotheses, make them distinguishable and document their evidence route.
- Confirm that read-only query and explanation calls leave learner state unchanged.