Currently, flow attributes are initialised in a new exchange in the implementation of the MessageExchangeFactory present in the container (petals-message-exchange).
Since most of the work around flow attributes is actually done in the CDK, it would be more coherent to move this initialisation in the CDK (at exchange creation).
Note:
There is code responsibility: for now flow attributes things are implemented in petals-log, petals-commons-log and petals-cdk-steplog
There runtime responsibility: for now flow attributes are initialised in messages in the container, and manipulated (transferred from message to execution context) in the CDK
This issue concerns the second point.
See also PETALSESBCONT-328.