I believe it uses just the voltage and current messages to integrate milliamp hours and evaluate watt hours.
In essence, just using it as a power module over UAVCAN, so to speak.
Seems the most foolproof way to do things without modifying much upstream when it comes to capacity reporting, but unfortunately sacrifices the feature of knowing a battery-dependent capacity anywhere within the discharge curve - it can only assume full charge at the beginning. This, of course, is merely my observation and I welcome correction if mistaken.
My other issue, having to do with the BatteryInfo message itself, is the lack of support for cell voltages. But that’s just a niche thing that very few use cases need - I do believe it to be helpful for smart batteries, where balancing leads are generally not exposed.