Skip to main content

Module planning

Module planning 

Source
Expand description

Planning a turn without performing it (spec §23 steps A–K).

An application migrating from another agent runs both paths on the same turns while the old one stays authoritative. TurnPlanner::plan runs steps A through K — accept, load and project, judge a card answer, issue tokens, understand, resolve, reduce and police — and stops before step L: no card, no journal entry, no event, no replay record is written. That is a property of the types: a planner holds ReadOnlyStores and loaders, never an executor.

SeededTurnPlanner takes the case state as input instead of loading it, so a recorded turn replays against the state that preceded it. Traffic routing and kill switches belong to the application; crate::divergence names what two paths disagreed about.

Structs§

PlannedTurn
What a turn would have done, stopped before its first effect.
SeededCase
A case handed to SeededTurnPlanner::plan instead of being loaded: the state a recorded turn preceded, in the erased form the registry boundary uses.
SeededTurnPlanner
Plans turns against state it is handed.
SeededTurnPlannerBuilder
Collects everything a SeededTurnPlanner needs.
TurnPlanner
Plans turns against live, read-only stores.
TurnPlannerBuilder
Collects everything a TurnPlanner needs.