Fix sim results staleness check in Procedural Scheduling
Closed this issue · 1 comments
Description
The SimulationResults
interface in the aerie.procedural.timeline.plan
package has a function isStale()
, which is supposed to return true
if the sim results are stale/out-of-date compared to what's in the plan - ie. because the plan has changed and the simulation needs to be re-run - or false
if they're up to date.
The current implementation has a bug which causes isStale()
to always return false
(ie. not stale), which will cause problems for goals relying on this flag to know when the sim needs to be re-run.
@JoelCourtney is investigating. The fix is a bit more complicated than expected - due to the fact that scheduling goals may drop & re-create plans multiple times, it's not quite as simple as just checking the revision of the plan against the revision stored on the SimResults
object.