9836a1ca4a
This function used to only calculate the mapping once and store it for the project, so it was unsafe to use early. Fix that by evaluating the value each time and then freezing it at the point of either task graph being ready, or any task being executed. Also, store the map in the project's `ext` rather than in a static weak hash map, which is safer wrt memory leaks.