A Domain declares the available history bound. It does not declare the answer or the predictive lag. Keep future observations, expert actions, labels, and post-outcome values outside the temporal input paths.
When TCP fits
Enable TCP when all of these conditions are true:- observations belong to a real episode, run, case, or trajectory;
- steps have a stable numeric order inside that boundary;
- one or more scalar inputs have useful recent history;
- the current decision can depend on an earlier input value;
- the application can preserve the same
episode_idand advancestepmonotonically.
Add TCP to the Domain
Use this TCP fragment as a starting point. Replace the input path and choose a history bound that matches the application.
Start with the smallest credible
maximum_lag. A larger bound increases input geometry, retained history, and the amount of evidence needed to distinguish useful lags.
Send ordered context on every decision
The episode and step belong in the same context envelope as the current observation.- Keep
episode_idstable while observations share one history. - Use a finite numeric
stepand increase it monotonically. - Start a new episode ID at the real boundary.
- Do not reuse one
(episode_id, step)for a different observation. TCP deduplicates that pair. - Keep path names and value types stable between query and feedback.
- Keep the same authenticated owner and
domain_idwhen learned state must carry across episodes. The hosted service resolves session identity from the bearer token.
Bind the observed outcome
Submit the measured consequence after the selected policy is committed. Reuse the decision-time context and identifiers.values.correct, or another measured field, into [0,1]. TCP supplies temporal context to the applicable learning paths. Feedback still supplies the observed value of the committed decision.
What TCP changes
The projected temporal view can affect:- contextual-memory matching;
- retained training snapshots;
- learned-model predictions;
- adaptive posterior source estimates;
- out-of-distribution detection;
- latent-belief state when that mechanism is enabled.
Inspect TCP in the response
Requestranked_hypotheses and learning_state while validating the integration. Preserve the full response before feedback.
Keep an application trace with these fields for every decision:
Verify TCP in your integration
Use a short controlled stream before production use:- Start with fresh Domain and session state.
- Send one episode with monotonic steps and known scalar inputs.
- Confirm that every query uses the intended episode and step paths.
- Submit one attributable outcome for each committed decision.
- Check that applicable sample counts and learner versions advance.
- Start a new episode and confirm that its history is isolated.
- Repeat selected queries with feedback disabled and confirm that learner-state fingerprints remain unchanged.
Failure checks
Before trusting TCP behavior, verify all of the following:- the resolved Domain retains
temporal_context.enabled: trueand the intended paths; - each input path resolves before the decision;
- steps are numeric and monotonic inside each episode;
- episode IDs change only at real boundaries;
- the retained sample budget covers representative histories;
- feedback is admitted by the policy learner, not only accepted by HTTP;
- a paired memoryless condition receives the same observations and outcomes;
- frozen evaluation sends no feedback and leaves learner-state fingerprints unchanged.
Choose how a Domain learns
Separate temporal state, immediate feedback, transition prediction, and delayed credit.
Sequential learning
Configure episode-aware action credit when outcomes belong to earlier decisions.
Use CUP
Learn which posterior sources and source pairs add predictive utility.
Verify adaptation
Compare cold, adaptive, and frozen behavior with state fingerprints.
