At the moment we pass an internal object from mistral to mistral-lib. We should provide some sort of abstraction and documentation of this object. This would allow us to change it in Mistral as we need - because it is internal and still provide a stable interface with mistral-lib.
Full details:
This bug is based on the comments on https://review.openstack.org/#/c/411412/12/mistral_lib/actions/base.py
Renat: I think it'd be cool to have a class Context (or ActionContext) with well defined and documented structure residing in mistral-lib too. And this doc could have a reference to this class so that users could go and easily see what's available in the context.
Dougal: +1, this would also be useful for testing as I could make a fake context using the class in mistral-lib. It would also allow us to change the context in Mistral (as it is internal) and only need to update the class in mistral-lib that abstracts it. Currently we expose an internal object.
@Dougal, can we close it?