Fork the prediction at the end of the psychohistory #1569
Merged
+75
−67
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We don't really understand what's happening in #1561: the prediction starts after the current time of the plugin, which is rather mysterious (I have a hunch that the code that "forgets before" the prediction has something to do with the problem).
By forking the prediction at the end of the psychohistory, I am ensuring (1) that the prediction can be evaluated at times that are covered by the psychohistory and history; and (2) that the management of predictions is better encapsulated in class
Vessel
. The latter should ultimately make it possible to compute the prediction asynchronously and address #761.I am going to mark #1561 as fixed for now. Hopefully if it ever comes back it will be clearer how/where invariants are violated.