The application then makes an Allocation and if there is any energy flexibility available, it should be listed within Allocation. The appliance driver receives the Allocation and based on it can make a decision what is the optimal way to control the device. In this decision the user preferences are taken into account.
-- https://github.com/flexiblepower/fpai-documentation/edit/development/Architecture.md#L22
What does it mean for flexibility to be "available"? And why does the application just tell the device what to do? I thought flexibility based on user preference was handled at the application layer. This description suggests it is somehow done on the far side EFI device abstraction layer?!